Test: Add macro that bails function if the condition fails

This commit is contained in:
Riyyi
2022-01-24 14:44:04 +01:00
parent 82f38345d1
commit eb4822b44b
2 changed files with 9 additions and 1 deletions
+8
View File
@@ -4,6 +4,14 @@
#include <cstdio> // fprintf #include <cstdio> // fprintf
#include <iostream> // cerr #include <iostream> // cerr
#define VERIFY(x) \
if (!(x)) { \
fprintf(stderr, " \033[31;1mFAIL:\033[0m %s:%d: VERIFY(%s) failed\n", \
__FILE__, __LINE__, #x); \
Test::TestSuite::the().currentTestCaseFailed(); \
return; \
}
#define EXPECT(x) \ #define EXPECT(x) \
if (!(x)) { \ if (!(x)) { \
fprintf(stderr, " \033[31;1mFAIL:\033[0m %s:%d: EXPECT(%s) failed\n", \ fprintf(stderr, " \033[31;1mFAIL:\033[0m %s:%d: EXPECT(%s) failed\n", \
+1 -1
View File
@@ -23,7 +23,7 @@ const size_t homeDirectorySize = homeDirectory.size();
void createTestDotfiles(const std::vector<std::string>& fileNames, const std::vector<std::string>& fileContents) void createTestDotfiles(const std::vector<std::string>& fileNames, const std::vector<std::string>& fileContents)
{ {
EXPECT_EQ(fileNames.size(), fileContents.size()); VERIFY(fileNames.size() == fileContents.size());
for (size_t i = 0; i < fileNames.size(); ++i) { for (size_t i = 0; i < fileNames.size(); ++i) {
auto fileName = fileNames.at(i); auto fileName = fileNames.at(i);