diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-07-12 17:30:00 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-07-15 19:06:47 +0300 |
commit | aca22bc73a10003d26f6c4f4ecdec7ba54910a00 (patch) | |
tree | 1f8feea74d1acbe7e2cce38d1a0b3b8446df6b51 /test | |
parent | 7e1c153c223b47e4d4308a128da185bc9e4b7bba (diff) |
test: file: Add file creation test
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@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Diffstat (limited to 'test')
-rw-r--r-- | test/file.cpp | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/test/file.cpp b/test/file.cpp index 7688a9dc..f458f355 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; |