tests: fs/FileReq/Truncate and fs/FileReq/TruncateSync

This commit is contained in:
Michele Caini 2016-11-07 17:39:26 +01:00
parent 20e5d867b8
commit 4ff1f8557c

View File

@ -297,17 +297,60 @@ TEST(FileReq, DatasyncSync) {
}
/*
TEST(FileReq, Truncate) {
// TODO
const std::string filename = std::string{TARGET_FS_DIR} + std::string{"/test.fs"};
auto loop = uvw::Loop::getDefault();
auto request = loop->resource<uvw::FileReq>();
bool checkFsTruncateEvent = false;
request->on<uvw::ErrorEvent>([](const auto &, auto &) {
FAIL();
});
request->on<uvw::FsEvent<uvw::FileReq::Type::FTRUNCATE>>([&checkFsTruncateEvent](const auto &, auto &request) {
ASSERT_FALSE(checkFsTruncateEvent);
checkFsTruncateEvent = true;
request.close();
});
request->on<uvw::FsEvent<uvw::FileReq::Type::OPEN>>([](const auto &, auto &request) {
request.truncate(0);
});
#ifdef _WIN32
request->open(filename, _O_CREAT | _O_RDWR | _O_TRUNC, 0644);
#else
request->open(filename, O_CREAT | O_RDWR | O_TRUNC, 0644);
#endif
loop->run();
ASSERT_TRUE(checkFsTruncateEvent);
}
TEST(FileReq, TruncateSync) {
// TODO
const std::string filename = std::string{TARGET_FS_DIR} + std::string{"/test.fs"};
auto loop = uvw::Loop::getDefault();
auto request = loop->resource<uvw::FileReq>();
#ifdef _WIN32
ASSERT_TRUE(request->openSync(filename, _O_CREAT | _O_RDWR | _O_TRUNC, 0644));
#else
ASSERT_TRUE(request->openSync(filename, O_CREAT | O_RDWR | O_TRUNC, 0644));
#endif
ASSERT_TRUE(request->truncateSync(0));
ASSERT_TRUE(request->closeSync());
loop->run();
}
/*
TEST(FileReq, SendFile) {
// TODO
}