⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 101303 in webkit


Ignore:
Timestamp:
Nov 28, 2011, 4:38:25 PM (15 years ago)
Author:
ojan@chromium.org
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):

Location:
trunk/Tools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r101299 r101303  
     12011-11-28  Ojan Vafai  <ojan@chromium.org>
     2
     3        gtest normalization in the test results server is sometimes wrong
     4        https://bugs.webkit.org/show_bug.cgi?id=73262
     5
     6        Reviewed by Tony Chang.
     7
     8        If a gtest has it's modified changed (e.g. add FLAKY_) then it will have two
     9        entries in the incremental JSON, one of the entries will have the correct data
     10        from the run and the other will have dummy no-data values. Make sure to
     11        always pick the one with real data.
     12
     13        * TestResultServer/model/jsonresults.py:
     14        (JsonResults._remove_gtest_modifiers):
     15        * TestResultServer/model/jsonresults_unittest.py:
     16        (JsonResultsTest.test_remove_gtest_modifiers):
     17
    1182011-11-28  Ojan Vafai  <ojan@chromium.org>
    219
  • trunk/Tools/TestResultServer/model/jsonresults.py

    r101299 r101303  
    236236        tests = json[builder][JSON_RESULTS_TESTS]
    237237        new_tests = {}
    238         # FIXME: This is wrong. If the test exists in the incremental results as both values, then one will overwrite the other.
    239         # We should instead pick the one that doesn't have NO_DATA as its value.
    240         # Alternately we could fix this by having the JSON generation code on the buildbot only include the test
    241         # that was actually run.
    242         for name, test in tests.iteritems():
     238        for name, test in tests.items():
    243239            new_name = name.replace('.FLAKY_', '.', 1)
    244240            new_name = new_name.replace('.FAILS_', '.', 1)
    245241            new_name = new_name.replace('.MAYBE_', '.', 1)
    246242            new_name = new_name.replace('.DISABLED_', '.', 1)
    247             new_tests[new_name] = test
     243            if new_name not in new_tests or test[JSON_RESULTS_RESULTS][0][1] != JSON_RESULTS_NO_DATA:
     244                new_tests[new_name] = test
     245
    248246        json[builder][JSON_RESULTS_TESTS] = new_tests
    249247
  • trunk/Tools/TestResultServer/model/jsonresults_unittest.py

    r101299 r101303  
    690690            # Incremental results
    691691            {"builds": ["3"],
    692              "tests": {"foo.FLAKY_bar": {
     692             "tests": {"foo.DISABLED_bar": {
    693693                           "results": [[1,"F"]],
    694694                           "times": [[1,0]]},
    695                        "foo.DISABLED_bar2": {
     695                       "foo.FLAKY_bar2": {
     696                           "results": [[1,"N"]],
     697                           "times": [[1,0]]},
     698                       "foo.bar2": {
    696699                           "results": [[1,"I"]],
    697700                           "times": [[1,0]]},
    698701                       "foo.bar3": {
    699                            "results": [[1,"I"]],
     702                           "results": [[1,"N"]],
    700703                           "times": [[1,0]]},
    701704                       "foo.FAILS_bar3": {
     
    708711            # Expected results
    709712            {"builds": ["3", "2", "1"],
    710              "tests": {"foo.bar": {
     713             "tests": {"foo.FAILS_bar3": {
     714                           "results": [[1,"N"],[100,"I"]],
     715                           "times": [[101,0]]},
     716                       "foo.bar": {
    711717                           "results": [[51,"F"]],
    712718                           "times": [[51,0]]},
     
    717723                           "results": [[1,"I"]],
    718724                           "times": [[1,0]]},
    719                        "foo.FAILS_bar3": {
    720                               "results": [[1,"N"],[100,"I"]],
    721                               "times": [[101,0]]},
    722725                       "foo.bar4": {
    723726                           "results": [[1,"I"]],
Note: See TracChangeset for help on using the changeset viewer.