aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/rebaseline_server/results_test.py
blob: f22e833fe3a24f452fc9615d3e68ce559b6df341 (plain)
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
#!/usr/bin/python

"""
Copyright 2014 Google Inc.

Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.

Test results.py

"""

# Imports from within Skia
import base_unittest
import results


class ResultsTest(base_unittest.TestCase):

  def test_ignore_builder(self):
    """Test _ignore_builder()."""
    results_obj = results.BaseComparisons()
    self.assertEqual(results_obj._ignore_builder('SomethingTSAN'), True)
    self.assertEqual(results_obj._ignore_builder('Something-Trybot'), True)
    self.assertEqual(results_obj._ignore_builder(
        'Test-Ubuntu12-ShuttleA-GTX660-x86-Release'), False)
    results_obj.set_skip_builders_pattern_list(['.*TSAN.*', '.*GTX660.*'])
    self.assertEqual(results_obj._ignore_builder('SomethingTSAN'), True)
    self.assertEqual(results_obj._ignore_builder('Something-Trybot'), False)
    self.assertEqual(results_obj._ignore_builder(
        'Test-Ubuntu12-ShuttleA-GTX660-x86-Release'), True)
    results_obj.set_skip_builders_pattern_list(None)
    self.assertEqual(results_obj._ignore_builder('SomethingTSAN'), False)
    self.assertEqual(results_obj._ignore_builder('Something-Trybot'), False)
    self.assertEqual(results_obj._ignore_builder(
        'Test-Ubuntu12-ShuttleA-GTX660-x86-Release'), False)
    results_obj.set_match_builders_pattern_list(['.*TSAN'])
    self.assertEqual(results_obj._ignore_builder('SomethingTSAN'), False)
    self.assertEqual(results_obj._ignore_builder('Something-Trybot'), True)
    self.assertEqual(results_obj._ignore_builder(
        'Test-Ubuntu12-ShuttleA-GTX660-x86-Release'), True)

  def test_combine_subdicts_typical(self):
    """Test combine_subdicts() with no merge conflicts. """
    input_dict = {
      "failed" : {
        "changed.png" : [ "bitmap-64bitMD5", 8891695120562235492 ],
      },
      "no-comparison" : {
        "unchanged.png" : [ "bitmap-64bitMD5", 11092453015575919668 ],
      }
    }
    expected_output_dict = {
      "changed.png" : [ "bitmap-64bitMD5", 8891695120562235492 ],
      "unchanged.png" : [ "bitmap-64bitMD5", 11092453015575919668 ],
    }
    actual_output_dict = results.BaseComparisons.combine_subdicts(
        input_dict=input_dict)
    self.assertEqual(actual_output_dict, expected_output_dict)

  def test_combine_subdicts_with_merge_conflict(self):
    """Test combine_subdicts() with a merge conflict. """
    input_dict = {
      "failed" : {
        "changed.png" : [ "bitmap-64bitMD5", 8891695120562235492 ],
      },
      "no-comparison" : {
        "changed.png" : [ "bitmap-64bitMD5", 11092453015575919668 ],
      }
    }
    with self.assertRaises(Exception):
      actual_output_dict = results.BaseComparisons.combine_subdicts(
          input_dict=input_dict)


def main():
  base_unittest.main(ResultsTest)


if __name__ == '__main__':
  main()