From 4ff1f8557ca29be5985d0eb89971841dc618055c Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Mon, 7 Nov 2016 17:39:26 +0100 Subject: [PATCH] tests: fs/FileReq/Truncate and fs/FileReq/TruncateSync --- test/uvw/fs.cpp | 49 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/test/uvw/fs.cpp b/test/uvw/fs.cpp index 82560a0c..3142c149 100644 --- a/test/uvw/fs.cpp +++ b/test/uvw/fs.cpp @@ -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(); + + bool checkFsTruncateEvent = false; + + request->on([](const auto &, auto &) { + FAIL(); + }); + + request->on>([&checkFsTruncateEvent](const auto &, auto &request) { + ASSERT_FALSE(checkFsTruncateEvent); + checkFsTruncateEvent = true; + request.close(); + }); + + request->on>([](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(); + +#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 }