Chromium Code Reviews| Index: appengine/findit/waterfall/test/detect_first_failure_pipeline_test.py |
| diff --git a/appengine/findit/waterfall/test/detect_first_failure_pipeline_test.py b/appengine/findit/waterfall/test/detect_first_failure_pipeline_test.py |
| index 63ec4abb9fa58823a3a9ca49806f2bc24e49a906..187e8c9551d95d75e5fcaab4079b71d5ac8385a3 100644 |
| --- a/appengine/findit/waterfall/test/detect_first_failure_pipeline_test.py |
| +++ b/appengine/findit/waterfall/test/detect_first_failure_pipeline_test.py |
| @@ -16,6 +16,7 @@ from model.wf_analysis import WfAnalysis |
| from model.wf_build import WfBuild |
| from model.wf_step import WfStep |
| from waterfall import buildbot |
| +from waterfall import detect_first_failure_pipeline |
| from waterfall import lock_util |
| from waterfall import swarming_util |
| from waterfall.build_info import BuildInfo |
| @@ -310,11 +311,13 @@ class DetectFirstFailureTest(wf_testcase.WaterfallTestCase): |
| 'tests': { |
| 'Unittest2.Subtest1': { |
| 'current_failure': 223, |
| - 'first_failure': 223 |
| + 'first_failure': 223, |
| + 'base_test_name': 'Unittest2.Subtest1' |
| }, |
| 'Unittest3.Subtest2': { |
| 'current_failure': 223, |
| 'first_failure': 223, |
| + 'base_test_name': 'Unittest3.Subtest2' |
| } |
| } |
| } |
| @@ -390,11 +393,13 @@ class DetectFirstFailureTest(wf_testcase.WaterfallTestCase): |
| 'Unittest2.Subtest1': { |
| 'current_failure': 223, |
| 'first_failure': 223, |
| - 'last_pass': 223 |
| + 'last_pass': 223, |
| + 'base_test_name': 'Unittest2.Subtest1' |
| }, |
| 'Unittest3.Subtest2': { |
| 'current_failure': 223, |
| - 'first_failure': 223 |
| + 'first_failure': 223, |
| + 'base_test_name': 'Unittest3.Subtest2' |
| } |
| } |
| } |
| @@ -444,11 +449,13 @@ class DetectFirstFailureTest(wf_testcase.WaterfallTestCase): |
| 'Unittest2.Subtest1': { |
| 'current_failure': 223, |
| 'first_failure': 222, |
| - 'last_pass': 221 |
| + 'last_pass': 221, |
| + 'base_test_name': 'Unittest2.Subtest1' |
| }, |
| 'Unittest3.Subtest2': { |
| 'current_failure': 223, |
| - 'first_failure': 221 |
| + 'first_failure': 221, |
| + 'base_test_name': 'Unittest3.Subtest2' |
| } |
| } |
| } |
| @@ -466,7 +473,8 @@ class DetectFirstFailureTest(wf_testcase.WaterfallTestCase): |
| 'Unittest2.Subtest1': { |
| 'current_failure': 223, |
| 'first_failure': 223, |
| - 'last_pass': 223 |
| + 'last_pass': 223, |
| + 'base_test_name': 'Unittest2.Subtest1' |
| } |
| } |
| } |
| @@ -488,7 +496,8 @@ class DetectFirstFailureTest(wf_testcase.WaterfallTestCase): |
| 'Unittest2.Subtest1': { |
| 'current_failure': 223, |
| 'first_failure': 223, |
| - 'last_pass': 222 |
| + 'last_pass': 222, |
| + 'base_test_name': 'Unittest2.Subtest1' |
| } |
| } |
| } |
| @@ -516,12 +525,14 @@ class DetectFirstFailureTest(wf_testcase.WaterfallTestCase): |
| 'Unittest2.Subtest1': { |
| 'current_failure': 223, |
| 'first_failure': 222, |
| - 'last_pass': 221 |
| + 'last_pass': 221, |
| + 'base_test_name': 'Unittest2.Subtest1' |
| }, |
| 'Unittest3.Subtest2': { |
| 'current_failure': 223, |
| 'first_failure': 222, |
| - 'last_pass': 221 |
| + 'last_pass': 221, |
| + 'base_test_name': 'Unittest3.Subtest2' |
| } |
| } |
| } |
| @@ -636,12 +647,14 @@ class DetectFirstFailureTest(wf_testcase.WaterfallTestCase): |
| 'Unittest2.Subtest1': { |
| 'current_failure': 223, |
| 'first_failure': 222, |
| - 'last_pass': 221 |
| + 'last_pass': 221, |
| + 'base_test_name': 'Unittest2.Subtest1' |
| }, |
| 'Unittest3.Subtest2': { |
| 'current_failure': 223, |
| 'first_failure': 222, |
| - 'last_pass': 221 |
| + 'last_pass': 221, |
| + 'base_test_name': 'Unittest3.Subtest2' |
| } |
| } |
| } |
| @@ -722,3 +735,16 @@ class DetectFirstFailureTest(wf_testcase.WaterfallTestCase): |
| build_info.failed_steps = failed_steps |
| self.assertEqual( |
| expected_type, DetectFirstFailurePipeline._GetFailureType(build_info)) |
| + |
| + def testRemoveAnyPrefixes(self): |
| + test_samples = ['test1', 'PRE_t', 'TestSuite1.Test1', |
| + 'TestSuite1.PRE_Test1', 'TestSuite1.PRE_PRE_Test1', |
| + 'PRE_TestSuite1.Test1'] |
| + expected_base_tests = ['test1', 'PRE_t', 'TestSuite1.Test1', |
|
stgao
2016/07/12 17:47:50
How about a map from original test to base test?
chanli
2016/07/12 20:04:52
Done.
|
| + 'TestSuite1.Test1', 'TestSuite1.Test1', |
| + 'PRE_TestSuite1.Test1'] |
| + |
| + base_tests = [detect_first_failure_pipeline._RemoveAnyPrefixes(test) |
| + for test in test_samples] |
| + print base_tests |
| + self.assertEqual(base_tests, expected_base_tests) |