From 91f8253ed565a00ef220793b4a4c2c5a53e7c9b4 Mon Sep 17 00:00:00 2001 From: Riyyi Date: Tue, 25 Jan 2022 13:58:44 +0100 Subject: [PATCH] Test: Update verify macro to support a custom result behavior --- test/macro.h | 4 ++-- test/testdotfile.cpp | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/test/macro.h b/test/macro.h index e38a92b..11ec29b 100644 --- a/test/macro.h +++ b/test/macro.h @@ -4,12 +4,12 @@ #include // fprintf #include // cerr -#define VERIFY(x) \ +#define VERIFY(x, result) \ if (!(x)) { \ fprintf(stderr, " \033[31;1mFAIL:\033[0m %s:%d: VERIFY(%s) failed\n", \ __FILE__, __LINE__, #x); \ Test::TestSuite::the().currentTestCaseFailed(); \ - return; \ + result; \ } #define EXPECT(x) \ diff --git a/test/testdotfile.cpp b/test/testdotfile.cpp index fc80400..50e53f8 100644 --- a/test/testdotfile.cpp +++ b/test/testdotfile.cpp @@ -24,7 +24,7 @@ const size_t homeDirectorySize = homeDirectory.string().size(); void createTestDotfiles(const std::vector& fileNames, const std::vector& fileContents, bool asRoot = false) { - VERIFY(fileNames.size() == fileContents.size()); + VERIFY(fileNames.size() == fileContents.size(), return); if (root && !asRoot) { setegid(Machine::the().gid()); @@ -97,8 +97,8 @@ TEST_CASE(AddDotfiles) Dotfile::the().add(fileNames); for (const auto& file : fileNames) { - EXPECT(std::filesystem::exists(file)); - EXPECT(std::filesystem::exists(file.substr(homeDirectorySize + 1))); + VERIFY(std::filesystem::exists(file), continue); + VERIFY(std::filesystem::exists(file.substr(homeDirectorySize + 1)), continue); Util::File lhs(file); Util::File rhs(file.substr(homeDirectorySize + 1)); @@ -153,8 +153,8 @@ TEST_CASE(PullDotfiles) Dotfile::the().pull(fileNames); for (size_t i = 0; i < fileNames.size(); ++i) { - EXPECT(std::filesystem::exists(homeFileNames.at(i))); - EXPECT(std::filesystem::exists(fileNames.at(i))); + VERIFY(std::filesystem::exists(homeFileNames.at(i)), continue); + VERIFY(std::filesystem::exists(fileNames.at(i)), continue); Util::File lhs(homeFileNames.at(i)); Util::File rhs(fileNames.at(i)); @@ -186,8 +186,8 @@ TEST_CASE(PushDotfiles) Dotfile::the().push(fileNames); for (const auto& file : fileNames) { - EXPECT(std::filesystem::exists(file)); - EXPECT(std::filesystem::exists(homeDirectory / file)); + VERIFY(std::filesystem::exists(file), continue); + VERIFY(std::filesystem::exists(homeDirectory / file), continue); Util::File lhs(file); Util::File rhs(homeDirectory / file); @@ -225,7 +225,7 @@ TEST_CASE(PushDotfilesWithExcludePath) TEST_CASE(AddSystemDotfiles) { - VERIFY(geteuid() == 0); + VERIFY(geteuid() == 0, return); Dotfile::the().setSystemDirectories({ "/etc", "/usr/lib" }); Dotfile::the().add({ "/etc/group", "/usr/lib/os-release" }); @@ -240,7 +240,7 @@ TEST_CASE(AddSystemDotfiles) TEST_CASE(PullSystemDotfiles) { - VERIFY(geteuid() == 0); + VERIFY(geteuid() == 0, return); createTestDotfiles({ "etc/group" }, { "" }, true);