blob: f22e833fe3a24f452fc9615d3e68ce559b6df341 [file] [log] [blame]
commit-bot@chromium.org3eb77e42014-04-04 16:40:25 +00001#!/usr/bin/python
2
3"""
4Copyright 2014 Google Inc.
5
6Use of this source code is governed by a BSD-style license that can be
7found in the LICENSE file.
8
9Test results.py
10
11"""
12
13# Imports from within Skia
14import base_unittest
15import results
16
17
18class ResultsTest(base_unittest.TestCase):
19
commit-bot@chromium.orgdefe6fd2014-04-10 15:05:24 +000020 def test_ignore_builder(self):
21 """Test _ignore_builder()."""
22 results_obj = results.BaseComparisons()
23 self.assertEqual(results_obj._ignore_builder('SomethingTSAN'), True)
24 self.assertEqual(results_obj._ignore_builder('Something-Trybot'), True)
25 self.assertEqual(results_obj._ignore_builder(
26 'Test-Ubuntu12-ShuttleA-GTX660-x86-Release'), False)
27 results_obj.set_skip_builders_pattern_list(['.*TSAN.*', '.*GTX660.*'])
28 self.assertEqual(results_obj._ignore_builder('SomethingTSAN'), True)
29 self.assertEqual(results_obj._ignore_builder('Something-Trybot'), False)
30 self.assertEqual(results_obj._ignore_builder(
31 'Test-Ubuntu12-ShuttleA-GTX660-x86-Release'), True)
32 results_obj.set_skip_builders_pattern_list(None)
33 self.assertEqual(results_obj._ignore_builder('SomethingTSAN'), False)
34 self.assertEqual(results_obj._ignore_builder('Something-Trybot'), False)
35 self.assertEqual(results_obj._ignore_builder(
36 'Test-Ubuntu12-ShuttleA-GTX660-x86-Release'), False)
37 results_obj.set_match_builders_pattern_list(['.*TSAN'])
38 self.assertEqual(results_obj._ignore_builder('SomethingTSAN'), False)
39 self.assertEqual(results_obj._ignore_builder('Something-Trybot'), True)
40 self.assertEqual(results_obj._ignore_builder(
41 'Test-Ubuntu12-ShuttleA-GTX660-x86-Release'), True)
42
commit-bot@chromium.org3eb77e42014-04-04 16:40:25 +000043 def test_combine_subdicts_typical(self):
44 """Test combine_subdicts() with no merge conflicts. """
45 input_dict = {
46 "failed" : {
47 "changed.png" : [ "bitmap-64bitMD5", 8891695120562235492 ],
48 },
49 "no-comparison" : {
50 "unchanged.png" : [ "bitmap-64bitMD5", 11092453015575919668 ],
51 }
52 }
53 expected_output_dict = {
54 "changed.png" : [ "bitmap-64bitMD5", 8891695120562235492 ],
55 "unchanged.png" : [ "bitmap-64bitMD5", 11092453015575919668 ],
56 }
57 actual_output_dict = results.BaseComparisons.combine_subdicts(
58 input_dict=input_dict)
59 self.assertEqual(actual_output_dict, expected_output_dict)
60
61 def test_combine_subdicts_with_merge_conflict(self):
62 """Test combine_subdicts() with a merge conflict. """
63 input_dict = {
64 "failed" : {
65 "changed.png" : [ "bitmap-64bitMD5", 8891695120562235492 ],
66 },
67 "no-comparison" : {
68 "changed.png" : [ "bitmap-64bitMD5", 11092453015575919668 ],
69 }
70 }
71 with self.assertRaises(Exception):
72 actual_output_dict = results.BaseComparisons.combine_subdicts(
73 input_dict=input_dict)
74
75
76def main():
77 base_unittest.main(ResultsTest)
78
79
80if __name__ == '__main__':
81 main()