WIP: fs tests

This commit is contained in:
Michele Caini 2016-11-04 18:00:08 +01:00
parent 7586e37546
commit ec54c56709
2 changed files with 307 additions and 0 deletions

View File

@ -36,6 +36,7 @@ set(TARGET_ASYNC async)
set(TARGET_CHECK check)
set(TARGET_EMITTER emitter)
set(TARGET_EVENT event)
set(TARGET_FS fs)
set(TARGET_HANDLE handle)
set(TARGET_IDLE idle)
set(TARGET_LOOP loop)
@ -85,6 +86,17 @@ target_include_directories(${TARGET_EVENT} PRIVATE ${COMMON_INCLUDE_DIRS})
target_link_libraries(${TARGET_EVENT} PRIVATE ${COMMON_LINK_LIBS})
add_test(NAME ${TARGET_EVENT} COMMAND ${TARGET_EVENT})
# Test TARGET_FS
set(TARGET_FS_SOURCES $<TARGET_OBJECTS:odr> uvw/fs.cpp)
set(TARGET_FS_DIR ${CMAKE_CURRENT_BINARY_DIR}/fs)
file(MAKE_DIRECTORY ${TARGET_FS_DIR})
add_executable(${TARGET_FS} ${TARGET_FS_SOURCES})
target_include_directories(${TARGET_FS} PRIVATE ${COMMON_INCLUDE_DIRS})
target_link_libraries(${TARGET_FS} PRIVATE ${COMMON_LINK_LIBS})
target_compile_definitions(${TARGET_FS} PRIVATE TARGET_FS_DIR="${TARGET_FS_DIR}")
add_test(NAME ${TARGET_FS} COMMAND ${TARGET_FS})
# Test TARGET_HANDLE
set(TARGET_HANDLE_SOURCES $<TARGET_OBJECTS:odr> uvw/handle.cpp)

View File

@ -0,0 +1,295 @@
#include <gtest/gtest.h>
#include <uvw.hpp>
TEST(FileReq, OpenAndClose) {
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 checkErrorEvent = false;
bool checkFsEvent = false;
request->on<uvw::ErrorEvent>([&checkErrorEvent](const auto &, auto &) {
FAIL();
});
request->on<uvw::FsEvent<uvw::FileReq::Type::OPEN>>([&checkFsEvent](const auto &, auto &request) {
ASSERT_FALSE(checkFsEvent);
checkFsEvent = true;
request.close();
});
request->open(filename, O_RDWR | O_CREAT, S_IRWXU);
loop->run();
ASSERT_FALSE(checkErrorEvent);
ASSERT_TRUE(checkFsEvent);
}
TEST(FileReq, OpenAndCloseSync) {
const std::string filename = std::string{TARGET_FS_DIR} + std::string{"/test.fs"};
auto loop = uvw::Loop::getDefault();
auto request = loop->resource<uvw::FileReq>();
ASSERT_TRUE(request->openSync(filename, O_RDWR | O_CREAT, S_IRWXU));
ASSERT_TRUE(request->closeSync());
loop->run();
}
/*
TEST(FileReq, RW) {
// TODO
}
TEST(FileReq, RWSync) {
// TODO
}
TEST(FileReq, Stat) {
// TODO
}
TEST(FileReq, StatSync) {
// TODO
}
TEST(FileReq, Sync) {
// TODO
}
TEST(FileReq, SyncSync) {
// TODO
}
TEST(FileReq, Datasync) {
// TODO
}
TEST(FileReq, DatasyncSync) {
// TODO
}
TEST(FileReq, Truncate) {
// TODO
}
TEST(FileReq, TruncateSync) {
// TODO
}
TEST(FileReq, SendFile) {
// TODO
}
TEST(FileReq, SendFileSync) {
// TODO
}
TEST(FileReq, Chmod) {
// TODO
}
TEST(FileReq, ChmodSync) {
// TODO
}
TEST(FileReq, Utime) {
// TODO
}
TEST(FileReq, UtimeSync) {
// TODO
}
TEST(FileReq, Chown) {
// TODO
}
TEST(FileReq, ChownSync) {
// TODO
}
TEST(FsReq, Unlink) {
// TODO
}
TEST(FsReq, UnlinkSync) {
// TODO
}
TEST(FsReq, Mkdir) {
// TODO
}
TEST(FsReq, MkdirSync) {
// TODO
}
TEST(FsReq, Mkdtemp) {
// TODO
}
TEST(FsReq, MkdtempSync) {
// TODO
}
TEST(FsReq, Rmdir) {
// TODO
}
TEST(FsReq, RmdirSync) {
// TODO
}
TEST(FsReq, Scandir) {
// TODO
}
TEST(FsReq, ScandirSync) {
// TODO
}
TEST(FsReq, Stat) {
// TODO
}
TEST(FsReq, StatSync) {
// TODO
}
TEST(FsReq, Lstat) {
// TODO
}
TEST(FsReq, LstatSync) {
// TODO
}
TEST(FsReq, Rename) {
// TODO
}
TEST(FsReq, RenameSync) {
// TODO
}
TEST(FsReq, Access) {
// TODO
}
TEST(FsReq, AccessSync) {
// TODO
}
TEST(FsReq, Chmod) {
// TODO
}
TEST(FsReq, ChmodSync) {
// TODO
}
TEST(FsReq, Utime) {
// TODO
}
TEST(FsReq, UtimeSync) {
// TODO
}
TEST(FsReq, Link) {
// TODO
}
TEST(FsReq, LinkSync) {
// TODO
}
TEST(FsReq, Symlink) {
// TODO
}
TEST(FsReq, SymlinkSync) {
// TODO
}
TEST(FsReq, Readlink) {
// TODO
}
TEST(FsReq, ReadlinkSync) {
// TODO
}
TEST(FsReq, Realpath) {
// TODO
}
TEST(FsReq, RealpathSync) {
// TODO
}
TEST(FsReq, Chown) {
// TODO
}
TEST(FsReq, ChownSync) {
// TODO
}
*/