results_test.py revision defe6fdbc8edb2df0887c007450a8d8cc446f420
1#!/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
20  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
43  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()
82