Test: Update verify macro to support a custom result behavior
This commit is contained in:
+2
-2
@@ -4,12 +4,12 @@
|
||||
#include <cstdio> // fprintf
|
||||
#include <iostream> // 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) \
|
||||
|
||||
@@ -24,7 +24,7 @@ const size_t homeDirectorySize = homeDirectory.string().size();
|
||||
|
||||
void createTestDotfiles(const std::vector<std::string>& fileNames, const std::vector<std::string>& 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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user