X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Flib%2Ftest.qc;h=0997e53a4964fe1657c045ce01f4f698f1a7259b;hb=537313c9e52ce93b28ad6580b76e92d99f0a9d93;hp=23907fe5f15ed4106c69fae466807abd79fe2911;hpb=1556aa4ea70b3b275afb1cb4587e555fb44f71c3;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/lib/test.qc b/qcsrc/lib/test.qc index 23907fe5f..0997e53a4 100644 --- a/qcsrc/lib/test.qc +++ b/qcsrc/lib/test.qc @@ -1,57 +1,38 @@ #include "test.qh" -float TEST_failed; -float TEST_ok; - -void TEST_Fail(string cond) +int TEST_RunAll_accumulated(int init); +bool RUN_ALL_TESTS() { - LOG_INFOF("Assertion failed: ", cond); - //backtrace(); - ++TEST_failed; -} - -void TEST_OK() -{ - TEST_ok = true; -} - -float TEST_RunAll() -{ - int f = 0; - float n = numentityfields(); - for(int i = 0; i < n; ++i) - { - string name = entityfieldname(i); - if(substring(name, 0, 6) == "_TEST_") - if(!TEST_Run(substring(name, 6, -1))) - ++f; - } - if(f) + int f = TEST_RunAll_accumulated(0); + if (f) { LOG_INFOF("%d tests failed\n", f); - return 1; + return true; } else { - LOG_INFOF("All tests OK\n", f); - return 0; + LOG_INFO("All tests OK\n"); + return false; } } -float TEST_Run(string s) +bool TEST_Run(string s) { LOG_INFOF("%s: testing...\n", s); - TEST_failed = TEST_ok = 0; - callfunction(strcat("_TEST_", s)); - if(TEST_failed > 0) + TEST_failed = 0; + TEST_fatal = 0; + TEST_ok = false; + string fn = strcat("_TEST_", s); + if (isfunction(fn)) callfunction(fn); + if (TEST_failed > 0) { LOG_INFOF("%s: %d items failed.\n", s, TEST_failed); - return 0; + return false; } - else if(!TEST_ok) + else if (!TEST_ok) { LOG_INFOF("%s: did not complete.\n", s); - return 0; + return false; } - return 1; + return true; }