File: factory.py

package info (click to toggle)
tap.py 3.2.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 476 kB
  • sloc: python: 1,808; makefile: 164; sh: 40
file content (36 lines) | stat: -rw-r--r-- 1,079 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import sys
import tempfile
from unittest.runner import TextTestResult

from tap.directive import Directive
from tap.line import Bail, Plan, Result


class Factory:
    """A factory to produce commonly needed objects"""

    def make_ok(self, directive_text=""):
        return Result(True, 1, "This is a description.", Directive(directive_text))

    def make_not_ok(self, directive_text=""):
        return Result(False, 1, "This is a description.", Directive(directive_text))

    def make_bail(self, reason="Because it is busted."):
        return Bail(reason)

    def make_plan(self, expected_tests=99, directive_text=""):
        return Plan(expected_tests, Directive(directive_text))

    def make_test_result(self):
        stream = tempfile.TemporaryFile(mode="w")  # noqa: SIM115
        return TextTestResult(stream, None, 1)

    def make_exc(self):
        """Make a traceback tuple.

        Doing this intentionally is not straight forward.
        """
        try:
            raise ValueError("boom")
        except ValueError:
            return sys.exc_info()