| Index: chrome/test/pyautolib/pyauto.py
|
| diff --git a/chrome/test/pyautolib/pyauto.py b/chrome/test/pyautolib/pyauto.py
|
| index ee090ee544fad42187da8ffb740bb529f793ec90..18fcf101de8252de9bfe89e9c9e216c7eb398c1e 100644
|
| --- a/chrome/test/pyautolib/pyauto.py
|
| +++ b/chrome/test/pyautolib/pyauto.py
|
| @@ -1348,6 +1348,60 @@ class PyUITestSuite(pyautolib.PyUITestSuiteBase, unittest.TestSuite):
|
| pyautolib.PyUITestSuiteBase.__del__(self)
|
|
|
|
|
| +class _GTestTextTestResult(unittest._TextTestResult):
|
| + """A test result class that can print formatted text results to a stream.
|
| +
|
| + Results printed in conformance with gtest output format, like:
|
| + [ RUN ] autofill.AutoFillTest.testAutofillInvalid: "test desc."
|
| + [ OK ] autofill.AutoFillTest.testAutofillInvalid
|
| + [ RUN ] autofill.AutoFillTest.testFillProfile: "test desc."
|
| + [ OK ] autofill.AutoFillTest.testFillProfile
|
| + [ RUN ] autofill.AutoFillTest.testFillProfileCrazyCharacters: "Test."
|
| + [ OK ] autofill.AutoFillTest.testFillProfileCrazyCharacters
|
| + """
|
| + def __init__(self, stream, descriptions, verbosity):
|
| + unittest._TextTestResult.__init__(self, stream, descriptions, verbosity)
|
| +
|
| + def _GetTestURI(self, test):
|
| + if sys.version_info[:2] <= (2, 4):
|
| + return '%s.%s' % (unittest._strclass(test.__class__),
|
| + test._TestCase__testMethodName)
|
| + return '%s.%s' % (unittest._strclass(test.__class__), test._testMethodName)
|
| +
|
| + def getDescription(self, test):
|
| + return '%s: "%s"' % (self._GetTestURI(test), test.shortDescription())
|
| +
|
| + def startTest(self, test):
|
| + unittest.TestResult.startTest(self, test)
|
| + self.stream.writeln('[ RUN ] %s' % self.getDescription(test))
|
| +
|
| + def addSuccess(self, test):
|
| + unittest.TestResult.addSuccess(self, test)
|
| + self.stream.writeln('[ OK ] %s' % self._GetTestURI(test))
|
| +
|
| + def addError(self, test, err):
|
| + unittest.TestResult.addError(self, test, err)
|
| + self.stream.writeln('[ ERROR ] %s' % self._GetTestURI(test))
|
| +
|
| + def addFailure(self, test, err):
|
| + unittest.TestResult.addFailure(self, test, err)
|
| + self.stream.writeln('[ FAILED ] %s' % self._GetTestURI(test))
|
| +
|
| +
|
| +class PyAutoTextTestRuner(unittest.TextTestRunner):
|
| + """Test Runner for PyAuto tests that displays results in textual format.
|
| +
|
| + Results are displayed in conformance with gtest output.
|
| + """
|
| + def __init__(self, verbosity=1):
|
| + unittest.TextTestRunner.__init__(self,
|
| + stream=sys.stderr,
|
| + verbosity=verbosity)
|
| +
|
| + def _makeResult(self):
|
| + return _GTestTextTestResult(self.stream, self.descriptions, self.verbosity)
|
| +
|
| +
|
| # Implementation inspired from unittest.main()
|
| class Main(object):
|
| """Main program for running PyAuto tests."""
|
| @@ -1575,7 +1629,7 @@ class Main(object):
|
| verbosity = 1
|
| if self._options.verbose:
|
| verbosity = 2
|
| - result = unittest.TextTestRunner(verbosity=verbosity).run(pyauto_suite)
|
| + result = PyAutoTextTestRuner(verbosity=verbosity).run(pyauto_suite)
|
| del loaded_tests # Need to destroy test cases before the suite
|
| del pyauto_suite
|
| sys.exit(not result.wasSuccessful())
|
|
|