Chromium Code Reviews| Index: pyautolib/py_unittest_util.py |
| =================================================================== |
| --- pyautolib/py_unittest_util.py (revision 0) |
| +++ pyautolib/py_unittest_util.py (revision 0) |
| @@ -0,0 +1,62 @@ |
| +#!/usr/bin/env python |
| +# Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +import sys |
| +import unittest |
| + |
| + |
| +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 GTestTextTestRunner(unittest.TextTestRunner): |
| + """Test Runner for PyAuto tests that displays results in textual format. |
|
kkania
2012/05/22 16:36:42
don't mention pyauto here. this is a general utili
|
| + |
| + 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) |
| Property changes on: pyautolib\py_unittest_util.py |
| ___________________________________________________________________ |
| Added: svn:eol-style |
| + LF |