/usr/lib/python3/dist-packages/twisted/trial/test
NameSizeModeActions
__pycache__/-0755rm
detests.py56670644editdlrm
erroneous.py47920644editdlrm
mockcustomsuite.py5360644editdlrm
mockcustomsuite2.py5330644editdlrm
mockcustomsuite3.py6760644editdlrm
mockdoctest.py24210644editdlrm
moduleself.py1700644editdlrm
moduletest.py3020644editdlrm
novars.py1820644editdlrm
ordertests.py8640644editdlrm
packages.py46510644editdlrm
sample.py20840644editdlrm
scripttest.py4570755editdlrm
skipping.py57090644editdlrm
suppression.py24990644editdlrm
test_assertions.py608130644editdlrm
test_asyncassertions.py25520644editdlrm
test_deferred.py88220644editdlrm
test_doctest.py17130644editdlrm
test_keyboard.py37840644editdlrm
test_loader.py223600644editdlrm
test_log.py80400644editdlrm
test_output.py50160644editdlrm
test_plugins.py14600644editdlrm
test_pyunitcompat.py76200644editdlrm
test_reporter.py567090644editdlrm
test_runner.py350400644editdlrm
test_script.py293770644editdlrm
test_skip.py26510644editdlrm
test_suppression.py59110644editdlrm
test_testcase.py19850644editdlrm
test_tests.py495000644editdlrm
test_util.py196600644editdlrm
test_warning.py176380644editdlrm
weird.py6750644editdlrm
__init__.py1300644editdlrm
Edit: /usr/lib/python3/dist-packages/twisted/trial/test/test_pyunitcompat.py (7620B)
# Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. import sys import traceback import unittest as pyunit from unittest import skipIf from zope.interface import implementer from twisted.python.failure import Failure from twisted.trial.itrial import IReporter, ITestCase from twisted.trial.unittest import PyUnitResultAdapter, SynchronousTestCase class PyUnitTestTests(SynchronousTestCase): class PyUnitTest(pyunit.TestCase): def test_pass(self): pass def setUp(self): self.original = self.PyUnitTest("test_pass") self.test = ITestCase(self.original) def test_callable(self): """ Tests must be callable in order to be used with Python's unittest.py. """ self.assertTrue(callable(self.test), f"{self.test!r} is not callable.") class PyUnitResultTests(SynchronousTestCase): """ Tests to show that PyUnitResultAdapter wraps TestResult objects from the standard library 'unittest' module in such a way as to make them usable and useful from Trial. """ # Once erroneous is ported to Python 3 this can be replaced with # erroneous.ErrorTest: class ErrorTest(SynchronousTestCase): """ A test case which has a L{test_foo} which will raise an error. @ivar ran: boolean indicating whether L{test_foo} has been run. """ ran = False def test_foo(self): """ Set C{self.ran} to True and raise a C{ZeroDivisionError} """ self.ran = True 1 / 0 def test_dontUseAdapterWhenReporterProvidesIReporter(self): """ The L{PyUnitResultAdapter} is only used when the result passed to C{run} does *not* provide L{IReporter}. """ @implementer(IReporter) class StubReporter: """ A reporter which records data about calls made to it. @ivar errors: Errors passed to L{addError}. @ivar failures: Failures passed to L{addFailure}. """ def __init__(self): self.errors = [] self.failures = [] def startTest(self, test): """ Do nothing. """ def stopTest(self, test): """ Do nothing. """ def addError(self, test, error): """ Record the error. """ self.errors.append(error) test = self.ErrorTest("test_foo") result = StubReporter() test.run(result) self.assertIsInstance(result.errors[0], Failure) def test_success(self): class SuccessTest(SynchronousTestCase): ran = False def test_foo(s): s.ran = True test = SuccessTest("test_foo") result = pyunit.TestResult() test.run(result) self.assertTrue(test.ran) self.assertEqual(1, result.testsRun) self.assertTrue(result.wasSuccessful()) def test_failure(self): class FailureTest(SynchronousTestCase): ran = False def test_foo(s): s.ran = True s.fail("boom!") test = FailureTest("test_foo") result = pyunit.TestResult() test.run(result) self.assertTrue(test.ran) self.assertEqual(1, result.testsRun) self.assertEqual(1, len(result.failures)) self.assertFalse(result.wasSuccessful()) def test_error(self): test = self.ErrorTest("test_foo") result = pyunit.TestResult() test.run(result) self.assertTrue(test.ran) self.assertEqual(1, result.testsRun) self.assertEqual(1, len(result.errors)) self.assertFalse(result.wasSuccessful()) def test_setUpError(self): class ErrorTest(SynchronousTestCase): ran = False def setUp(self): 1 / 0 def test_foo(s): s.ran = True test = ErrorTest("test_foo") result = pyunit.TestResult() test.run(result) self.assertFalse(test.ran) self.assertEqual(1, result.testsRun) self.assertEqual(1, len(result.errors)) self.assertFalse(result.wasSuccessful()) def test_tracebackFromFailure(self): """ Errors added through the L{PyUnitResultAdapter} have the same traceback information as if there were no adapter at all. """ try: 1 / 0 except ZeroDivisionError: exc_info = sys.exc_info() f = Failure() pyresult = pyunit.TestResult() result = PyUnitResultAdapter(pyresult) result.addError(self, f) self.assertEqual( pyresult.errors[0][1], "".join(traceback.format_exception(*exc_info)) ) def test_traceback(self): """ As test_tracebackFromFailure, but covering more code. """ class ErrorTest(SynchronousTestCase): exc_info = None def test_foo(self): try: 1 / 0 except ZeroDivisionError: self.exc_info = sys.exc_info() raise test = ErrorTest("test_foo") result = pyunit.TestResult() test.run(result) # We can't test that the tracebacks are equal, because Trial's # machinery inserts a few extra frames on the top and we don't really # want to trim them off without an extremely good reason. # # So, we just test that the result's stack ends with the # exception's stack. expected_stack = "".join(traceback.format_tb(test.exc_info[2])) observed_stack = "\n".join(result.errors[0][1].splitlines()[:-1]) self.assertEqual( expected_stack.strip(), observed_stack[-len(expected_stack) :].strip() ) def test_tracebackFromCleanFailure(self): """ Errors added through the L{PyUnitResultAdapter} have the same traceback information as if there were no adapter at all, even if the Failure that held the information has been cleaned. """ try: 1 / 0 except ZeroDivisionError: exc_info = sys.exc_info() f = Failure() f.cleanFailure() pyresult = pyunit.TestResult() result = PyUnitResultAdapter(pyresult) result.addError(self, f) self.assertEqual( pyresult.errors[0][1], "".join(traceback.format_exception(*exc_info)) ) def test_trialSkip(self): """ Skips using trial's skipping functionality are reported as skips in the L{pyunit.TestResult}. """ class SkipTest(SynchronousTestCase): @skipIf(True, "Let's skip!") def test_skip(self): 1 / 0 test = SkipTest("test_skip") result = pyunit.TestResult() test.run(result) self.assertEqual(result.skipped, [(test, "Let's skip!")]) def test_pyunitSkip(self): """ Skips using pyunit's skipping functionality are reported as skips in the L{pyunit.TestResult}. """ class SkipTest(SynchronousTestCase): @pyunit.skip("skippy") def test_skip(self): 1 / 0 test = SkipTest("test_skip") result = pyunit.TestResult() test.run(result) self.assertEqual(result.skipped, [(test, "skippy")])