Modified: trunk/Tools/ChangeLog (99782 => 99783)
--- trunk/Tools/ChangeLog 2011-11-10 00:39:21 UTC (rev 99782)
+++ trunk/Tools/ChangeLog 2011-11-10 00:49:03 UTC (rev 99783)
@@ -1,3 +1,18 @@
+2011-11-09 Ojan Vafai <[email protected]>
+
+ Merge in results to the test results server even if build numbers conflict
+ https://bugs.webkit.org/show_bug.cgi?id=71967
+
+ Reviewed by Tony Chang.
+
+ This was initially meant to be a sanity check that we don't
+ enter duplicate runs, but it turns out that we can reasonably get
+ in these situations when a builder is clobbered (e.g. the build
+ numbers start over again from 0).
+
+ * TestResultServer/model/jsonresults.py:
+ * TestResultServer/model/jsonresults_unittest.py:
+
2011-11-09 Eric Seidel <[email protected]>
Remove the concept of platform-dependent unittests
Modified: trunk/Tools/TestResultServer/model/jsonresults.py (99782 => 99783)
--- trunk/Tools/TestResultServer/model/jsonresults.py 2011-11-10 00:39:21 UTC (rev 99782)
+++ trunk/Tools/TestResultServer/model/jsonresults.py 2011-11-10 00:49:03 UTC (rev 99783)
@@ -99,19 +99,6 @@
build_number = int(incremental_builds[index])
logging.debug("Merging build %s, incremental json index: %d.", build_number, index)
- # FIXME: make this case work.
- if build_number < aggregated_build_number:
- logging.warning("Build %d in incremental json is older than the most recent build in aggregated results: %d",
- build_number, aggregated_build_number)
- return False
-
- # FIXME: skip the duplicated build and merge rest of the results.
- # Need to be careful on skiping the corresponding value in
- # _merge_tests because the property data for each test could be accumulated.
- if build_number == aggregated_build_number:
- logging.warning("Duplicate build %d in incremental json", build_number)
- return False
-
# Merge this build into aggreagated results.
cls._merge_one_build(aggregated_json, incremental_json, index, num_runs)
Modified: trunk/Tools/TestResultServer/model/jsonresults_unittest.py (99782 => 99783)
--- trunk/Tools/TestResultServer/model/jsonresults_unittest.py 2011-11-10 00:39:21 UTC (rev 99782)
+++ trunk/Tools/TestResultServer/model/jsonresults_unittest.py 2011-11-10 00:49:03 UTC (rev 99783)
@@ -373,38 +373,42 @@
def test_merge_incremental_result_older_build(self):
# Test the build in incremental results is older than the most recent
# build in aggregated results.
- # The incremental results should be dropped and no merge happens.
self._test_merge(
# Aggregated results
{"builds": ["3", "1"],
"tests": {"001.html": {
- "results": "[200,\"F\"]",
- "times": "[200,0]"}}},
+ "results": "[5,\"F\"]",
+ "times": "[5,0]"}}},
# Incremental results
{"builds": ["2"],
"tests": {"001.html": {
"results": "[1, \"F\"]",
"times": "[1,0]"}}},
# Expected no merge happens.
- None)
+ {"builds": ["2", "3", "1"],
+ "tests": {"001.html": {
+ "results": "[6,\"F\"]",
+ "times": "[6,0]"}}})
def test_merge_incremental_result_same_build(self):
# Test the build in incremental results is same as the build in
# aggregated results.
- # The incremental results should be dropped and no merge happens.
self._test_merge(
# Aggregated results
{"builds": ["2", "1"],
"tests": {"001.html": {
- "results": "[200,\"F\"]",
- "times": "[200,0]"}}},
+ "results": "[5,\"F\"]",
+ "times": "[5,0]"}}},
# Incremental results
{"builds": ["3", "2"],
"tests": {"001.html": {
"results": "[2, \"F\"]",
"times": "[2,0]"}}},
# Expected no merge happens.
- None)
+ {"builds": ["3", "2", "2", "1"],
+ "tests": {"001.html": {
+ "results": "[7,\"F\"]",
+ "times": "[7,0]"}}})
def test_merge_remove_test_with_no_data(self):
# Remove test where there is no data in all runs.