123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259 |
- # Copyright (c) Twisted Matrix Laboratories.
- # See LICENSE for details.
- """
- Interfaces for Trial.
- Maintainer: Jonathan Lange
- """
- from __future__ import division, absolute_import
- import zope.interface as zi
- from zope.interface import Attribute
- class ITestCase(zi.Interface):
- """
- The interface that a test case must implement in order to be used in Trial.
- """
- failureException = zi.Attribute(
- "The exception class that is raised by failed assertions")
- def __call__(result):
- """
- Run the test. Should always do exactly the same thing as run().
- """
- def countTestCases():
- """
- Return the number of tests in this test case. Usually 1.
- """
- def id():
- """
- Return a unique identifier for the test, usually the fully-qualified
- Python name.
- """
- def run(result):
- """
- Run the test, storing the results in C{result}.
- @param result: A L{TestResult}.
- """
- def shortDescription():
- """
- Return a short description of the test.
- """
- class IReporter(zi.Interface):
- """
- I report results from a run of a test suite.
- """
- stream = zi.Attribute(
- "Deprecated in Twisted 8.0. "
- "The io-stream that this reporter will write to")
- tbformat = zi.Attribute("Either 'default', 'brief', or 'verbose'")
- args = zi.Attribute(
- "Additional string argument passed from the command line")
- shouldStop = zi.Attribute(
- """
- A boolean indicating that this reporter would like the test run to stop.
- """)
- separator = Attribute(
- "Deprecated in Twisted 8.0. "
- "A value which will occasionally be passed to the L{write} method.")
- testsRun = Attribute(
- """
- The number of tests that seem to have been run according to this
- reporter.
- """)
- def startTest(method):
- """
- Report the beginning of a run of a single test method.
- @param method: an object that is adaptable to ITestMethod
- """
- def stopTest(method):
- """
- Report the status of a single test method
- @param method: an object that is adaptable to ITestMethod
- """
- def startSuite(name):
- """
- Deprecated in Twisted 8.0.
- Suites which wish to appear in reporter output should call this
- before running their tests.
- """
- def endSuite(name):
- """
- Deprecated in Twisted 8.0.
- Called at the end of a suite, if and only if that suite has called
- C{startSuite}.
- """
- def cleanupErrors(errs):
- """
- Deprecated in Twisted 8.0.
- Called when the reactor has been left in a 'dirty' state
- @param errs: a list of L{twisted.python.failure.Failure}s
- """
- def upDownError(userMeth, warn=True, printStatus=True):
- """
- Deprecated in Twisted 8.0.
- Called when an error occurs in a setUp* or tearDown* method
- @param warn: indicates whether or not the reporter should emit a
- warning about the error
- @type warn: Boolean
- @param printStatus: indicates whether or not the reporter should
- print the name of the method and the status
- message appropriate for the type of error
- @type printStatus: Boolean
- """
- def addSuccess(test):
- """
- Record that test passed.
- """
- def addError(test, error):
- """
- Record that a test has raised an unexpected exception.
- @param test: The test that has raised an error.
- @param error: The error that the test raised. It will either be a
- three-tuple in the style of C{sys.exc_info()} or a
- L{Failure<twisted.python.failure.Failure>} object.
- """
- def addFailure(test, failure):
- """
- Record that a test has failed with the given failure.
- @param test: The test that has failed.
- @param failure: The failure that the test failed with. It will
- either be a three-tuple in the style of C{sys.exc_info()}
- or a L{Failure<twisted.python.failure.Failure>} object.
- """
- def addExpectedFailure(test, failure, todo=None):
- """
- Record that the given test failed, and was expected to do so.
- In Twisted 15.5 and prior, C{todo} was a mandatory parameter.
- @type test: L{unittest.TestCase}
- @param test: The test which this is about.
- @type error: L{failure.Failure}
- @param error: The error which this test failed with.
- @type todo: L{unittest.Todo}
- @param todo: The reason for the test's TODO status. If L{None}, a
- generic reason is used.
- """
- def addUnexpectedSuccess(test, todo=None):
- """
- Record that the given test failed, and was expected to do so.
- In Twisted 15.5 and prior, C{todo} was a mandatory parameter.
- @type test: L{unittest.TestCase}
- @param test: The test which this is about.
- @type todo: L{unittest.Todo}
- @param todo: The reason for the test's TODO status. If L{None}, a
- generic reason is used.
- """
- def addSkip(test, reason):
- """
- Record that a test has been skipped for the given reason.
- @param test: The test that has been skipped.
- @param reason: An object that the test case has specified as the reason
- for skipping the test.
- """
- def printSummary():
- """
- Deprecated in Twisted 8.0, use L{done} instead.
- Present a summary of the test results.
- """
- def printErrors():
- """
- Deprecated in Twisted 8.0, use L{done} instead.
- Present the errors that have occurred during the test run. This method
- will be called after all tests have been run.
- """
- def write(string):
- """
- Deprecated in Twisted 8.0, use L{done} instead.
- Display a string to the user, without appending a new line.
- """
- def writeln(string):
- """
- Deprecated in Twisted 8.0, use L{done} instead.
- Display a string to the user, appending a new line.
- """
- def wasSuccessful():
- """
- Return a boolean indicating whether all test results that were reported
- to this reporter were successful or not.
- """
- def done():
- """
- Called when the test run is complete.
- This gives the result object an opportunity to display a summary of
- information to the user. Once you have called C{done} on an
- L{IReporter} object, you should assume that the L{IReporter} object is
- no longer usable.
- """
|