From e32860e2b51ee3a124ca0a077252df1e5a061b4a Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Mon, 7 Nov 2016 12:39:33 +0100 Subject: [PATCH] tests: fs/FileReq/RWSync --- test/uvw/fs.cpp | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/test/uvw/fs.cpp b/test/uvw/fs.cpp index cd33362c..ed18a470 100644 --- a/test/uvw/fs.cpp +++ b/test/uvw/fs.cpp @@ -104,12 +104,36 @@ TEST(FileReq, RW) { } -/* TEST(FileReq, RWSync) { - // 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 + request->openSync(filename, _O_CREAT | _O_RDWR | _O_TRUNC, 0644); +#else + request->openSync(filename, O_CREAT | O_RDWR | O_TRUNC, 0644); +#endif + + auto writeR = request->writeSync(std::unique_ptr{new char[1]{ 42 }}, 1, 0); + + ASSERT_TRUE(writeR.first); + ASSERT_EQ(writeR.second, 1); + + auto readR = request->readSync(0, 1); + + ASSERT_TRUE(readR.first); + ASSERT_EQ(readR.second.first[0], 42); + ASSERT_EQ(readR.second.second, 1); + + ASSERT_TRUE(request->closeSync()); + + loop->run(); } +/* TEST(FileReq, Stat) { // TODO }