Title: [101303] trunk/Tools
Revision
101303
Author
o...@chromium.org
Date
2011-11-28 16:38:25 -0800 (Mon, 28 Nov 2011)

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

Reply via email to