Add LargeFiles test.
This commit is contained in:
parent
4ef4933536
commit
33d1dfec0e
@ -122,6 +122,30 @@ TEST(Port, SparseFiles) {
|
|||||||
td::unlink(path).ensure();
|
td::unlink(path).ensure();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(Port, LargeFiles) {
|
||||||
|
td::CSlice path = "large.txt";
|
||||||
|
td::unlink(path).ignore();
|
||||||
|
auto fd = td::FileFd::open(path, td::FileFd::Write | td::FileFd::CreateNew).move_as_ok();
|
||||||
|
ASSERT_EQ(0, fd.get_size().move_as_ok());
|
||||||
|
td::int64 offset = static_cast<td::int64>(3) << 30;
|
||||||
|
if (fd.pwrite("abcd", offset).is_error()) {
|
||||||
|
LOG(ERROR) << "Writing to large files isn't supported";
|
||||||
|
td::unlink(path).ensure();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
fd = td::FileFd::open(path, td::FileFd::Read).move_as_ok();
|
||||||
|
ASSERT_EQ(offset + 4, fd.get_size().move_as_ok());
|
||||||
|
td::string res(4, '\0');
|
||||||
|
if (fd.pread(res, offset).is_error()) {
|
||||||
|
LOG(ERROR) << "Reading of large files isn't supported";
|
||||||
|
td::unlink(path).ensure();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ASSERT_STREQ(res, "abcd");
|
||||||
|
fd.close();
|
||||||
|
td::unlink(path).ensure();
|
||||||
|
}
|
||||||
|
|
||||||
TEST(Port, Writev) {
|
TEST(Port, Writev) {
|
||||||
td::vector<td::IoSlice> vec;
|
td::vector<td::IoSlice> vec;
|
||||||
td::CSlice test_file_path = "test.txt";
|
td::CSlice test_file_path = "test.txt";
|
||||||
|
Loading…
Reference in New Issue
Block a user