X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Flib%2Ftest.qc;h=86b0e6187010fde8175bb4040e70c60c819a0f0c;hb=3db2113eb80547da28988be0958bde321837efc1;hp=23907fe5f15ed4106c69fae466807abd79fe2911;hpb=737346fcfbe5912ff5de24c2f22c0dbd894429a6;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/lib/test.qc b/qcsrc/lib/test.qc index 23907fe5f..86b0e6187 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; + LOG_INFOF("%d tests failed", f); + return true; } else { - LOG_INFOF("All tests OK\n", f); - return 0; + LOG_INFO("All tests OK"); + 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) + LOG_INFOF("%s: testing...", s); + 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; + LOG_INFOF("%s: %d items failed.", s, TEST_failed); + return false; } - else if(!TEST_ok) + else if (!TEST_ok) { - LOG_INFOF("%s: did not complete.\n", s); - return 0; + LOG_INFOF("%s: did not complete.", s); + return false; } - return 1; + return true; }