Пример #1
0
def tracker_test_main():
    """Entry point which must be called by all functional test modules."""
    if cfg.tests_verbose():
        # Output all logs to stderr
        logging.basicConfig(stream=sys.stderr, level=logging.DEBUG)
    else:
        # Output only messages from Tracker daemons under test. See
        # tracker.git/utils/trackertestutils/dbusdaemon.py.
        handler_stderr = logging.StreamHandler(stream=sys.stderr)
        handler_stderr.addFilter(logging.Filter('sandbox-session-bus.stderr'))
        handler_stdout = logging.StreamHandler(stream=sys.stderr)
        handler_stdout.addFilter(logging.Filter('sandbox-session-bus.stdout'))
        logging.basicConfig(level=logging.INFO,
                            handlers=[handler_stderr, handler_stdout],
                            format='%(message)s')

    runner = None

    if cfg.tap_protocol_enabled():
        try:
            from tap import TAPTestRunner
            runner = TAPTestRunner()
            runner.set_stream(True)
        except ImportError as e:
            log.error('No TAP test runner found: %s', e)
            raise

    ut.main(testRunner=runner, failfast=True, verbosity=2)
Пример #2
0
def tracker_test_main():
    """Entry point that all functional-test modules must call."""

    if cfg.tests_verbose():
        # Output all logs to stderr
        logging.basicConfig(stream=sys.stderr, level=logging.DEBUG)
    else:
        # Output some messages from D-Bus daemon to stderr by default. In practice,
        # only errors and warnings should be output here unless the environment
        # contains G_MESSAGES_DEBUG=.
        handler_stderr = logging.StreamHandler(stream=sys.stderr)
        handler_stderr.addFilter(logging.Filter('sandbox-session-bus.stderr'))
        handler_stdout = logging.StreamHandler(stream=sys.stderr)
        handler_stdout.addFilter(logging.Filter('sandbox-session-bus.stdout'))
        logging.basicConfig(level=logging.INFO,
                            handlers=[handler_stderr, handler_stdout],
                            format='%(message)s')

    runner = None

    if cfg.tap_protocol_enabled():
        try:
            from tap import TAPTestRunner
            runner = TAPTestRunner()
            runner.set_stream(True)
        except ImportError as e:
            log.error('No TAP test runner found: %s', e)
            raise

    ut.main(testRunner=runner, verbosity=2)
Пример #3
0
    def test_runner_stream_to_devnull_for_streaming(self):
        previous_streaming = _tracker.streaming
        previous_stream = _tracker.stream
        runner = TAPTestRunner()

        runner.set_stream(True)

        self.assertTrue(runner.stream.stream.name, os.devnull)

        _tracker.streaming = previous_streaming
        _tracker.stream = previous_stream
Пример #4
0
    def test_runner_stream_to_devnull_for_streaming(self):
        previous_streaming = _tracker.streaming
        previous_stream = _tracker.stream
        runner = TAPTestRunner()

        runner.set_stream(True)

        self.assertTrue(runner.stream.stream.name, os.devnull)

        _tracker.streaming = previous_streaming
        _tracker.stream = previous_stream
Пример #5
0
    def test_runner_sets_tracker_for_streaming(self):
        """The tracker is set for streaming mode."""
        previous_streaming = _tracker.streaming
        previous_stream = _tracker.stream
        runner = TAPTestRunner()

        runner.set_stream(True)

        self.assertTrue(_tracker.streaming)
        self.assertTrue(_tracker.stream, sys.stdout)

        _tracker.streaming = previous_streaming
        _tracker.stream = previous_stream
Пример #6
0
    def test_runner_sets_tracker_for_streaming(self):
        """The tracker is set for streaming mode."""
        previous_streaming = _tracker.streaming
        previous_stream = _tracker.stream
        runner = TAPTestRunner()

        runner.set_stream(True)

        self.assertTrue(_tracker.streaming)
        self.assertTrue(_tracker.stream, sys.stdout)

        _tracker.streaming = previous_streaming
        _tracker.stream = previous_stream
Пример #7
0
def run_suite(suite):
    if cfg.tap_protocol_enabled():
        try:
            from tap import TAPTestRunner
            runner = TAPTestRunner()
            runner.set_stream(True)
        except ImportError as e:
            log.error('No TAP test runner found: %s', e)
            raise
    else:
        runner = ut.TextTestRunner(verbosity=1)

    result = runner.run(suite)
    sys.exit(not result.wasSuccessful())
Пример #8
0
        setup.wait()
        if setup.returncode != 0:
            raise Exception('Setup failed')


def run_teardowns(tests):
    teardowns = []
    for test in tests:
        test_dir = path_from_name(test[0], 'plain')
        if os.path.isfile(os.path.join(test_dir, 'teardown.sh')):
            teardowns.append(
                subprocess.Popen('./teardown.sh',
                                 cwd=test_dir,
                                 stdout=subprocess.DEVNULL,
                                 stderr=subprocess.DEVNULL))
    for teardown in teardowns:
        teardown.wait()


if __name__ == '__main__':
    tests = get_test_cases()
    run_setups(tests)
    suite = unittest.TestSuite()
    for test in tests:
        suite.addTest(test[1]())
    runner = TAPTestRunner()
    runner.set_format('{method_name}')
    runner.set_stream(True)
    runner.run(suite)
    run_teardowns(tests)
Пример #9
0
                                           stderr=subprocess.DEVNULL))
    for setup in setups:
        setup.wait()
        if setup.returncode != 0:
            raise Exception('Setup failed')


def run_teardowns(tests):
    teardowns = []
    for test in tests:
        test_dir = path_from_name(test[0], 'plain')
        if os.path.isfile(os.path.join(test_dir, 'teardown.sh')):
            teardowns.append(subprocess.Popen('./teardown.sh', cwd=test_dir,
                                              stdout=subprocess.DEVNULL,
                                              stderr=subprocess.DEVNULL))
    for teardown in teardowns:
        teardown.wait()


if __name__ == '__main__':
    tests = get_test_cases()
    run_setups(tests)
    suite = unittest.TestSuite()
    for test in tests:
        suite.addTest(test[1]())
    runner = TAPTestRunner()
    runner.set_format('{method_name}')
    runner.set_stream(True)
    runner.run(suite)
    run_teardowns(tests)