# HG changeset patch # User Simon Heimberg # Date 1392276373 -3600 # Node ID 91d4f82c2d3b63e15f22d4a82e018356800debc2 # Parent 38444739a69f92c7b4017dd5bd5a9bcd9c66331f run-tests: add possibility for test-runners to report a "warned" test result A test result is recognized as "warned" when the test runner returns the exit code False. (False is similar to 0, which is reporting a command has run sucessfully.) The only difference in display is that the failure message while running writes "Warning:" instead of "ERROR:". The diff output is the same as when the test fails. Runing "run-tests.py -i" asks to accept the changed result also for tests reported as "warned". When running tests, a "warned" test would look like this: .. --- xxxx\tests\test-something.t +++ xxxx\tests\test-something.t.err @@ -1279,7 +1279,7 @@ $ echo anything $ hg commit -S -m whatever committing subrepository s - committing subrepository s/sbs + committing subrepository s/sbs (glob) warning: something happened committing subrepository t $ echo something Warning: xxxx\tests\test-sOMETHING.t output changed ~.s...s...s.. Reporting a test result as "warned" will be used in following patches. diff -r 38444739a69f -r 91d4f82c2d3b tests/run-tests.py --- a/tests/run-tests.py Thu Feb 13 08:17:39 2014 +0100 +++ b/tests/run-tests.py Thu Feb 13 08:26:13 2014 +0100 @@ -881,8 +881,9 @@ return 's', test, msg def fail(msg, ret): + warned = ret is False if not options.nodiff: - log("\nERROR: %s %s" % (testpath, msg)) + log("\n%s: %s %s" % (warned and 'Warning' or 'ERROR', test, msg)) if (not ret and options.interactive and os.path.exists(testpath + ".err")): iolock.acquire() @@ -895,7 +896,7 @@ else: rename(testpath + ".err", testpath + ".out") return '.', test, '' - return '!', test, msg + return warned and '~' or '!', test, msg def success(): return '.', test, ''