|  | #!/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() |