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

Kieran Bingham kieran.bingham at ideasonboard.com
Sun Jul 12 21:46:16 CEST 2020


Hi Laurent,

On 12/07/2020 15:44, 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.
> 

I guess as the previous two patches are not yet integrated, you could
equally just merge  4/4 into 1/4 before and then it wouldn't fail ...

But given the patches were done at different times, I can understand why
you've built this on top :-)


Still,

Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
>  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
--
Kieran


More information about the libcamera-devel mailing list