Пример #1
0
        def setup_class(cls):
            """class fixture."""
            res1 = results.TestrunResult()
            res1.tests['foo'] = results.TestResult('pass')
            res1.tests['bar'] = results.TestResult('fail')
            res1.tests['oink'] = results.TestResult('crash')
            res1.tests['bonk'] = results.TestResult('warn')
            res1.tests['bor'] = results.TestResult('crash')
            res1.tests['bor'].subtests['1'] = 'pass'
            res1.tests['bor'].subtests['2'] = 'skip'
            res1.tests['bor'].subtests['3'] = 'fail'
            res1.tests['bor'].subtests['4'] = 'pass'

            res2 = results.TestrunResult()
            res2.tests['foo'] = results.TestResult('fail')
            res2.tests['bar'] = results.TestResult('pass')
            res2.tests['oink'] = results.TestResult('crash')
            res2.tests['tonk'] = results.TestResult('incomplete')
            res2.tests['bor'] = results.TestResult('crash')
            res2.tests['bor'].subtests['1'] = 'fail'
            res2.tests['bor'].subtests['2'] = 'skip'
            res2.tests['bor'].subtests['3'] = 'pass'
            res2.tests['bor'].subtests['5'] = 'pass'

            cls.test = summary.Results([res1, res2])
Пример #2
0
    def setup_class(cls):
        res = results.TestrunResult()
        res.tests['foo'] = results.TestResult('fail')
        res.tests['bar'] = results.TestResult('pass')
        res.tests['oink'] = results.TestResult('skip')
        res.tests['tonk'] = results.TestResult('incomplete')

        cls.test = summary.Results([res])
Пример #3
0
    def test_values(self, index, capsys):
        """Create both an expected value and an actual value.

        The expected value makes use of the template, this helps to minimize
        the number of changes that need to be made if the output is altered.
        """
        names = [
            grouptools.join('foo', 'bar', 'oink', 'foobar', 'boink'), 'foo',
            'bar'
        ]
        template = '{: >20.20} {: >12.12}'

        expected = console_._SUMMARY_TEMPLATE.format(
            names=' '.join(['this is a really rea', 'another name']),
            divider=' '.join(['--------------------', '------------']),
            pass_=template.format('1', '2'),
            fail=template.format('2', '0'),
            crash=template.format('0', '0'),
            skip=template.format('0', '1'),
            timeout=template.format('0', '0'),
            warn=template.format('0', '0'),
            incomplete=template.format('0', '0'),
            dmesg_warn=template.format('0', '0'),
            dmesg_fail=template.format('0', '0'),
            changes=template.format('0', '2'),
            fixes=template.format('0', '1'),
            regressions=template.format('0', '0'),
            total=template.format('3', '3'),
            time=template.format('00:01:39', '02:14:05')).split('\n')

        res1 = results.TestrunResult()
        res1.name = 'this is a really really really really long name'
        res1.tests[names[0]] = results.TestResult('pass')
        res1.tests[names[1]] = results.TestResult('fail')
        res1.tests[names[2]] = results.TestResult('notrun')
        res1.tests[names[2]].subtests['1'] = 'fail'
        res1.time_elapsed = results.TimeAttribute(1509747121.4873962,
                                                  1509747220.544042)
        res1.calculate_group_totals()

        res2 = results.TestrunResult()
        res2.name = 'another name'
        res2.tests[names[0]] = results.TestResult('pass')
        res2.tests[names[1]] = results.TestResult('pass')
        res2.tests[names[2]] = results.TestResult('notrun')
        res2.tests[names[2]].subtests['1'] = 'skip'
        res2.time_elapsed = results.TimeAttribute(1464820707.4581327,
                                                  1464828753.201948)
        res2.calculate_group_totals()

        reses = common.Results([res1, res2])

        console_._print_summary(reses)
        actual = capsys.readouterr()[0].splitlines()

        assert actual[index] == expected[index]
Пример #4
0
        def result(self):
            """Returns a result object with no subtests."""
            res1 = results.TestrunResult()
            res1.tests['foo'] = results.TestResult('pass')

            res2 = results.TestrunResult()
            res2.tests['foo'] = results.TestResult('fail')
            res2.tests['bar'] = results.TestResult('fail')

            return summary.Results([res1, res2])
Пример #5
0
def test_Results_get_results_missing():
    """summary.Results.get_results: handles KeyErrors"""
    res1 = results.TestrunResult()
    res1.tests['foo'] = results.TestResult('pass')

    res2 = results.TestrunResult()
    res2.tests['bar'] = results.TestResult('fail')

    res = summary.Results([res1, res2])

    nt.eq_(res.get_result('foo'), [status.PASS, status.NOTRUN])
Пример #6
0
def test_Results_get_results():
    """summary.Results.get_results: returns list of statuses"""
    res1 = results.TestrunResult()
    res1.tests['foo'] = results.TestResult('pass')

    res2 = results.TestrunResult()
    res2.tests['foo'] = results.TestResult('fail')

    res = summary.Results([res1, res2])

    nt.eq_(res.get_result('foo'), [status.PASS, status.FAIL])
Пример #7
0
def test_print_result_replaces():
    """summary.console_._print_result: Replaces separtaor with /"""
    res1 = results.TestrunResult()
    res1.tests[grouptools.join('foo', 'bar')] = results.TestResult('pass')

    reses = common.Results([res1])

    expected = 'foo/bar: pass\n'
    actual = get_stdout(lambda: console_._print_result(reses, reses.names.all))

    nt.eq_(expected, actual)
Пример #8
0
    def test_replaces_separator(self, capsys):
        """summary.console_._print_result: Replaces separator with /."""
        res1 = results.TestrunResult()
        res1.tests[grouptools.join('foo', 'bar')] = results.TestResult('pass')

        reses = common.Results([res1])

        expected = 'foo/bar: pass\n'
        console_._print_result(reses, reses.names.all)
        actual, _ = capsys.readouterr()

        assert expected == actual
Пример #9
0
def test_Results_get_results_missing_subtest():
    """summary.Results.get_results (subtest): handles KeyErrors"""
    res1 = results.TestrunResult()
    res1.tests['foo'] = results.TestResult('pass')
    res1.tests['foo'].subtests['1'] = 'pass'

    res2 = results.TestrunResult()
    res2.tests['bar'] = results.TestResult('fail')

    res = summary.Results([res1, res2])

    nt.eq_(res.get_result(grouptools.join('foo', '1')),
           [status.PASS, status.NOTRUN])
Пример #10
0
        def subtest(self):
            """results a Result object with subtests."""
            res1 = results.TestrunResult()
            res1.tests['foo'] = results.TestResult('notrun')
            res1.tests['foo'].subtests['1'] = 'pass'
            res1.tests['bar'] = results.TestResult('notrun')
            res1.tests['bar'].subtests['1'] = 'pass'

            res2 = results.TestrunResult()
            res2.tests['foo'] = results.TestResult('notrun')
            res2.tests['foo'].subtests['1'] = 'fail'

            return summary.Results([res1, res2])
Пример #11
0
def test_Results_get_results_subtest():
    """summary.Results.get_results (subtest): returns list of statuses"""
    res1 = results.TestrunResult()
    res1.tests['foo'] = results.TestResult('notrun')
    res1.tests['foo'].subtests['1'] = 'pass'

    res2 = results.TestrunResult()
    res2.tests['foo'] = results.TestResult('notrun')
    res2.tests['foo'].subtests['1'] = 'fail'

    res = summary.Results([res1, res2])

    nt.eq_(res.get_result(grouptools.join('foo', '1')),
           [status.PASS, status.FAIL])
Пример #12
0
    def setup_class(cls):
        """Create both an expected value and an actual value.

        The expected value makes use of the template, this helps to minimize
        the number of changes that need to be made if the output is altered.

        """
        names = [
            grouptools.join('foo', 'bar', 'oink', 'foobar', 'boink'), 'foo',
            'bar'
        ]
        template = '{: >20.20} {: >6.6}'

        cls.expected = console_._SUMMARY_TEMPLATE.format(
            names=' '.join(['this is a really rea', 'a name']),
            divider=' '.join(['--------------------', '------']),
            pass_=template.format('1', '2'),
            fail=template.format('2', '0'),
            crash=template.format('0', '0'),
            skip=template.format('0', '1'),
            timeout=template.format('0', '0'),
            warn=template.format('0', '0'),
            incomplete=template.format('0', '0'),
            dmesg_warn=template.format('0', '0'),
            dmesg_fail=template.format('0', '0'),
            changes=template.format('0', '2'),
            fixes=template.format('0', '1'),
            regressions=template.format('0', '0'),
            total=template.format('3', '3')).split('\n')

        res1 = results.TestrunResult()
        res1.name = 'this is a really really really really long name'
        res1.tests[names[0]] = results.TestResult('pass')
        res1.tests[names[1]] = results.TestResult('fail')
        res1.tests[names[2]] = results.TestResult('notrun')
        res1.tests[names[2]].subtests['1'] = 'fail'
        res1.calculate_group_totals()

        res2 = results.TestrunResult()
        res2.name = 'a name'
        res2.tests[names[0]] = results.TestResult('pass')
        res2.tests[names[1]] = results.TestResult('pass')
        res2.tests[names[2]] = results.TestResult('notrun')
        res2.tests[names[2]].subtests['1'] = 'skip'
        res2.calculate_group_totals()

        reses = common.Results([res1, res2])

        cls.actual = get_stdout(lambda: console_._print_summary(reses)).split(
            '\n')
Пример #13
0
def test_print_result():
    """summary.console_._print_result: prints expected values"""
    res1 = results.TestrunResult()
    res1.tests['foo'] = results.TestResult('pass')

    res2 = results.TestrunResult()
    res2.tests['foo'] = results.TestResult('fail')

    reses = common.Results([res1, res2])

    expected = 'foo: pass fail\n'
    actual = get_stdout(lambda: console_._print_result(reses, reses.names.all))

    nt.eq_(expected, actual)
Пример #14
0
    def test_basic(self, capsys):
        """summary.console_._print_result: prints expected values."""
        res1 = results.TestrunResult()
        res1.tests['foo'] = results.TestResult('pass')

        res2 = results.TestrunResult()
        res2.tests['foo'] = results.TestResult('fail')

        reses = common.Results([res1, res2])

        expected = 'foo: pass fail\n'
        console_._print_result(reses, reses.names.all)
        actual, _ = capsys.readouterr()

        assert expected == actual
Пример #15
0
    def setup_class(cls):
        res1 = results.TestrunResult()
        res1.tests['foo'] = results.TestResult('pass')
        res1.tests['bar'] = results.TestResult('fail')
        res1.tests['oink'] = results.TestResult('crash')
        res1.tests['bonk'] = results.TestResult('warn')
        res1.tests['bor'] = results.TestResult('skip')
        res1.tests['red'] = results.TestResult('skip')

        res2 = results.TestrunResult()
        res2.tests['foo'] = results.TestResult('fail')
        res2.tests['bar'] = results.TestResult('pass')
        res2.tests['oink'] = results.TestResult('crash')
        res2.tests['tonk'] = results.TestResult('incomplete')
        res2.tests['red'] = results.TestResult('pass')

        cls.test = summary.Results([res1, res2])
Пример #16
0
    def test(self):
        """Set some values to be used by all tests."""
        res1 = results.TestrunResult()
        res1.tests['foo'] = results.TestResult('pass')
        res1.tests['bar'] = results.TestResult('fail')
        res1.tests['oink'] = results.TestResult('crash')
        res1.tests['bonk'] = results.TestResult('warn')
        res1.tests['bor'] = results.TestResult('skip')
        res1.tests['red'] = results.TestResult('skip')

        res2 = results.TestrunResult()
        res2.tests['foo'] = results.TestResult('fail')
        res2.tests['bar'] = results.TestResult('pass')
        res2.tests['oink'] = results.TestResult('crash')
        res2.tests['tonk'] = results.TestResult('incomplete')
        res2.tests['red'] = results.TestResult('pass')

        return summary.Results([res1, res2])