# Path: airy/utils/unittest/result.py
# def failfast(method):
#     def inner(self, *args, **kw):
#     def __init__(self):
#     def startTest(self, test):
#     def startTestRun(self):
#     def stopTest(self, test):
#     def stopTestRun(self):
#     def addError(self, test, err):
#     def addFailure(self, test, err):
#     def addSuccess(self, test):
#     def addSkip(self, test, reason):
#     def addExpectedFailure(self, test, err):
#     def addUnexpectedSuccess(self, test):
#     def wasSuccessful(self):
#     def stop(self):
#     def _exc_info_to_string(self, err, test):
#     def _is_relevant_tb_level(self, tb):
#     def _count_relevant_tb_levels(self, tb):
#     def __repr__(self):
# STDOUT_LINE = '\nStdout:\n%s'
# STDERR_LINE = '\nStderr:\n%s'
# class TestResult(unittest.TestResult):


import sys
import time
import unittest
from airy.utils.unittest import result
    from airy.utils.unittest.signals import registerResult
    def run(self, test):
        "Run the given test case or test suite."
        result = self._makeResult()
        result.failfast = self.failfast
        result.buffer = self.buffer
        registerResult(result)

        startTime = time.time()
        startTestRun = getattr(result, 'startTestRun', None)
        if startTestRun is not None:
            startTestRun()
        try:
            test(result)
        finally:
            stopTestRun = getattr(result, 'stopTestRun', None)
            if stopTestRun is not None:
                stopTestRun()
            else:
                result.printErrors()
        stopTime = time.time()
        timeTaken = stopTime - startTime
        if hasattr(result, 'separator2'):
            self.stream.writeln(result.separator2)
        run = result.testsRun
        self.stream.writeln("Ran %d test%s in %.3fs" %
                            (run, run != 1 and "s" or "", timeTaken))
        self.stream.writeln()

        expectedFails = unexpectedSuccesses = skipped = 0
        try:

# Path: airy/utils/unittest/result.py
# def failfast(method):
#     def inner(self, *args, **kw):
#     def __init__(self):
#     def startTest(self, test):
#     def startTestRun(self):
#     def stopTest(self, test):
#     def stopTestRun(self):
#     def addError(self, test, err):
#     def addFailure(self, test, err):
#     def addSuccess(self, test):
#     def addSkip(self, test, reason):
#     def addExpectedFailure(self, test, err):
#     def addUnexpectedSuccess(self, test):
#     def wasSuccessful(self):
#     def stop(self):
#     def _exc_info_to_string(self, err, test):
#     def _is_relevant_tb_level(self, tb):
#     def _count_relevant_tb_levels(self, tb):
#     def __repr__(self):
# STDOUT_LINE = '\nStdout:\n%s'
# STDERR_LINE = '\nStderr:\n%s'
# class TestResult(unittest.TestResult):


# Path: airy/utils/unittest/runner.py
import sys
import time
import unittest
from airy.utils.unittest import result
    from airy.utils.unittest.signals import registerResult

    def run(self, test):
        "Run the given test case or test suite."
        result = self._makeResult()
        result.failfast = self.failfast
        result.buffer = self.buffer
        registerResult(result)

        startTime = time.time()
        startTestRun = getattr(result, 'startTestRun', None)
        if startTestRun is not None:
            startTestRun()
        try:
            test(result)
        finally:
            stopTestRun = getattr(result, 'stopTestRun', None)
            if stopTestRun is not None:
                stopTestRun()
            else:
                result.printErrors()
        stopTime = time.time()
        timeTaken = stopTime - startTime
        if hasattr(result, 'separator2'):
            self.stream.writeln(result.separator2)
        run = result.testsRun
        self.stream.writeln("Ran %d test%s in %.3fs" %
                            (run, run != 1 and "s" or "", timeTaken))
        self.stream.writeln()

        expectedFails = unexpectedSuccesses = skipped = 0
        try:

            results = map(len, (result.expectedFailures,