Log Message
gtest normalization in the test results server is sometimes wrong https://bugs.webkit.org/show_bug.cgi?id=73262
Reviewed by Tony Chang. If a gtest has it's modified changed (e.g. add FLAKY_) then it will have two entries in the incremental JSON, one of the entries will have the correct data from the run and the other will have dummy no-data values. Make sure to always pick the one with real data. * TestResultServer/model/jsonresults.py: (JsonResults._remove_gtest_modifiers): * TestResultServer/model/jsonresults_unittest.py: (JsonResultsTest.test_remove_gtest_modifiers):
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (101302 => 101303)
--- trunk/Tools/ChangeLog 2011-11-29 00:22:59 UTC (rev 101302)
+++ trunk/Tools/ChangeLog 2011-11-29 00:38:25 UTC (rev 101303)
@@ -1,5 +1,22 @@
2011-11-28 Ojan Vafai <o...@chromium.org>
+ gtest normalization in the test results server is sometimes wrong
+ https://bugs.webkit.org/show_bug.cgi?id=73262
+
+ Reviewed by Tony Chang.
+
+ If a gtest has it's modified changed (e.g. add FLAKY_) then it will have two
+ entries in the incremental JSON, one of the entries will have the correct data
+ from the run and the other will have dummy no-data values. Make sure to
+ always pick the one with real data.
+
+ * TestResultServer/model/jsonresults.py:
+ (JsonResults._remove_gtest_modifiers):
+ * TestResultServer/model/jsonresults_unittest.py:
+ (JsonResultsTest.test_remove_gtest_modifiers):
+
+2011-11-28 Ojan Vafai <o...@chromium.org>
+
Some of the results.json files have results/times entries at the directory level
https://bugs.webkit.org/show_bug.cgi?id=73261
Modified: trunk/Tools/TestResultServer/model/jsonresults.py (101302 => 101303)
--- trunk/Tools/TestResultServer/model/jsonresults.py 2011-11-29 00:22:59 UTC (rev 101302)
+++ trunk/Tools/TestResultServer/model/jsonresults.py 2011-11-29 00:38:25 UTC (rev 101303)
@@ -235,16 +235,14 @@
def _remove_gtest_modifiers(cls, builder, json):
tests = json[builder][JSON_RESULTS_TESTS]
new_tests = {}
- # FIXME: This is wrong. If the test exists in the incremental results as both values, then one will overwrite the other.
- # We should instead pick the one that doesn't have NO_DATA as its value.
- # Alternately we could fix this by having the JSON generation code on the buildbot only include the test
- # that was actually run.
- for name, test in tests.iteritems():
+ for name, test in tests.items():
new_name = name.replace('.FLAKY_', '.', 1)
new_name = new_name.replace('.FAILS_', '.', 1)
new_name = new_name.replace('.MAYBE_', '.', 1)
new_name = new_name.replace('.DISABLED_', '.', 1)
- new_tests[new_name] = test
+ if new_name not in new_tests or test[JSON_RESULTS_RESULTS][0][1] != JSON_RESULTS_NO_DATA:
+ new_tests[new_name] = test
+
json[builder][JSON_RESULTS_TESTS] = new_tests
@classmethod
Modified: trunk/Tools/TestResultServer/model/jsonresults_unittest.py (101302 => 101303)
--- trunk/Tools/TestResultServer/model/jsonresults_unittest.py 2011-11-29 00:22:59 UTC (rev 101302)
+++ trunk/Tools/TestResultServer/model/jsonresults_unittest.py 2011-11-29 00:38:25 UTC (rev 101303)
@@ -689,14 +689,17 @@
"version": 3},
# Incremental results
{"builds": ["3"],
- "tests": {"foo.FLAKY_bar": {
+ "tests": {"foo.DISABLED_bar": {
"results": [[1,"F"]],
"times": [[1,0]]},
- "foo.DISABLED_bar2": {
+ "foo.FLAKY_bar2": {
+ "results": [[1,"N"]],
+ "times": [[1,0]]},
+ "foo.bar2": {
"results": [[1,"I"]],
"times": [[1,0]]},
"foo.bar3": {
- "results": [[1,"I"]],
+ "results": [[1,"N"]],
"times": [[1,0]]},
"foo.FAILS_bar3": {
"results": [[1,"I"]],
@@ -707,7 +710,10 @@
"version": 4},
# Expected results
{"builds": ["3", "2", "1"],
- "tests": {"foo.bar": {
+ "tests": {"foo.FAILS_bar3": {
+ "results": [[1,"N"],[100,"I"]],
+ "times": [[101,0]]},
+ "foo.bar": {
"results": [[51,"F"]],
"times": [[51,0]]},
"foo.bar2": {
@@ -716,9 +722,6 @@
"foo.bar3": {
"results": [[1,"I"]],
"times": [[1,0]]},
- "foo.FAILS_bar3": {
- "results": [[1,"N"],[100,"I"]],
- "times": [[101,0]]},
"foo.bar4": {
"results": [[1,"I"]],
"times": [[1,0]]}},
_______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes