diff --git a/test/cli/CliTest_Setup.cpp b/test/cli/CliTest_Setup.cpp index 3012178e..63b67042 100644 --- a/test/cli/CliTest_Setup.cpp +++ b/test/cli/CliTest_Setup.cpp @@ -6,24 +6,24 @@ using cpputils::TempFile; using CliTest_Setup = CliTest; TEST_F(CliTest_Setup, NoSpecialOptions) { - EXPECT_RUN_SUCCESS({basedir.c_str(), mountdir.c_str(), "--cipher", "aes-256-gcm"}, basedir); + EXPECT_RUN_SUCCESS({basedir.c_str(), mountdir.c_str(), "--cipher", "aes-256-gcm"}, mountdir); } TEST_F(CliTest_Setup, NotexistingLogfileGiven) { TempFile notexisting_logfile(false); - EXPECT_RUN_SUCCESS({basedir.c_str(), mountdir.c_str(), "--logfile", notexisting_logfile.path().c_str()}, basedir); + EXPECT_RUN_SUCCESS({basedir.c_str(), mountdir.c_str(), "--logfile", notexisting_logfile.path().c_str()}, mountdir); //TODO Expect logfile is used (check logfile content) } TEST_F(CliTest_Setup, ExistingLogfileGiven) { - EXPECT_RUN_SUCCESS({basedir.c_str(), mountdir.c_str(), "--logfile", logfile.path().c_str()}, basedir); + EXPECT_RUN_SUCCESS({basedir.c_str(), mountdir.c_str(), "--logfile", logfile.path().c_str()}, mountdir); //TODO Expect logfile is used (check logfile content) } TEST_F(CliTest_Setup, ConfigfileGiven) { - EXPECT_RUN_SUCCESS({basedir.c_str(), "--config", configfile.path().c_str(), mountdir.c_str()}, basedir); + EXPECT_RUN_SUCCESS({basedir.c_str(), "--config", configfile.path().c_str(), mountdir.c_str()}, mountdir); } TEST_F(CliTest_Setup, FuseOptionGiven) { - EXPECT_RUN_SUCCESS({basedir.c_str(), mountdir.c_str(), "--", "-f"}, basedir); + EXPECT_RUN_SUCCESS({basedir.c_str(), mountdir.c_str(), "--", "-f"}, mountdir); } \ No newline at end of file diff --git a/test/cli/CliTest_WrongEnvironment.cpp b/test/cli/CliTest_WrongEnvironment.cpp index fcc6ce1a..4401d27d 100644 --- a/test/cli/CliTest_WrongEnvironment.cpp +++ b/test/cli/CliTest_WrongEnvironment.cpp @@ -36,7 +36,7 @@ public: } void Test_Run_Success() { - EXPECT_RUN_SUCCESS(args(), basedir); + EXPECT_RUN_SUCCESS(args(), mountdir); } void Test_Run_Error(const char *expectedError) { @@ -74,6 +74,7 @@ INSTANTIATE_TEST_CASE_P(RunningInForeground_ExternalConfigfile_LogIsNotStderr, C //Counter-Test. Test that it doesn't fail if we call it without an error condition. TEST_P(CliTest_WrongEnvironment, NoErrorCondition) { + if (GetParam().runningInForeground) {return;} // Don't run this test in foreground, because it would block Test_Run_Success(); } @@ -123,6 +124,7 @@ TEST_P(CliTest_WrongEnvironment, BaseDir_IsNotDirectory) { TEST_P(CliTest_WrongEnvironment, BaseDir_AllPermissions) { //Counter-Test. Test it doesn't fail if permissions are there. SetAllPermissions(basedir); + if (GetParam().runningInForeground) {return;} // Don't run this test in foreground, because it would block Test_Run_Success(); } @@ -159,6 +161,7 @@ TEST_P(CliTest_WrongEnvironment, MountDir_IsNotDirectory) { TEST_P(CliTest_WrongEnvironment, MountDir_AllPermissions) { //Counter-Test. Test it doesn't fail if permissions are there. + if (GetParam().runningInForeground) {return;} // Don't run this test in foreground, because it would block SetAllPermissions(mountdir); Test_Run_Success(); } diff --git a/test/cli/testutils/CliTest.h b/test/cli/testutils/CliTest.h index c5ca1dd0..3b86dbac 100644 --- a/test/cli/testutils/CliTest.h +++ b/test/cli/testutils/CliTest.h @@ -41,26 +41,19 @@ public: ); } - class _UnmountFilesystemInDestructor final { - public: - _UnmountFilesystemInDestructor(const boost::filesystem::path &baseDir) :_baseDir(baseDir) {} - ~_UnmountFilesystemInDestructor() { - if (0 != system((std::string("fusermount -u ")+_baseDir.c_str()).c_str())) { - cpputils::logging::LOG(cpputils::logging::ERROR) << "Could not unmount cryfs"; - } - } - private: - boost::filesystem::path _baseDir; - }; - - void EXPECT_RUN_SUCCESS(std::vector args, const boost::filesystem::path &baseDir) { + void EXPECT_RUN_SUCCESS(std::vector args, const boost::filesystem::path &mountDir) { //TODO - /*_UnmountFilesystemInDestructor raii(baseDir); - EXPECT_EXIT( + /*EXPECT_EXIT( run(args), ::testing::ExitedWithCode(0), - "Filesystem is running" - );*/ + "Mounting filesystem" + ); + + //Cleanup: Unmount filesystem + auto returncode = system((std::string("fusermount -u ")+mountDir.c_str()).c_str()); + if (0 != returncode) { + cpputils::logging::LOG(cpputils::logging::ERROR) << "Could not unmount cryfs"; + }*/ } };