Index: scripts/slave/recipe_modules/swarming/tests/collect_gtest_task_test.py |
diff --git a/scripts/slave/recipe_modules/swarming/tests/collect_gtest_task_test.py b/scripts/slave/recipe_modules/swarming/tests/collect_gtest_task_test.py |
index 4df50baf01e6c62b066d0ce921c495c6c8e436d3..65abaf03abfbf139bdbad472cbd1055130e14a3c 100755 |
--- a/scripts/slave/recipe_modules/swarming/tests/collect_gtest_task_test.py |
+++ b/scripts/slave/recipe_modules/swarming/tests/collect_gtest_task_test.py |
@@ -149,6 +149,88 @@ GOOD_GTEST_JSON_MERGED = { |
}, |
} |
+GOOD_JSON_TEST_RESULT_0 = { |
+ 'tests': { |
+ 'car': { |
+ 'honda': { |
+ 'expected': 'PASS', |
+ 'actual': 'PASS' |
+ }, |
+ 'toyota': { |
+ 'expected': 'FAIL', |
+ 'actual': 'FAIL' |
+ } |
+ }, |
+ 'computer': { |
+ 'dell': { |
+ 'expected': 'PASS', |
+ 'actual': 'PASS' |
+ } |
+ }, |
+ }, |
+ 'interrupted': False, |
+ 'path_delimiter': '.', |
+ 'version': 3, |
+ 'seconds_since_epoch': 1406662289.76, |
+ 'num_failures_by_type': { |
+ 'FAIL': 0, |
+ 'PASS': 2 |
+ } |
+} |
+ |
+GOOD_JSON_TEST_RESULT_1 = { |
+ 'tests': { |
+ 'car': { |
+ 'tesla': { |
+ 'expected': 'pass', |
+ 'actual': 'pass' |
+ }, |
+ }, |
+ 'burger': { |
+ 'mcdonald': { |
+ 'expected': 'pass', |
+ 'actual': 'pass' |
+ } |
+ }, |
+ }, |
+ 'interrupted': False, |
+ 'path_delimiter': '.', |
+ 'version': 3, |
+ 'seconds_since_epoch': 1406662283.11, |
+ 'num_failures_by_type': { |
+ 'fail': 0, |
+ 'pass': 2 |
+ } |
+} |
+ |
+GOOD_JSON_TEST_RESULT_2 = { |
+ 'tests': { |
+ 'car': { |
+ 'mercedes': { |
+ 'expected': 'pass', |
+ 'actual': 'fail' |
+ }, |
+ }, |
+ 'burger': { |
+ 'in n out': { |
+ 'expected': 'pass', |
+ 'actual': 'pass' |
+ } |
+ }, |
+ }, |
+ 'interrupted': True, |
+ 'path_delimiter': '.', |
+ 'version': 3, |
+ 'seconds_since_epoch': 1406662200.01, |
+ 'num_failures_by_type': { |
+ 'fail': 1, |
+ 'pass': 1 |
+ } |
+} |
+ |
+GOOD_JSON_TEST_RESULT_MERGED = { |
+} |
Ken Russell (switch to Gerrit)
2016/09/30 23:37:53
Sorry, I don't understand: why is this empty?
nednguyen
2016/10/04 00:10:11
Sorry, I wasn't quite sure how to test this. Pleas
|
+ |
# Only shard #1 finished. UNRELIABLE_RESULTS is set. |
BAD_GTEST_JSON_ONLY_1_SHARD = { |
@@ -341,6 +423,25 @@ class MergeShardResultsTest(auto_stub.TestCase): |
self.assertEqual(GOOD_GTEST_JSON_MERGED, merged) |
self.assertEqual('', stdout) |
+ def test_merged_json_result_ok(self): |
+ self.stage({ |
+ 'summary.json': {'shards': [{'dummy': 0}, {'dummy': 0}, {'dummy': 0}]}, |
+ '0/output.json': GOOD_JSON_TEST_RESULT_0, |
+ '1/output.json': GOOD_JSON_TEST_RESULT_1, |
+ '2/output.json': GOOD_JSON_TEST_RESULT_2, |
+ }) |
+ merged, stdout = self.call() |
+ merged['swarming_summary'] = { |
+ 'shards': [{ |
+ 'outputs_ref': { |
+ 'view_url': 'blah', |
+ }, |
+ }], |
+ } |
+ self.assertEqual(GOOD_JSON_TEST_RESULT_MERGED, merged) |
+ self.assertEqual('', stdout) |
+ |
+ |
def test_missing_summary_json(self): |
# summary.json is missing, should return None and emit warning. |
merged, output = self.call() |