소스 검색

AK+TestSuite: Don't assume that the test passed in output.

The problem with our test suite is that it can't detect if a test
failed. When a test fails we simply write 'FAIL ...' to stderr and move
on.

Previously, the test suite would list all tests as passing regardless
how many assertions failed. In the future it might be smart to implement
this properly but test suites for C++ are always hard to do nicely.
(Because C++ execution isn't meant to be embedded.)
asynts 4 년 전
부모
커밋
574f49e4be
1개의 변경된 파일3개의 추가작업 그리고 3개의 파일을 삭제
  1. 3 3
      AK/TestSuite.h

+ 3 - 3
AK/TestSuite.h

@@ -164,7 +164,7 @@ void TestSuite::main(const String& suite_name, int argc, char** argv)
             out() << "    " << test.name();
             out() << "    " << test.name();
         }
         }
     } else {
     } else {
-        out() << "Running " << matching_tests.size() << " cases out of " << m_cases.size();
+        out() << "Running " << matching_tests.size() << " cases out of " << m_cases.size() << ".";
 
 
         run(matching_tests);
         run(matching_tests);
     }
     }
@@ -199,13 +199,13 @@ void TestSuite::run(const NonnullRefPtrVector<TestCase>& tests)
     for (const auto& t : tests) {
     for (const auto& t : tests) {
         const auto test_type = t.is_benchmark() ? "benchmark" : "test";
         const auto test_type = t.is_benchmark() ? "benchmark" : "test";
 
 
-        dbg() << "START Running " << test_type << " " << t.name();
+        warnf("Running {} '{}'.", test_type, t.name());
 
 
         TestElapsedTimer timer;
         TestElapsedTimer timer;
         t.func()();
         t.func()();
         const auto time = timer.elapsed_milliseconds();
         const auto time = timer.elapsed_milliseconds();
 
 
-        warn() << "\033[32;1mPASS\033[0m: " << time << " ms running " << test_type << " " << t.name();
+        dbgf("Completed {} '{}' in {}ms", test_type, t.name(), time);
 
 
         if (t.is_benchmark()) {
         if (t.is_benchmark()) {
             m_benchtime += time;
             m_benchtime += time;