From 89c501ec139b8c3e5daccb4e52dc9fec4161dea0 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Tue, 26 Mar 2013 12:17:39 -0700 Subject: [PATCH] Bring back colorizer again with error results. This was actually a pretty simple fix. When I switched the base test result class to testtools I lost the methods that were printing out the errors at the end. This adds the (colorized!) methods so errors print successfully. fixes bug 1159116 Change-Id: Ib09d7e18ddf27015ff735a30137421d865382359 --- run_tests.sh | 4 ++-- tools/colorizer.py | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/run_tests.sh b/run_tests.sh index 29e723c7fbb8..4d02fe5706aa 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -129,7 +129,7 @@ function run_tests { if [ $coverage -eq 1 ]; then TESTRTESTS="$TESTRTESTS --coverage" else - TESTRTESTS="$TESTRTESTS --slowest" + TESTRTESTS="$TESTRTESTS" fi # Just run the test suites in current environment @@ -137,7 +137,7 @@ function run_tests { testrargs=`echo "$testrargs" | sed -e's/^\s*\(.*\)\s*$/\1/'` TESTRTESTS="$TESTRTESTS --testr-args='--subunit $testropts $testrargs'" echo "Running \`${wrapper} $TESTRTESTS\`" - bash -c "${wrapper} $TESTRTESTS | ${wrapper} subunit2pyunit" + bash -c "${wrapper} $TESTRTESTS | ${wrapper} tools/colorizer.py" RESULT=$? set -e diff --git a/tools/colorizer.py b/tools/colorizer.py index 2df3c2bf889a..1dfe04cd0348 100755 --- a/tools/colorizer.py +++ b/tools/colorizer.py @@ -302,6 +302,22 @@ class NovaTestResult(testtools.TestResult): self._writeElapsedTime(elapsed) self.stream.writeln() + def printErrors(self): + if self.showAll: + self.stream.writeln() + self.printErrorList('ERROR', self.errors) + self.printErrorList('FAIL', self.failures) + + def printErrorList(self, flavor, errors): + for test, err in errors: + self.colorizer.write("=" * 70, 'red') + self.stream.writeln() + self.colorizer.write(flavor, 'red') + self.stream.writeln(": %s" % test.id()) + self.colorizer.write("-" * 70, 'red') + self.stream.writeln() + self.stream.writeln("%s" % err) + test = subunit.ProtocolTestCase(sys.stdin, passthrough=None)