# HG changeset patch # User Gregory Szorc # Date 2014-04-20 18:55:02 # Node ID ff4a270bd3347eb2e2c05e651e707c421784f2d0 # Parent 1a46f9635ef0cdcc88f766e7719c579c66049a08 run-tests: teach unittest about warned results diff --git a/tests/run-tests.py b/tests/run-tests.py --- a/tests/run-tests.py +++ b/tests/run-tests.py @@ -998,6 +998,11 @@ class TestResult(unittest._TextTestResul # sense to map it into skip some day. self.ignored = [] + # We have a custom "warned" result that isn't present in any Python + # unittest implementation. It is very similar to failed. It may make + # sense to map it into fail some day. + self.warned = [] + # Polyfill. def addSkip(self, test, reason): self.skipped.append((test, reason)) @@ -1017,6 +1022,15 @@ class TestResult(unittest._TextTestResul self.stream.write('i') self.stream.flush() + def addWarn(self, test, reason): + self.warned.append((test, reason)) + + if self.showAll: + self.stream.writeln('warned %s' % reason) + else: + self.stream.write('~') + self.stream.flush() + class TextTestRunner(unittest.TextTestRunner): """Custom unittest test runner that uses appropriate settings.""" @@ -1313,7 +1327,7 @@ class TestRunner(object): if code == '!': self._result.failures.append((self, msg)) elif code == '~': - pass + self._result.addWarn(self, msg) elif code == '.': # Success is handled automatically by the built-in run(). pass