New flakiness dashboard's test pane should show the latest WebKit revision for each...
[WebKit-https.git] / Websites / test-results / ChangeLog
index 8172a02fdd29b8782d703729ac0855e5306b69d6..179baffa0c23f3ad708b0e98d9d9a2d1803e80c4 100644 (file)
@@ -1,3 +1,140 @@
+2013-10-22  Ryosuke Niwa  <rniwa@webkit.org>
+
+        New flakiness dashboard's test pane should show the latest WebKit revision for each builder
+        https://bugs.webkit.org/show_bug.cgi?id=123189
+
+        Reviewed by Simon Fraser.
+
+        * index.html:
+        (TestResultsView._populateTestPane): Call _createTestResultHeader and _createTestResultRow with
+        a list of repository information.
+        (TestResultsView._createTestResultHeader): Optionally creates headers for a list of repositories.
+        (TestResultsView._createTestResultRow): Add a hyperlinked revision information for each builder.
+        Also add a hyperlink to file a Bugzilla bug when there is no bug associated with the test already.
+        * js/build.js:
+        (Build.formattedRevision): Extracted from Build.formattedRevisions.
+        (Build.formattedRevisions):
+
+2013-10-22  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Make tables on the new flakiness dashboard sortable
+        https://bugs.webkit.org/show_bug.cgi?id=123141
+
+        Reviewed by Simon Fraser.
+
+        Use jquery.tablesorter.js to make test and builder tables sortable. The jquery plugin is already used by run-perf-tests.
+
+        * index.html:
+        (TestResultsView._populateTestPane): Add tablesorter to the class name and wrap tr's inside a tbody so that tablesorter
+        could sort them.
+        (TestResultsView._populateBuilderPane): Ditto.
+        * main.css:
+        (.resultsTable thead): Use cursor: pointer to signify the fact it's clickable.
+        (.resultsTable th): Don't repeat arrows.
+        (.resultsTable th.headerSortUp): Inline SVG up arrow.
+        (.resultsTable th.headerSortDown): Inline SVG down arrow.
+
+2013-10-21  Ryosuke Niwa  <rniwa@webkit.org>
+
+        New flakiness dashboard should hyperlink test names, WebKit revisions, and bubbles
+        https://bugs.webkit.org/show_bug.cgi?id=123134
+
+        Reviewed by Stephanie Lewis.
+
+        Copied admin.css, admin-header.php, admin-footer.php, builders.php, repositories.php from WebKit Perf Monitor.
+        (Unfortunately WebKit Perf Monitor hasn't been committed into WebKit repository just yet.)
+
+        Updated various parts of index.html to linkify test names, build numbers, and bubbles (to results page).
+
+        * admin/admin.css: Added.
+        * admin/builders.php: Added.
+        * admin/index.php: Removed the duplicated code now that it uses admin-header.php.
+        * admin/repositories.php: Added.
+        * api/manifest.php: Use camelCase for blame_url and build_url to be consistent with other JSON properties.
+        Also exported testCategories from config so that we can linkify test names in the dashboard.
+        * include/admin-footer.php: Added.
+        * include/admin-header.php: Added.
+        * include/config.json: Added test categories. This avoids hard-coding the URL to trac in php/js.
+        * include/init-database.sql: Added name and build_url to builders table and category to tests.
+        * include/test-results.php: Assume the test category to be LayoutTest for now.
+
+        * index.html:
+        (TestResultsView): Initialize _builders, _slaves, _repositories, _testCategories as dictionaries as intended.
+        (TestResultsView.setTestCategories): Added.
+        (TestResultsView._createResultCell): Dynamically resolve URLs of results page and and build page.
+        (TestResultsView._populateTestPane): Linkify the test name. Unfortunately we don't have a test object anywhere.
+        We need to figure out a way to find the test object here eventually. For now, hard-coding "LayoutTest" works.
+        (TestResultsView._linkifiedTestName): Added.
+        (TestResultsView._createBuildsAndComputeSlownessOfResults): Takes builderId to set "builder" property on each
+        result object as it's used by Build class.
+        (TestResultsView._populateBuilderPane):
+        (fetchManigest):
+
+        * js/build.js:
+        (Build.buildUrl): Support $builderName so that we don't have to keep repeating builder names in the database.
+        (Build.revision): Don't access [0] if revisions[repositoryId] was undefined.
+
+2013-10-21  Ryosuke Niwa  <rniwa@webkit.org>
+
+        New flakiness dashboard should align results by revision numbers
+        https://bugs.webkit.org/show_bug.cgi?id=123129
+
+        Reviewed by Tim Horton.
+
+        * include/config.json: Specify the default cache time to be 10 minutes.
+        * include/json-shared.php: Added Expires and Cache-Control headers. It's configurable via config.json.
+        * index.html:
+        (TestResultsView._createResultCell): Don't put '-' in a result cell without time.
+        (TestResultsView._populateTestPane): Create an array of build times ordered from the newest to the oldest.
+        Not that build.time() is the newest commit time among all repository for each result. e.g. if we had
+        both WebKit and Safari repository information in a given result, the newer of the two will be used.
+        (TestResultsView._createTestResultHeader): Added.
+        (TestResultsView._createBuildsAndComputeSlownessOfResults): Extracted from _createTestResultRow so
+        that _populateTestPane could use Build object before calling _createTestResultRow.
+        (TestResultsView._createTestResultRow): Takes buildTimes. Insert an empty cell for a build time if
+        the current row doesn't contain that a result for that build time.
+        (TestResultsView._populateBuilderPane):
+        * main.css: Tweaked the style so that bubbles are aligned vertically without '-'.
+        (.resultsTable):
+        (.resultsTable thead th):
+        (.resultsTable .resultCell):
+        (.resultsTable a):
+        (.resultsTable span a):
+
+2013-10-21  Ryosuke Niwa  <rniwa@webkit.org>
+
+        New flakiness dashboard show test time, modifiers, and flaky tests
+        https://bugs.webkit.org/show_bug.cgi?id=123119
+
+        Reviewed by Tim Horton.
+
+        * api/failing-tests.php: Manually serialize each row in the results to avoid hitting the memory limit.
+        * include/db.php:
+        (Database::query): Added.
+        (Database::fetch_next_row): Added.
+        * include/init-database.sql: Added modifiers and time columns to results table.
+        * include/test-results.php:
+        (store_test_results): Update start_time and end_time to the union of the new interval and the existing interval.
+        (recursively_add_test_results): Handle empty $full_name to eliminate the loop over tests in store_test_results.
+        Also verify that each test name, expected and actual results conform to the specific format to prevent XSS.
+        Also use insert_row instead of select_or_insert_row to avoid issuing an unnecessary SQL query.
+        (format_result): Extracted from format_result_rows. Used in failing-tests.php.
+        * index.html:
+        (TestResultsView): Added _currentBuilderFailureType and _currentBuilderDays.
+        (TestResultsView._createResultCell): Show the test time and the expected result.
+        (TestResultsView._createTestResultRow): Compute the slowest run and also round time to tenth of second for time
+        less than 10s or second if it's more than 10s so that the test time will always be shown in two digits.
+        Also show the bug number and the latest expected result on the left columns after linkifying the bug numbers. 
+        (TestResultsView._matchesFailureType): Added. Determines whether results is of a particular failure type.
+        (TestResultsView._populateBuilderPane):
+        (TestResultsView.fetchFailingTestsForBuilder): Store the failure type such as flaky, wrongtestexpectations.
+        (TestResultsView.updateLocationHash):
+        (TestResultsView.loadTestsFromLocationHash):
+        (fetchManifest):
+        * js/dom.js:
+        (element): appendChild if an item is a Node. Otherwise, e.g. integer, create a text node out of toString() call.
+        * main.css: Updated styles.
+
 2013-10-18  Ryosuke Niwa  <rniwa@webkit.org>
 
         New flakiness dashboard should support showing the failing tests per builder