From 74f379b162311323202d031375f5aab020c4bc9c Mon Sep 17 00:00:00 2001 From: itsmattkc <34096995+itsmattkc@users.noreply.github.com> Date: Sun, 2 Jan 2022 13:34:57 -0800 Subject: [PATCH] improved unit test feedback --- tests/CMakeLists.txt | 4 ++-- tests/testutil.h | 12 +++++++----- tests/timeline/timeline-tests.cpp | 10 +++++----- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 78dbfd7c2..ebb43723e 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -17,13 +17,13 @@ function(olive_add_test GROUP NAME SOURCE) file(READ "${SOURCE}" TEST_FILE_CONTENT) string(REGEX MATCHALL "OLIVE_ADD_TEST\(.[A-Za-z0-9_]+\)" TEST_FUNCTIONS ${TEST_FILE_CONTENT}) - set(TEST_BODY "int main(int argc, char** argv)\n{\n") + set(TEST_BODY "int main(int argc, char** argv)\n{\n int ret;(void)ret;") set(TEST_INDEX 1) list(LENGTH TEST_FUNCTIONS TEST_COUNT) foreach (TEST_FUNC ${TEST_FUNCTIONS}) string(REPLACE "OLIVE_ADD_TEST(" "" TEST_FUNC "${TEST_FUNC}") string(APPEND TEST_BODY " std::cout << \"[${TEST_INDEX}/${TEST_COUNT}] ${GROUP} - ${TEST_FUNC}\";\n") - string(APPEND TEST_BODY " if (olive::Test${TEST_FUNC}()) {std::cout << \" - PASSED\" << std::endl;}else{std::cout << \" - FAILED\" << std::endl;return 1;}\n") + string(APPEND TEST_BODY " if ((ret = olive::Test${TEST_FUNC}()) == OLIVE_TEST_SUCCESS) {std::cout << \" - PASSED\" << std::endl;}else{std::cout << \" - FAILED AT LINE \" << ret << std::endl;return 1;}\n") MATH(EXPR TEST_INDEX "${TEST_INDEX}+1") endforeach() string(APPEND TEST_BODY " return 0;\n}") diff --git a/tests/testutil.h b/tests/testutil.h index 8e4cc73f4..697c3002a 100644 --- a/tests/testutil.h +++ b/tests/testutil.h @@ -20,9 +20,11 @@ #include -#define OLIVE_ASSERT(x) if (!(x)) return false -#define OLIVE_ASSERT_EQUAL(x, y) if (x != y) {std::cout << " - Equal assert failed on line " << __LINE__ << ": " << x << " != " << y; return false;}void() -#define OLIVE_TEST_END return true +#define OLIVE_TEST_SUCCESS -1 -#define OLIVE_ADD_TEST(x) bool Test##x() -#define OLIVE_ADD_DISABLED_TEST(x) bool Test##x() +#define OLIVE_ASSERT(x) if (!(x)) return __LINE__ +#define OLIVE_ASSERT_EQUAL(x, y) if (x != y) {std::cout << " - Equal assert failed: " << x << " != " << y; return __LINE__;}void() +#define OLIVE_TEST_END return OLIVE_TEST_SUCCESS + +#define OLIVE_ADD_TEST(x) int Test##x() +#define OLIVE_ADD_DISABLED_TEST(x) int Test##x() diff --git a/tests/timeline/timeline-tests.cpp b/tests/timeline/timeline-tests.cpp index f4b454635..a09ca4403 100644 --- a/tests/timeline/timeline-tests.cpp +++ b/tests/timeline/timeline-tests.cpp @@ -553,11 +553,11 @@ OLIVE_ADD_TEST(InsertGaps_SingleTrack) command.undo_now(); - OLIVE_ASSERT(track->Blocks().size() == 3); - OLIVE_ASSERT(track->Blocks().at(0) == a); - OLIVE_ASSERT(track->Blocks().at(0)->length() = 1); - OLIVE_ASSERT(track->Blocks().at(1) == b); - OLIVE_ASSERT(track->Blocks().at(2) == c); + OLIVE_ASSERT_EQUAL(track->Blocks().size(), 3); + OLIVE_ASSERT_EQUAL(track->Blocks().at(0), a); + OLIVE_ASSERT_EQUAL(track->Blocks().at(0)->length(), 1); + OLIVE_ASSERT_EQUAL(track->Blocks().at(1), b); + OLIVE_ASSERT_EQUAL(track->Blocks().at(2), c); } {