[libcamera-devel] [PATCH 3/4] test: file: Add file creation test

Niklas Söderlund niklas.soderlund at ragnatech.se
Mon Jul 13 08:58:01 CEST 2020


Hi Laurent,

Thanks for your work.

On 2020-07-12 17:44:18 +0300, Laurent Pinchart wrote:
> Add a test to verify file creation with File::open(). The test is
> expected to fail as the File::open() implementation is not correct.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>

> ---
>  test/file.cpp | 28 ++++++++++++++++++++++++++--
>  1 file changed, 26 insertions(+), 2 deletions(-)
> 
> diff --git a/test/file.cpp b/test/file.cpp
> index 7688a9dc224a..f458f355ccad 100644
> --- a/test/file.cpp
> +++ b/test/file.cpp
> @@ -31,6 +31,7 @@ protected:
>  			return TestFail;
>  
>  		close(fd);
> +		unlink(fileName_.c_str());
>  
>  		return TestPass;
>  	}
> @@ -191,14 +192,37 @@ protected:
>  
>  		file.close();
>  
> +		/* Test file creation. */
> +		file.setFileName(fileName_);
> +
> +		if (file.exists()) {
> +			cerr << "Temporary file already exists" << endl;
> +			return TestFail;
> +		}
> +
> +		if (file.open(File::ReadOnly)) {
> +			cerr << "Read-only open succeeded on nonexistent file" << endl;
> +			return TestFail;
> +		}
> +
> +		if (!file.open(File::WriteOnly)) {
> +			cerr << "Write-only open failed on nonexistent file" << endl;
> +			return TestFail;
> +		}
> +
> +		if (!file.exists()) {
> +			cerr << "Write-only open failed to create file" << endl;
> +			return TestFail;
> +		}
> +
> +		file.close();
> +
>  		/* Test read and write. */
>  		std::array<uint8_t, 256> buffer = { 0 };
>  
>  		strncpy(reinterpret_cast<char *>(buffer.data()), "libcamera",
>  			buffer.size());
>  
> -		file.setFileName(fileName_);
> -
>  		if (file.read(buffer) >= 0) {
>  			cerr << "Read succeeded on closed file" << endl;
>  			return TestFail;
> -- 
> Regards,
> 
> Laurent Pinchart
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

-- 
Regards,
Niklas Söderlund


More information about the libcamera-devel mailing list