New flakiness dashboard show test time, modifiers, and flaky tests
[WebKit-https.git] / Websites / test-results / ChangeLog
1 2013-10-21  Ryosuke Niwa  <rniwa@webkit.org>
2
3         New flakiness dashboard show test time, modifiers, and flaky tests
4         https://bugs.webkit.org/show_bug.cgi?id=123119
5
6         Reviewed by Tim Horton.
7
8         * api/failing-tests.php: Manually serialize each row in the results to avoid hitting the memory limit.
9         * include/db.php:
10         (Database::query): Added.
11         (Database::fetch_next_row): Added.
12         * include/init-database.sql: Added modifiers and time columns to results table.
13         * include/test-results.php:
14         (store_test_results): Update start_time and end_time to the union of the new interval and the existing interval.
15         (recursively_add_test_results): Handle empty $full_name to eliminate the loop over tests in store_test_results.
16         Also verify that each test name, expected and actual results conform to the specific format to prevent XSS.
17         Also use insert_row instead of select_or_insert_row to avoid issuing an unnecessary SQL query.
18         (format_result): Extracted from format_result_rows. Used in failing-tests.php.
19         * index.html:
20         (TestResultsView): Added _currentBuilderFailureType and _currentBuilderDays.
21         (TestResultsView._createResultCell): Show the test time and the expected result.
22         (TestResultsView._createTestResultRow): Compute the slowest run and also round time to tenth of second for time
23         less than 10s or second if it's more than 10s so that the test time will always be shown in two digits.
24         Also show the bug number and the latest expected result on the left columns after linkifying the bug numbers. 
25         (TestResultsView._matchesFailureType): Added. Determines whether results is of a particular failure type.
26         (TestResultsView._populateBuilderPane):
27         (TestResultsView.fetchFailingTestsForBuilder): Store the failure type such as flaky, wrongtestexpectations.
28         (TestResultsView.updateLocationHash):
29         (TestResultsView.loadTestsFromLocationHash):
30         (fetchManifest):
31         * js/dom.js:
32         (element): appendChild if an item is a Node. Otherwise, e.g. integer, create a text node out of toString() call.
33         * main.css: Updated styles.
34
35 2013-10-18  Ryosuke Niwa  <rniwa@webkit.org>
36
37         New flakiness dashboard should support showing the failing tests per builder
38         https://bugs.webkit.org/show_bug.cgi?id=123011
39
40         Reviewed by Timothy Hatcher.
41
42         Added the feature. Also did some refactoring to add this feature.
43
44         * ChangeLog: Added.
45         * api/failing-tests.php: Added.
46         * api/manifest.php: Removed the code to make maps by id. The work is now done in index.html.
47         * api/results.php:
48         * common.css: Added. Extracted from index.html.
49         * include/test-results.php: Extracted parse_revisions_array and format_result_rows from results.php.
50         * index.html:
51         * main.css: Added.
52         (TestResultsView.setAvailableTests): Added.
53         (TestResultsView.showTooltip): Fixed the code to compute x and y coordinates of the tooltip to take
54         scrolled positions into account.
55         (TestResultsView._createTestResultRow): Extracted from _populateTestPane.
56         (TestResultsView.fetchTest): Added the code to show "Loading..." in the pane while loading the JSON.
57         (TestResultsView.fetchTests): Respect the doNotUpdateHash flag.
58         (TestResultsView._populateBuilderPane): Added.
59         (TestResultsView.fetchFailingTestsForBuilder): Added.
60         (TestResultsView.updateLocationHash): Serialize builder & builderDays.
61         (TestResultsView.locationHashChanged): Don't delete existing test panes since that's now done in
62         loadTestsFromLocationHash.
63         (TestResultsView.loadTestsFromLocationHash): Take care of both 'tests' and 'builder' components.
64         (fetchManifest): Setup the UI to select a builder.
65