Changeset 90682 in webkit


Ignore:
Timestamp:
Jul 9, 2011 12:05:44 PM (13 years ago)
Author:
Adam Roben
Message:

Teach TestFailures to abbreviate the examples of test flakiness

These lists can get quite long, and it's not really helpful in most cases to have soooooo
many examples of flakiness.

Fixes <http://webkit.org/b/64203> Lists of flaky revisions on TestFailures page can get so
long they're hard to navigate

Reviewed by Dan Bates.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FlakyLayoutTestDetector.js:

(FlakyLayoutTestDetector.prototype.flakinessExamples): If we have more than a certain number
of examples, replace the middle items with a separator.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailures.css:

(.flakiness-example-separator): Added styles for the separator.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js:

(ViewController.prototype._domForPossiblyFlakyTests): Use a vertical ellipsis to represent
the separator.

Location:
trunk/Tools
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FlakyLayoutTestDetector.js

    r90120 r90682  
    8989        }
    9090
     91        // The list of examples can get quite long. Instead of showing the whole list, we abbreviate
     92        // by replacing the middle items with a separator.
     93        const startAndEndAbbreviatedExamplesCount = 3;
     94        console.assert(startAndEndAbbreviatedExamplesCount > 1);
     95        var abbreviatedExamplesToShow = 2 * startAndEndAbbreviatedExamplesCount;
     96        if (examples.length > abbreviatedExamplesToShow) {
     97            var examplesBeforeSeparator = examples.slice(0, startAndEndAbbreviatedExamplesCount);
     98            var examplesAfterSeparator = examples.slice(-startAndEndAbbreviatedExamplesCount);
     99
     100            // There's no real use in having two "pass" examples in a row immediately next to the
     101            // separator.
     102            if (examplesBeforeSeparator[examplesBeforeSeparator.length - 1].result.failureType === 'pass' && examplesBeforeSeparator[examplesBeforeSeparator.length - 2].result.failureType === 'pass')
     103                examplesBeforeSeparator.splice(examplesBeforeSeparator.length - 1, 1);
     104            if (examplesAfterSeparator[0].result.failureType === 'pass' && examplesAfterSeparator[1].result.failureType === 'pass')
     105                examplesAfterSeparator.splice(0, 1);
     106            examples = examplesBeforeSeparator.concat({ isSeparator: true }, examplesAfterSeparator);
     107        }
     108
    91109        return examples;
    92110    },
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailures.css

    r90672 r90682  
    6060    display: none;
    6161}
     62
     63.flakiness-example-separator {
     64    padding-left: 5em;
     65    font-size: larger;
     66}
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js

    r90672 r90682  
    512512            historyList.appendChildren(possiblyFlakyTestData[testName].map(function(historyItem) {
    513513                var item = document.createElement('li');
     514                if (historyItem.isSeparator) {
     515                    const verticalEllipsis = '\u22ee';
     516                    item.appendChild(document.createTextNode(verticalEllipsis));
     517                    item.className = 'flakiness-example-separator';
     518                    return item;
     519                }
    514520                item.appendChild(self._domForBuildName(builder, historyItem.build));
    515521                item.appendChild(document.createTextNode(': '));
  • trunk/Tools/ChangeLog

    r90679 r90682  
     12011-07-09  Adam Roben  <aroben@apple.com>
     2
     3        Teach TestFailures to abbreviate the examples of test flakiness
     4
     5        These lists can get quite long, and it's not really helpful in most cases to have soooooo
     6        many examples of flakiness.
     7
     8        Fixes <http://webkit.org/b/64203> Lists of flaky revisions on TestFailures page can get so
     9        long they're hard to navigate
     10
     11        Reviewed by Dan Bates.
     12
     13        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FlakyLayoutTestDetector.js:
     14        (FlakyLayoutTestDetector.prototype.flakinessExamples): If we have more than a certain number
     15        of examples, replace the middle items with a separator.
     16
     17        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailures.css:
     18        (.flakiness-example-separator): Added styles for the separator.
     19
     20        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js:
     21        (ViewController.prototype._domForPossiblyFlakyTests): Use a vertical ellipsis to represent
     22        the separator.
     23
    1242011-07-09  Dirk Pranke  <dpranke@chromium.org>
    225
Note: See TracChangeset for help on using the changeset viewer.