| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | #ifndef CPP_TESTING | ||
| 2 | #define CPP_TESTING | ||
| 3 | |||
| 4 | #include "result.hpp" | ||
| 5 | #include <functional> | ||
| 6 | #include <iostream> | ||
| 7 | |||
| 8 | namespace cpp | ||
| 9 | { | ||
| 10 | namespace testing | ||
| 11 | { | ||
| 12 | 7 | bool run_test(const char* test, | |
| 13 | const std::function<cpp::result::result_void()>& func) | ||
| 14 | { | ||
| 15 |
1/2✓ Branch 1 taken 7 times.
✗ Branch 2 not taken.
|
7 | const auto res = func(); |
| 16 | |||
| 17 |
2/2✓ Branch 1 taken 5 times.
✓ Branch 2 taken 2 times.
|
7 | if (res.valid()) |
| 18 | { | ||
| 19 |
3/6✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 5 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 5 times.
✗ Branch 8 not taken.
|
5 | std::cout << "Test Case: \"" << test << "\" run successfully.\n"; |
| 20 | } | ||
| 21 | else | ||
| 22 | { | ||
| 23 |
3/6✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
|
2 | std::cout << "Test Case: \"" << test << "\" found an error: "; |
| 24 |
3/6✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
|
2 | std::cout << res.err_msg() << "\n"; |
| 25 | 2 | return false; | |
| 26 | } | ||
| 27 | |||
| 28 | 5 | return true; | |
| 29 | 7 | } | |
| 30 | |||
| 31 | inline cpp::result::result_void | ||
| 32 | 4 | check(const char* check, bool ok, | |
| 33 |
3/6✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
|
6 | const std::source_location& location = std::source_location::current()) |
| 34 | { | ||
| 35 |
2/2✓ Branch 0 taken 2 times.
✓ Branch 1 taken 2 times.
|
4 | if (ok) |
| 36 | 2 | return cpp::result::SUCCESS; | |
| 37 | |||
| 38 |
1/2✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
|
4 | return cpp::result::report_error(check, location); |
| 39 | } | ||
| 40 | |||
| 41 | #define CHECK_(MSG, ARG) if (!(ARG)) return cpp::result::report_error(MSG); | ||
| 42 | |||
| 43 | } // namespace testing | ||
| 44 | } // namespace cpp | ||
| 45 | |||
| 46 | #endif | ||
| 47 |