fuse unit tests and fixes
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
This commit is contained in:
parent
bb8ff0de59
commit
74496016f0
@ -104,6 +104,51 @@ TYPED_TEST(fuse_test, rdrw_can_read_from_offset_after_eof) {
|
||||
|
||||
this->unlink_file_and_test(file_path);
|
||||
}
|
||||
|
||||
TYPED_TEST(fuse_test, rdrw_can_not_write_to_ro_file) {
|
||||
std::string file_name{"create_test"};
|
||||
auto file_path = this->create_file_and_test(file_name);
|
||||
|
||||
auto handle = open(file_path.c_str(), O_RDONLY);
|
||||
ASSERT_GT(handle, -1);
|
||||
|
||||
auto write_buffer = utils::generate_secure_random<data_buffer>(8096U);
|
||||
auto bytes_written =
|
||||
pwrite64(handle, write_buffer.data(), write_buffer.size(), 0U);
|
||||
EXPECT_EQ(-1, bytes_written);
|
||||
EXPECT_EQ(EBADF, errno);
|
||||
|
||||
auto file_size = utils::file::file{file_path}.size();
|
||||
EXPECT_TRUE(file_size.has_value());
|
||||
EXPECT_EQ(0U, *file_size);
|
||||
|
||||
close(handle);
|
||||
|
||||
this->unlink_file_and_test(file_path);
|
||||
}
|
||||
|
||||
TYPED_TEST(fuse_test, rdrw_can_not_read_from_wo_file) {
|
||||
std::string file_name{"create_test"};
|
||||
auto file_path = this->create_file_and_test(file_name);
|
||||
|
||||
auto handle = open(file_path.c_str(), O_WRONLY);
|
||||
ASSERT_GT(handle, -1);
|
||||
|
||||
auto write_buffer = utils::generate_secure_random<data_buffer>(8096U);
|
||||
auto bytes_written =
|
||||
pwrite64(handle, write_buffer.data(), write_buffer.size(), 0U);
|
||||
EXPECT_EQ(write_buffer.size(), bytes_written);
|
||||
|
||||
data_buffer read_buffer(1U);
|
||||
auto bytes_read =
|
||||
pread64(handle, read_buffer.data(), read_buffer.size(), idx);
|
||||
EXPECT_EQ(-1, bytes_read);
|
||||
EXPECT_EQ(EBADF, errno);
|
||||
|
||||
close(handle);
|
||||
|
||||
this->unlink_file_and_test(file_path);
|
||||
}
|
||||
} // namespace repertory
|
||||
|
||||
#endif // !defined(_WIN32)
|
||||
|
Loading…
x
Reference in New Issue
Block a user