mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-08 11:59:48 -04:00
test: add filesystem read error tests
This commit is contained in:
parent
27ac296248
commit
c322708a7b
@ -37,6 +37,7 @@
|
||||
|
||||
#include "dwarfs/filesystem_v2.h"
|
||||
#include "dwarfs/history.h"
|
||||
#include "dwarfs/iovec_read_buf.h"
|
||||
#include "dwarfs/logger.h"
|
||||
#include "dwarfs/util.h"
|
||||
#include "dwarfs_tool_main.h"
|
||||
@ -2020,3 +2021,26 @@ TEST(mkdwarfs_test, recoverable_errors) {
|
||||
::testing::HasSubstr("filesystem created with 2 errors"));
|
||||
}
|
||||
}
|
||||
|
||||
TEST(mkdwarfs_test, filesystem_read_error) {
|
||||
mkdwarfs_tester t;
|
||||
EXPECT_EQ(0, t.run("-i / -o -")) << t.err();
|
||||
auto fs = t.fs_from_stdout();
|
||||
auto iv = fs.find("/somedir");
|
||||
ASSERT_TRUE(iv);
|
||||
EXPECT_TRUE(iv->is_directory());
|
||||
EXPECT_EQ(-1, fs.open(*iv));
|
||||
{
|
||||
char buf[1];
|
||||
EXPECT_EQ(-EBADF, fs.read(iv->inode_num(), buf, sizeof(buf), 0));
|
||||
}
|
||||
{
|
||||
iovec_read_buf buf;
|
||||
EXPECT_EQ(-EBADF, fs.readv(iv->inode_num(), buf, 42, 0));
|
||||
}
|
||||
{
|
||||
auto res = fs.readv(iv->inode_num(), 42, 0);
|
||||
EXPECT_FALSE(res);
|
||||
EXPECT_EQ(-EBADF, res.error());
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user