File: base_test_result_unittest.py

package info (click to toggle)
chromium-browser 57.0.2987.98-1~deb8u1
  • links: PTS, VCS
  • area: main
  • in suites: jessie
  • size: 2,637,852 kB
  • ctags: 2,544,394
  • sloc: cpp: 12,815,961; ansic: 3,676,222; python: 1,147,112; asm: 526,608; java: 523,212; xml: 286,794; perl: 92,654; sh: 86,408; objc: 73,271; makefile: 27,698; cs: 18,487; yacc: 13,031; tcl: 12,957; pascal: 4,875; ml: 4,716; lex: 3,904; sql: 3,862; ruby: 1,982; lisp: 1,508; php: 1,368; exp: 404; awk: 325; csh: 117; jsp: 39; sed: 37
file content (82 lines) | stat: -rw-r--r-- 2,817 bytes parent folder | download | duplicates (13)
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# Copyright (c) 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

"""Unittests for TestRunResults."""

import unittest

from pylib.base.base_test_result import BaseTestResult
from pylib.base.base_test_result import TestRunResults
from pylib.base.base_test_result import ResultType


class TestTestRunResults(unittest.TestCase):
  def setUp(self):
    self.p1 = BaseTestResult('p1', ResultType.PASS, log='pass1')
    other_p1 = BaseTestResult('p1', ResultType.PASS)
    self.p2 = BaseTestResult('p2', ResultType.PASS)
    self.f1 = BaseTestResult('f1', ResultType.FAIL, log='failure1')
    self.c1 = BaseTestResult('c1', ResultType.CRASH, log='crash1')
    self.u1 = BaseTestResult('u1', ResultType.UNKNOWN)
    self.tr = TestRunResults()
    self.tr.AddResult(self.p1)
    self.tr.AddResult(other_p1)
    self.tr.AddResult(self.p2)
    self.tr.AddResults(set([self.f1, self.c1, self.u1]))

  def testGetAll(self):
    self.assertFalse(
        self.tr.GetAll().symmetric_difference(
            [self.p1, self.p2, self.f1, self.c1, self.u1]))

  def testGetPass(self):
    self.assertFalse(self.tr.GetPass().symmetric_difference(
        [self.p1, self.p2]))

  def testGetNotPass(self):
    self.assertFalse(self.tr.GetNotPass().symmetric_difference(
        [self.f1, self.c1, self.u1]))

  def testGetAddTestRunResults(self):
    tr2 = TestRunResults()
    other_p1 = BaseTestResult('p1', ResultType.PASS)
    f2 = BaseTestResult('f2', ResultType.FAIL)
    tr2.AddResult(other_p1)
    tr2.AddResult(f2)
    tr2.AddTestRunResults(self.tr)
    self.assertFalse(
        tr2.GetAll().symmetric_difference(
            [self.p1, self.p2, self.f1, self.c1, self.u1, f2]))

  def testGetLogs(self):
    log_print = ('[FAIL] f1:\n'
                 'failure1\n'
                 '[CRASH] c1:\n'
                 'crash1')
    self.assertEqual(self.tr.GetLogs(), log_print)

  def testGetShortForm(self):
    short_print = ('ALL: 5         PASS: 2        FAIL: 1        '
                   'CRASH: 1       TIMEOUT: 0     UNKNOWN: 1     ')
    self.assertEqual(self.tr.GetShortForm(), short_print)

  def testGetGtestForm(self):
    gtest_print = ('[==========] 5 tests ran.\n'
                   '[  PASSED  ] 2 tests.\n'
                   '[  FAILED  ] 3 tests, listed below:\n'
                   '[  FAILED  ] f1\n'
                   '[  FAILED  ] c1 (CRASHED)\n'
                   '[  FAILED  ] u1 (UNKNOWN)\n'
                   '\n'
                   '3 FAILED TESTS')
    self.assertEqual(gtest_print, self.tr.GetGtestForm())

  def testRunPassed(self):
    self.assertFalse(self.tr.DidRunPass())
    tr2 = TestRunResults()
    self.assertTrue(tr2.DidRunPass())


if __name__ == '__main__':
  unittest.main()