示例#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])