2011-07-25 Adam Barth Overhaul garden-o-matic frontend to integrate revision history and failures https://bugs.webkit.org/show_bug.cgi?id=65089 Reviewed by Dimitri Glazkov. This is a major overhaul of the garden-o-matic frontend. The new UI integrates the revision history information with failures. Failures appear in context adjacent to the revisions that caused them (which are highlighted). Each buildbot receives a collumn to the left, which indicates which revisions that bot has tested and whether that bot showed the indicated failures. Failures are selectable with checkboxes, and can then either be examined or rebaselined. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Trac.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.css: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results_unittests.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui_unittests.js: 2011-07-25 Holger Hans Peter Freyther [buildbot] Add Qt Linux MIPSEL Configuration https://bugs.webkit.org/show_bug.cgi?id=65116 Reviewed by Adam Roben. Introduce a Qt Linux MIPS EL build slave. The configuration is a build only configuration. * BuildSlaveSupport/build.webkit.org-config/config.json: Add MIPS buildbot. 2011-07-25 Tor Arne Vestbø [Qt][WK2] Add multi-point touch mocking to MiniBrowser https://bugs.webkit.org/show_bug.cgi?id=64374 Reviewed by Benjamin Poulain. Each mouse button generate a touch point. The touch point stay virtually on screen if the mouse release happened while the Ctrl modifier was pressed. * MiniBrowser/qt/MiniBrowserApplication.cpp: (MiniBrowserApplication::notify): * MiniBrowser/qt/MiniBrowserApplication.h: 2011-07-25 Balazs Kelemen [Qt][WK2] Use NRWT for Qt-WK2 https://bugs.webkit.org/show_bug.cgi?id=65097 Reviewed by Andreas Kling. * Scripts/run-webkit-tests: (useNewRunWebKitTests): 2011-07-24 Sheriff Bot Unreviewed, rolling out r91635. http://trac.webkit.org/changeset/91635 https://bugs.webkit.org/show_bug.cgi?id=65083 It broke the minimal build (Requested by Ossy___OFFLINE on #webkit). * QtTestBrowser/launcherwindow.cpp: (LauncherWindow::initializeView): (LauncherWindow::createChrome): * QtTestBrowser/launcherwindow.h: (WindowOptions::WindowOptions): * QtTestBrowser/main.cpp: (LauncherApplication::handleUserOptions): 2011-07-24 Adam Barth Rename garden-o-matic "alert" to "infobar" and increase the width to 100%. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/config.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.css: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui_unittests.js: 2011-07-23 Dimitri Glazkov TestConfiguration should be hashable and comparable for equality. https://bugs.webkit.org/show_bug.cgi?id=65070 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_configuration.py: Added __hash__ and __eq__ methods. * Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py: Added unit tests. 2011-07-23 Dimitri Glazkov Extract TestConfiguration from base and write a few unit tests to capture current behavior. https://bugs.webkit.org/show_bug.cgi?id=65066 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_configuration.py: Added. * Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py: Added. * Scripts/webkitpy/layout_tests/port/base.py: Moved code to test_configuration.py 2011-07-23 Alok Priyadarshi Switching off acceleration for small canvas broke gpu tests https://bugs.webkit.org/show_bug.cgi?id=65053 Reviewed by Stephen White. * DumpRenderTree/chromium/WebPreferences.cpp: (WebPreferences::reset): (WebPreferences::applyTo): * DumpRenderTree/chromium/WebPreferences.h: 2011-07-23 Keith Kyzivat [Qt] Add option to turn on disk caching in QtTestBrowser https://bugs.webkit.org/show_bug.cgi?id=65007 Reviewed by Noam Rosenthal. Add menu item and command line option to turn on disk caching in QtTestBrowser. Simple QNetworkDiskCache added to the page's QNetworkAccssManager. * QtTestBrowser/launcherwindow.cpp: (LauncherWindow::initializeView): (LauncherWindow::createChrome): (LauncherWindow::setDiskCache): * QtTestBrowser/launcherwindow.h: (WindowOptions::WindowOptions): * QtTestBrowser/main.cpp: (LauncherApplication::handleUserOptions): 2011-07-22 Ojan Vafai Don't match 'DEBUG' when trying to filter BUG modifiers. * TestResultServer/static-dashboards/flakiness_dashboard.html: * TestResultServer/static-dashboards/flakiness_dashboard_tests.js: 2011-07-22 Ojan Vafai Fix issue loading gtests since there's no g_expectations. Also, make filing a bug file a webkit.org bug, not a crbug since the link is only shown for layout tests. * TestResultServer/static-dashboards/dashboard_base.js: * TestResultServer/static-dashboards/flakiness_dashboard.html: 2011-07-22 Ojan Vafai pull test expectations into the dashboard from wvn.webkit.org https://bugs.webkit.org/show_bug.cgi?id=65054 Reviewed by Adam Barth. Now that svn.webkit.org supports cors headers, we can just grab the txt file from there instead of generating a JSON file that we upload to appengine. We'll stop generating the JSON file in a followup patch. * TestResultServer/static-dashboards/dashboard_base.js: * TestResultServer/static-dashboards/flakiness_dashboard.html: * TestResultServer/static-dashboards/flakiness_dashboard_tests.js: 2011-07-22 Adam Barth Fix typo so the tool works on a case-sensitive file system. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html: 2011-07-22 Adam Barth garden-o-matic should know what patches are landing https://bugs.webkit.org/show_bug.cgi?id=64978 Reviewed by Dimitri Glazkov. This patch adds a display of the recently committed patches to garden-o-matic. The UI needs iteration, but this patch establishes the plumbing. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Trac.js: - Teach trac how to extract more information from the commit log. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/config.js: - Add a data attribute for storing the revision. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html: - Add a container for the recent commit history. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.css: - CSS for displaying non-ugly commit history. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js: - Wire up trac to the UI container. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui.js: - A basic, compact display for a list of commits. 2011-07-22 Ojan Vafai Fix bug when switching from layout-tests to another test-type if ToT webkit.org is the selected group. * TestResultServer/static-dashboards/flakiness_dashboard.html: 2011-07-22 Ojan Vafai Add back in line accidentally deleted in http://trac.webkit.org/changeset/91612. * TestResultServer/static-dashboards/flakiness_dashboard.html: 2011-07-22 Ojan Vafai simplify the flakiness dashboard to only show modifiers/expectations for the current builder https://bugs.webkit.org/show_bug.cgi?id=65049 Reviewed by Tony Chang. This communicates less information, but probably makes the dashboard more usable. Also make it show that bug lines that don't point to bug numbers still show up in the bugs column (e.g. BUG_TONY) and stop showing the extra/missing columns in any view. The data is still used, but only in the view that updates the test_expectations.txt file. * TestResultServer/static-dashboards/dashboard_base.js: * TestResultServer/static-dashboards/flakiness_dashboard.html: * TestResultServer/static-dashboards/flakiness_dashboard_tests.js: 2011-07-21 Ojan Vafai hook in the rest of the bots to the dashboard now they run NRWT https://bugs.webkit.org/show_bug.cgi?id=64985 Reviewed by Adam Barth. * TestResultServer/static-dashboards/builders.js: 2011-07-22 Alexey Proskuryakov Adding Tim Horton to contributor list for Bugzilla auto-completion. He is CC'ed quite frequently. Unreviewed. * Scripts/webkitpy/common/config/committers.py: 2011-07-22 Michal Pakula vel Rutka [EFL] ewk_frame_hit_test_new enchancement https://bugs.webkit.org/show_bug.cgi?id=64260 Apply changes done in ewk_frame_hit_test_new in EWebLauncher: Replacing Ewk_Hit_Test_Result_Context structure 'flags' in hit test output to by enum 'context'. Reviewed by Antonio Gomes. * EWebLauncher/main.c: (on_key_down): 2011-07-21 Adam Roben Fix typo in TestFailures * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js: 2011-07-21 Ojan Vafai simplify gtest display now that we strip modifiers from the JSON https://bugs.webkit.org/show_bug.cgi?id=64990 Reviewed by Adam Barth. Now that names are normalized, we can remove all the code that handles gtest name changes (e.g. for adding modifiers like DISABLED_). Instead, if you try to list a test with a modifier in it, we need to strip the modifier so we get the normalized value. We also get rid of the concept of extra/missing expectations for gtests. In a patch soon, we'll stop showing extra/missing expectations from the UI entirely and only leave it for the special updating test_expectations.txt view of the dashboard, which doesn't apply to gtests. * TestResultServer/static-dashboards/flakiness_dashboard.html: * TestResultServer/static-dashboards/flakiness_dashboard_tests.js: 2011-07-21 Adam Barth Refactor Trac.js for use in garden-o-matic https://bugs.webkit.org/show_bug.cgi?id=64998 Reviewed by Adam Roben. This patch refactors Trac.js to match the architecture and style of garden-o-matic. I've also factored AsynchronousCache out of Trac (and moved it to base) because it was redundant with some other code we already had. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FailingTestsBugForm.js: (FailingTestsBugForm): * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FailingTestsBugForm_unittests.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Trac.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js: (ViewController.prototype._displayBuilder.start): (ViewController.prototype._displayBuilder): (ViewController.prototype._domForRegressionRange.trac.getCommitDataForRevisionRange): (ViewController.prototype._domForRegressionRange): * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/config.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html: 2011-07-21 Ojan Vafai Fix issue throwing a 500 to the bots. We were modifying the dictionary during an iteration over it's keys and would get RuntimeError: dictionary changed size during iteration * TestResultServer/model/jsonresults.py: 2011-07-21 Adam Barth ORWT fails to consume some NRWT arguments https://bugs.webkit.org/show_bug.cgi?id=64988 Reviewed by Adam Roben. * Scripts/old-run-webkit-tests: 2011-07-21 Adam Barth Merge TestFailures and garden-o-matic unit tests harness https://bugs.webkit.org/show_bug.cgi?id=64984 Reviewed by Adam Roben. One unit testing framework is better than two. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-more-unittests.html: Removed. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html: 2011-07-21 Adam Barth Rubber-stamped by Adam Roben. Move garden-o-matic files into the same directory as TestFailures to make it easier to integrate the codebases. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/base.js. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base_unittests.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/base_unittests.js. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/checkout.js. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout_unittests.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/checkout_unittests.js. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/config.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/config.js. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/favicon-green.png: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/favicon-green.png. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/favicon-red.png: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/favicon-red.png. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/index.html. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.css: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/main.css. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/main.js. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/partytime.gif: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/partytime.gif. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/results.js. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results_unittests.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-more-unittests.html: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/run-unittests.html. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui_unittests.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js. * Scripts/webkitpy/tool/commands/abstractlocalservercommand.py: * Scripts/webkitpy/tool/commands/gardenomatic.py: * Scripts/webkitpy/tool/servers/data/gardeningserver: Removed. * Scripts/webkitpy/tool/servers/data/gardeningserver/base.js: Removed. * Scripts/webkitpy/tool/servers/data/gardeningserver/base_unittests.js: Removed. * Scripts/webkitpy/tool/servers/data/gardeningserver/checkout.js: Removed. * Scripts/webkitpy/tool/servers/data/gardeningserver/checkout_unittests.js: Removed. * Scripts/webkitpy/tool/servers/data/gardeningserver/config.js: Removed. * Scripts/webkitpy/tool/servers/data/gardeningserver/favicon-green.png: Removed. * Scripts/webkitpy/tool/servers/data/gardeningserver/favicon-red.png: Removed. * Scripts/webkitpy/tool/servers/data/gardeningserver/index.html: Removed. * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css: Removed. * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js: Removed. * Scripts/webkitpy/tool/servers/data/gardeningserver/partytime.gif: Removed. * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js: Removed. * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js: Removed. * Scripts/webkitpy/tool/servers/data/gardeningserver/run-unittests.html: Removed. * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js: Removed. * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js: Removed. * Scripts/webkitpy/tool/servers/gardeningserver.py: 2011-07-19 Ojan Vafai fix links on the flakiness dashboard https://bugs.webkit.org/show_bug.cgi?id=64832 Reviewed by Tony Chang. Make them actual anchor tags and linkify the test name instead of adding an extra link. Also simplify the update view since we now show the linkified test name. * TestResultServer/static-dashboards/flakiness_dashboard.html: 2011-07-21 Adam Barth webkit.org builders should upload results to test-results AppEngine instance https://bugs.webkit.org/show_bug.cgi?id=64979 Reviewed by Adam Roben. The master just needs to pass some flags to NRWT. This patch also lets ORWT consume the flags (ignoring them) so we can pass the flags unconditionally. * BuildSlaveSupport/build.webkit.org-config/master.cfg: * Scripts/old-run-webkit-tests: 2011-07-21 Ojan Vafai normalize gtest names in the result json https://bugs.webkit.org/show_bug.cgi?id=64971 Reviewed by Eric Seidel. This will make the resulting JSON smaller and make the flakiness dashboard much more sane (e.g. we won't need to show you the FLAKY_ version and the normal version). * TestResultServer/model/jsonresults.py: * TestResultServer/model/jsonresults_unittest.py: 2011-07-21 Eric Seidel Unreviewed. Reenable ORWT for the --leaks bot. Something is still wrong with the leaks summarizing but I'm about to head out on vacation for 2 weeks, so it's best to just revert back to ORWT until I'm back. * Scripts/run-webkit-tests: (usingLeaks): (useNewRunWebKitTests): 2011-07-21 Ojan Vafai cleanup jsonresults.py style in preparation for making some changes https://bugs.webkit.org/show_bug.cgi?id=64968 Reviewed by Adam Barth. No code changes. Unittest still passes. Mostly just removing useless comments and 80 character wrapping. * TestResultServer/model/jsonresults.py: * TestResultServer/model/jsonresults_unittest.py: 2011-07-21 Adam Barth Add missing column header. * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js: 2011-07-21 Eric Seidel Unreviewed. Just fixing (and unittesting) a previous typo. Fix typo in print_leaks_summary regexp which was causing leaks summarizing to fail on the --leaks bot. * Scripts/webkitpy/layout_tests/port/mac.py: * Scripts/webkitpy/layout_tests/port/mac_unittest.py: 2011-07-21 Adam Barth garden-o-matic should be able to rebaseline many tests at once https://bugs.webkit.org/show_bug.cgi?id=64963 Reviewed by Dimitri Glazkov. This patch contains some UI for rebaselining tests in bulk. I don't expect this UI to be the final UI, but the underlying infrastructure will be useful. * Scripts/webkitpy/tool/servers/data/gardeningserver/checkout.js: * Scripts/webkitpy/tool/servers/data/gardeningserver/index.html: * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js: * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js: * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js: 2011-07-21 Adam Barth garden-o-matic has trouble when the same test fails in different ways on diffrent bots https://bugs.webkit.org/show_bug.cgi?id=64830 Unreviewed. (Missing the patch is blocking me from fixing the tree.) This patch is just some minor bug fixes. One of the bugs results from the sadness of having two representations (a list and a space-separated string) for the set of failure types. * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js: * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js: * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js: * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js: 2011-07-20 Ryosuke Niwa Buildbot marks a nrwt bot red when tests are missing results https://bugs.webkit.org/show_bug.cgi?id=64812 Reviewed by Adam Barth. The bug was caused by multiple expressions matching on the single output. Fixed it by exiting the loop as soon as one expression matches. Because the regular expression for 'failures' is most general, moved it to the end of the list to avoid it catching other cases. * BuildSlaveSupport/build.webkit.org-config/master.cfg: 2011-07-20 Chang Shu Adding myself to the reviewers list; No review needed. * Scripts/webkitpy/common/config/committers.py: 2011-07-20 Eric Seidel new-run-webkit-tests --leaks does not restart DumpRenderTree often enough https://bugs.webkit.org/show_bug.cgi?id=64912 Reviewed by Adam Barth. The bug was that set_default_option only works if the option's value is "None". So I fixed --batch-size to default to None instead of 0 (which kinda makes sense). * Scripts/webkitpy/layout_tests/controllers/worker.py: * Scripts/webkitpy/layout_tests/run_webkit_tests.py: 2011-07-20 Eric Seidel Make kill-old-processes kill httpd on mac https://bugs.webkit.org/show_bug.cgi?id=64898 Reviewed by Adam Barth. * BuildSlaveSupport/kill-old-processes: - The line endings seem to have flipped again, Thus making this diff gigantic. The only line changed is the "httpd" line. I suspect we'll need to set the line ending style from an svn checkout. 2011-07-20 Ojan Vafai show a list of average test times in the treemap https://bugs.webkit.org/show_bug.cgi?id=64899 Reviewed by Adam Roben. For now, you click a link and it replaces the treemap with a reverse sorted list of directories based on average test runtime within that directory. To cut some of the noise, we don't show directories that only have one test in them or where the average runtime is less than 100ms. * TestResultServer/static-dashboards/treemap.html: 2011-07-20 Eric Seidel Teach build.webkit.org how to identify leaks in NRWT output https://bugs.webkit.org/show_bug.cgi?id=64891 Reviewed by Adam Barth. This was the last remaining piece blocking turning on NRWT for the leaks bot, so I did that in this change too. If for some reason we see trouble on the bots, I'll revert that part of this change. * BuildSlaveSupport/build.webkit.org-config/master.cfg: * Scripts/run-webkit-tests: 2011-07-20 Ojan Vafai make the treemap display more human friendly https://bugs.webkit.org/show_bug.cgi?id=64896 Reviewed by Tony Chang. * TestResultServer/static-dashboards/treemap.html: 2011-07-20 Eric Seidel Move HttpLock to using a FileSystem object https://bugs.webkit.org/show_bug.cgi?id=64885 Reviewed by Adam Barth. I made a typo in my previous change, taking the value of read_text_file(pid_file) and setting it to lock_pid_file instead of current_pid. Fixed now. :) In order to test my new change I had to overhaul the unittests for this class to create a separate set of tests which work off of Mock objects instead of the real filesystem. Since Executive doesn't yet wrap os.getpid() I added a FIXME in several places where we're currently calling os.getpid(). I felt adding Executive.getpid was outside of the scope of this change but once it exists some of this code will be much simpler to mock. * Scripts/webkitpy/layout_tests/port/http_lock.py: * Scripts/webkitpy/layout_tests/port/http_lock_unittest.py: * Scripts/webkitpy/tool/mocktool.py: 2011-07-20 Adam Roben Fix typo in TestFailures's Bugzilla constants This was preventing the "Version" field from being pre-filled when filing new bugs. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/WebKitBugzilla.js: 2011-07-20 Eric Seidel Move HttpLock to using a FileSystem object https://bugs.webkit.org/show_bug.cgi?id=64885 Reviewed by Adam Barth. There is no functional change here. Just moving off of direct os.foo calls to their filesystem equivalent. This makes it possible to now unittest HttpLock using a MockFileSystem instead of needing to talk to the filesystem directly. This also will have changed any port test cases which were using a mock file system to now have an HttpLock based on a mock filesystem instead. I saw no change in the unittests so it's possible we're not testing that configuration (or more likely that it "just works"). * Scripts/webkitpy/layout_tests/port/base.py: * Scripts/webkitpy/layout_tests/port/http_lock.py: * Scripts/webkitpy/layout_tests/port/http_lock_unittest.py: 2011-07-20 Adam Barth NRWT results uses too much space per run https://bugs.webkit.org/show_bug.cgi?id=64845 Reviewed by Ojan Vafai. Removing these files saves about 750K per build. * Scripts/webkitpy/layout_tests/controllers/manager.py: 2011-07-20 Zan Dobersek [Gtk] [NRWT] Xvfb produces a lot of stderr output https://bugs.webkit.org/show_bug.cgi?id=64669 Reviewed by Philippe Normand. Redirect the stderr output of the driver's Xvfb process to /dev/null to suppress unneeded output. * Scripts/webkitpy/layout_tests/port/gtk.py: 2011-07-19 Eric Seidel parse-malloc-history always exits 1, causing NRWT to fail https://bugs.webkit.org/show_bug.cgi?id=64835 Reviewed by Adam Barth. ORWT just never checked the return code. :) * Scripts/parse-malloc-history: (main): * Scripts/webkitpy/layout_tests/port/mac.py: 2011-07-19 Kevin Ollivier [wx] Unreviewed build fix, don't add the debug prefix as 2.9 no longer uses one. * waf/build/wxpresets.py: 2011-07-19 Eric Seidel new-run-webkit-tests should only enable MallocStackLogging for DRT https://bugs.webkit.org/show_bug.cgi?id=64792 Reviewed by Adam Barth. The previous code would enable it for all servers launched by the port, which included Apache, the python websocket server as well as ImageDiff. Now only DumpRenderTree will have MallocStackLogging enabled or the GuardMalloc library injected. I also cleaned up the websocket_server code to use filesystem while I was in it. I also made DRT restart every 1000 tests when running with --leaks enabled. I believe this made the --leaks run slightly faster, but it still takes over an hour on my machine. :( * Scripts/webkitpy/layout_tests/controllers/worker.py: * Scripts/webkitpy/layout_tests/port/base.py: * Scripts/webkitpy/layout_tests/port/chromium_win.py: * Scripts/webkitpy/layout_tests/port/gtk.py: * Scripts/webkitpy/layout_tests/port/mac.py: * Scripts/webkitpy/layout_tests/port/qt.py: * Scripts/webkitpy/layout_tests/port/server_process.py: * Scripts/webkitpy/layout_tests/port/webkit.py: * Scripts/webkitpy/layout_tests/servers/http_server.py: * Scripts/webkitpy/layout_tests/servers/websocket_server.py: 2011-07-19 Ojan Vafai remove the concept of platform fallbacks https://bugs.webkit.org/show_bug.cgi?id=64829 Reviewed by Adam Barth. In the process, wrote tests for this code and fixed a pretty major bug (now covered by the test). * TestResultServer/static-dashboards/flakiness_dashboard.html: * TestResultServer/static-dashboards/flakiness_dashboard_tests.js: 2011-07-19 Ojan Vafai cleanup some of the PLATFORM logic in the flakiness dashboard https://bugs.webkit.org/show_bug.cgi?id=64821 Reviewed by Adam Barth. * TestResultServer/static-dashboards/flakiness_dashboard.html: * TestResultServer/static-dashboards/flakiness_dashboard_tests.js: 2011-07-19 Ojan Vafai cleanup some of the PLATFORM logic in the flakiness dashboard https://bugs.webkit.org/show_bug.cgi?id=64821 Reviewed by Adam Barth. * TestResultServer/static-dashboards/flakiness_dashboard.html: * TestResultServer/static-dashboards/flakiness_dashboard_tests.js: 2011-07-19 Dimitri Glazkov Store line number on TestExpectationLine. https://bugs.webkit.org/show_bug.cgi?id=64800 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Refactored to store line number on TestExpectationLine instances. 2011-07-19 Ojan Vafai fix flakiness dashboard for XP bots with XP in the name instead of WIN https://bugs.webkit.org/show_bug.cgi?id=64826 Reviewed by Mihai Parparita. * TestResultServer/static-dashboards/flakiness_dashboard.html: * TestResultServer/static-dashboards/flakiness_dashboard_tests.js: 2011-07-19 Cary Clark add myself to committers.py https://bugs.webkit.org/show_bug.cgi?id=64816 No review needed. * Scripts/webkitpy/common/config/committers.py: 2011-07-19 Daniel Bates Rename variable isEmptyTextPatch in svn-{apply, unapply} https://bugs.webkit.org/show_bug.cgi?id=64648 Reviewed by Adam Roben. Rename the variable isEmptyTextPatch to hasTextChunks, which is more descriptive and makes its usage read well in control statements. * Scripts/svn-apply: (patch): * Scripts/svn-unapply: (patch): 2011-07-19 Adam Roben Make TestFailures show existing bugs and a new bug link for flaky tests Fixes TestFailures page should make it easy to file bugs about flaky tests and TestFailures page doesn't show related bugs for possibly-flaky tests, but should Reviewed by Sam Weinig. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FlakyTestBugForm.js: Added. This is what's used to file new bugs about flaky tests. (FlakyTestBugForm): Calls up to the base class, stores the arguments, and sets our title, description, and URL. (FlakyTestBugForm.prototype._createBugDescription): (FlakyTestBugForm.prototype._createBugTitle): These do what they say. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FlakyTestBugForm_unittests.js: Added. Tests of the above. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailures.css: (#failure-history > li): (#possibly-flaky-tests > li): (#failure-history > li, #possibly-flaky-tests > li): (#possibly-flaky-tests > li > :first-child): (.flakiness-examples-list): Styling to account for the new elements. (.expandable): (.expanded > .expandable): Generalized the .flakiness-example-list code to a generic .expandable class. Removed the transition properties because we can't transition to/from 'auto' (but really would like to!). * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js: (ViewController.prototype._displayBuilder): Moved code to create the FailingTestsBugForm here from _domForNewAndExistingBugs. Updated for changes to _domForPossiblyFlakyTests. (ViewController.prototype._domForNewAndExistingBugs): Changed to take a NewBugForm as an argument instead of creating one ourselves. (ViewController.prototype._domForPossiblyFlakyTests): Changed to take all analyzed builds as an argument instead of just the number of analyzed builds. Put the examples list inside a container
, which is also used to hold the new/existing bugs UI. Removed code to deal with animating the height of the examples list; we don't do this anymore because it's hard to make it work correctly with the asynchronous loading of existing bugs. When we populate the examples list, also set up the new/existing bug UI. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html: Pull in FlakyTestBugForm. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html: Pull in FlakyTestBugForm and its tests. 2011-07-19 Ryosuke Niwa Buildbot marks a nrwt bot red when tests are missing results https://bugs.webkit.org/show_bug.cgi?id=64812 Reviewed by Tony Chang. Added "missing results" label for tests that are missing results. buildbot Now reports shows a label "X missing results" on a run when X tests were missing expected results on that run. Also rephrased "X failed" and "X were flaky" to "X failures" and "X flakes". * BuildSlaveSupport/build.webkit.org-config/master.cfg: 2011-07-19 Adam Roben Extract some of FailingTestsBugForm's code into a base class Prep work for fixing TestFailures page should make it easy to file bugs about flaky tests Reviewed by Sam Weinig. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FailingTestsBugForm.js: Moved BugzillaConstants to new WebKitBugzilla file. Moved a bunch of other code from here to TestRelatedBugForm.js. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FailingTestsBugForm_unittests.js: Moved some tests to TestRelatedBugForm_unittests.js. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestRelatedBugForm.js: Added. (TestRelatedBugForm): (TestRelatedBugForm.prototype.domElement): (TestRelatedBugForm.prototype._computeOperatingSystem): (TestRelatedBugForm.prototype._computePlatform): Code came from FailingTestsBugForm. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestRelatedBugForm_unittests.js: Added. Tests came from FailingTestsBugForm_unittests.js * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/WebKitBugzilla.js: Added. Code came from FailingTestsBugForm.js. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html: Pull in TestRelatedBugForm.js and WebKitBugzilla.js. Moved Bugzilla.js out of the list of files that need to be pulled in early for parsing reasons. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html: Pull in TestRelatedBugForm and tests and WebKitBugzilla. 2011-07-19 Sam Weinig Remove obsolete Mac NRWT test bots https://bugs.webkit.org/show_bug.cgi?id=64806 Reviewed by Adam Roben. Remove "Leopard Intel Release (NRWT)" and "SnowLeopard Intel Release (NRWT)" which have been disconnected for some time and have been obsoleted by the main testers using NRWT. * BuildSlaveSupport/build.webkit.org-config/config.json: 2011-07-19 Sam Weinig webkit-patch rebaseline crashes on use https://bugs.webkit.org/show_bug.cgi?id=64775 Reviewed by Adam Roben. Fix incorrectly spelled attribute name. * Scripts/webkitpy/common/net/layouttestresults.py: The attribute is test_name, not filename. * Scripts/webkitpy/common/net/layouttestresults_unittest.py: Add test for tests_matching_failure_types. 2011-07-18 Eric Seidel new-run-webkit-tests should support --leaks https://bugs.webkit.org/show_bug.cgi?id=63832 Reviewed by Dirk Pranke. This may not be sufficient to actually transition over the leaks bot, but this is a huge step in the right direction. I had to make parse-malloc-history understand being passed more than one file (to avoid the silly cat | nonsense in old-run-webkit-tests). I removed some dead code relating to previous iterations of our crash detection. I created a new class "LeakDetector" to encapsulate all this logic. Eventually we should consider pulling that class out of mac.py and sharing with other ports. However given that ORWT has had --leaks support on Mac for almost 7 years and no other port has added it, leaves me to believe we're in no rush to move LeakDetector. I've tested --leaks locally. I suspect there are more bugs to shake out but it seems to work well enough to start. I also added support for --guard-malloc, but have not tested it much. It should be viewed as experimental at this time. I also fixed various os.path uses to self._filesystem as I was reading through the various files to understand how best to fix this bug. * Scripts/old-run-webkit-tests: (parseLeaksandPrintUniqueLeaks): * Scripts/parse-malloc-history: (main): * Scripts/webkitpy/common/system/crashlogs.py: * Scripts/webkitpy/layout_tests/controllers/manager.py: * Scripts/webkitpy/layout_tests/controllers/worker.py: * Scripts/webkitpy/layout_tests/port/base.py: * Scripts/webkitpy/layout_tests/port/chromium_win.py: * Scripts/webkitpy/layout_tests/port/gtk.py: * Scripts/webkitpy/layout_tests/port/mac.py: * Scripts/webkitpy/layout_tests/port/mac_unittest.py: * Scripts/webkitpy/layout_tests/port/server_process.py: * Scripts/webkitpy/layout_tests/port/webkit.py: * Scripts/webkitpy/layout_tests/run_webkit_tests.py: 2011-07-19 Adam Barth garden-o-matic should have a "Triage Failures" button for iterating over failures https://bugs.webkit.org/show_bug.cgi?id=64769 Reviewed by Eric Seidel. This patch adds some global static state and refactors things a bit so that we can iterate over all the failures in the details pane. * Scripts/webkitpy/tool/servers/data/gardeningserver/base.js: - Add a generic callback iterator to iterate through a series of callbacks. We use this to iterate through the failures we want to display the details of. * Scripts/webkitpy/tool/servers/data/gardeningserver/index.html: - Add a toolbar for the results summary and change the buttons to be real buttons. * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css: - Make the detail pane 75% of the window. - Make the buttons pretty. - Allow the failure type badges to apply to the details pane as well. * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js: - Restructure how we bring up the details pane so we can iterate through a bunch of failures. - Remove the transition between results details because it's annoying when you want to click through a bunch of failures. * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js: - Add some more structure to the title bar for the results details so it's clearer which results we're currently displaying. 2011-07-19 Adam Barth garden-o-matic should live update as conditions change on the buildbot https://bugs.webkit.org/show_bug.cgi?id=64646 Reviewed by Eric Seidel. This patch causes the garden-o-matic display to update every 10 minutes to show the latest failures. This patch required a moderately large refactoring of main.js to make the display incremental instead of all-at-once. * Scripts/webkitpy/tool/servers/data/gardeningserver/base.js: * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css: * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js: * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js: 2011-07-18 Tab Atkins Tab Atkins is not in committers.py (as a non-committer) https://bugs.webkit.org/show_bug.cgi?id=64770 Reviewed by Eric Seidel. * Scripts/webkitpy/common/config/committers.py: 2011-07-18 Ojan Vafai Load ToT chromium bots by default in the flakiness dashboard https://bugs.webkit.org/show_bug.cgi?id=64756 Reviewed by Adam Barth. For now, these are the most useful bots to look at. Eventually, we may want to load the build.webkit.org bots by default once most of the bots there upload results. * TestResultServer/static-dashboards/dashboard_base.js: 2011-07-13 Jon Honeycutt Focus and selection events are not fired when a 's selection changes https://bugs.webkit.org/show_bug.cgi?id=64504 Reviewed by Alice Liu. * DumpRenderTree/AccessibilityController.h: Added m_notificationsEventHook for addNotificationListener(). m_allEventsHook will now be used for setLogAccessibilityEvents(). * DumpRenderTree/win/AccessibilityControllerWin.cpp: (AccessibilityController::AccessibilityController): Initialize m_notificationsEventHook. (AccessibilityController::~AccessibilityController): Turn off logging of all accessibility events. If m_notificationsEventHook is non-null, unhook it. (logEventProc): Add handling of EVENT_OBJECT_SELECTION. (AccessibilityController::setLogAccessibilityEvents): If the state of logging is not changing, return early. If we're turning off logging, unhook m_allEventsHook, and zero it out. Otherwise, add a hook for all events. (AccessibilityController::addNotificationListener): Use m_notificationsEventHook rather than m_allEventsHook. 2011-07-15 Dimitri Glazkov Refactor TestExpectationModel to use TestExpectationLine as data item. https://bugs.webkit.org/show_bug.cgi?id=64635 This is a bit largish in scope. Does the following things: 1) Adds "path" member to TestExpectationLine to hold normalized path to test, computed at parsing, and changes code that used Port.normalize_test_name to rely on TestExpectationLine.path. As a result, TestExpectationModel no longer needs to have any port knowledge. 2) Adds "create_passing_expectation" class method to TestExpectationLine to generate a pristine passing expectation out of a test name, and changes TestExpectations._process_tests_without_expectations to use it, thus eliminating the need for a special API entry point. Now all expectations are added to the model in the same way! 3) Changes TestExpectationModel's main test index to store a tuple consisting of line number and TestExpectationLine instance. Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Refactored code. 2011-07-15 Adam Roben Teach TestFailures how to detect interrupted build steps Fixes TestFailures page thinks all tests passed in http://build.webkit.org/builders/SnowLeopard%20Intel%20Release%20(WebKit2%20Tests)/builds/13401 Reviewed by Daniel Bates. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js: (Builder.prototype.getNumberOfFailingTests): If the build step has a result code of 4, the build step was interrupted. Treat it as an error (by returning a failureCount of -1). * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder_unittests.js: Added a test for the above. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/LayoutTestResultsLoader.js: (LayoutTestResultsLoader.prototype.start): Bumped the cache version to evict old, buggy cache data that was afflicted by the above bug. 2011-07-15 Eric Seidel new-run-webkit-tests crashes on Apple's Windows port when trying to launch Apache https://bugs.webkit.org/show_bug.cgi?id=64533 Reviewed by Adam Roben. Blind removal of Chromium-specific code (now that Chromium does not use this file). * Scripts/webkitpy/layout_tests/servers/apache_http_server.py: 2011-07-15 Adam Roben Make TestFailures's list of possibly-flaky tests not so tall Fixes TestFailures page's list of flaky tests takes up way too much room Reviewed by Daniel Bates. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailures.css: Removed a no-longer-used .flakiness-example-separator selector. (#failure-history > li): (#possibly-flaky-tests > li): (#failure-history > li, #possibly-flaky-tests > li): Use a lot less padding for the possibly-flaky tests. 2011-07-15 Tony Chang [chromium] land linux selection color layout test https://bugs.webkit.org/show_bug.cgi?id=64631 Reviewed by Ojan Vafai. I had removed this code in r76620 because I thought it wasn't used. Turns out there was a layout test in the chromium tree that never got migrated that used it. Re-add the code and land the layout test (I will remove it from the chromium tree soon). * DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): (LayoutTestController::forceRedSelectionColors): * DumpRenderTree/chromium/LayoutTestController.h: 2011-07-15 Dimitri Glazkov Revert http://trac.webkit.org/changeset/91091, since Python 2.5 does not support enumerate() start argument. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Reverted. 2011-07-15 Dimitri Glazkov Clean up test_expectations.py after refactorings. https://bugs.webkit.org/show_bug.cgi?id=64620 * Renamed all variables holding TestExpectationLine to expectation_line to avoid confusion with its sub-part, the actual expectation. * Renamed all references to options to modifier to eliminate dual terminology. * Made a bunch of parser constants and changed all callsites to use them. * Various other minor clean-ups. Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Cleaned up stuff. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Changed callsites after cleanup. * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: Ditto. 2011-07-15 Dimitri Glazkov Move expectation parsing code to TestExpectationParser. https://bugs.webkit.org/show_bug.cgi?id=64605 This is a somewhat mechanical move, with two interesting bits: 1) TestExpectationParser.parse methods renamed to tokenize, to better reflect what they do 2) TestExpectationLine now carries all of its info, from tokens to parsed data, and even the list of tests that it matches (a line may refer to more than one test). Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Moved parsing-related TestExpectaions methods to TestExpectationParser, added more members to TestExpectationLine to carry parsed info, renamed existing parse methods to "tokenize", changed callsites to use new code. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Changed unit tests to reflect renames. 2011-07-15 Dimitri Glazkov Switch to use Python enumerate function to enumerate line numbers. https://bugs.webkit.org/show_bug.cgi?id=64602 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Changed to use enumerate. 2011-07-15 Martin Robinson Build fixes for WebKit2. Ensure that all generated sources are on nodist primaries, that they are on forward declared variables so that BUILT_SOURCES is calculated properly and that zlib is included during linking (for WOFF support). * WebKitTestRunner/GNUmakefile.am: 2011-07-15 Dimitri Glazkov Store error and warning information on TestExpectationLine. https://bugs.webkit.org/show_bug.cgi?id=64565 Keeping errors and warnings on the TestExpectationLine instance allows us to decouple storing errors from various parsing and validation mechanisms and have more flexibility in reporting and understanding the origin of the errors. Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Added TestExpectationLine.warnings list to keep track of non-fatal errors, converted the code to add errors and warnings to corresponding TestExpectationLine instances, removed the code that used to store this info on TestExpectations. In the process, had to refactor ModifierMatcher a bit to take in a TestExpdectationLine instance. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Changed ModifierMatcher callsite. 2011-07-15 Dimitri Glazkov Plumb the use of TestExpectationLine deeper, clean up. https://bugs.webkit.org/show_bug.cgi?id=64559 Instead of carrying various bits of TestExpectationLine, plumb it down to its consumers, also cleaning up names and remove an unused TestExpectations._get_options_list member. Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_expectations.py: 2011-07-15 Dimitri Glazkov Remove the notion of TestExpectationLine.valid, start storing parsing errors in expectations themselves. https://bugs.webkit.org/show_bug.cgi?id=64554 This moves us toward the world where errors are collected on the expectations, which allows us to easily enumerate them, keep association with the point of origin, and freely pass TestExpectationLine instances around. Also eliminate the validator idea, since validation is a context-dependent concept and has to be decoupled from initial parsing. Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Removed TestExpectation.valid, validator, changed TestExpectationParser to collect errors in TestExpectationLine, refactored surrounding code. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Changed tests to accommodate changes. * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: Ditto. 2011-07-15 Adam Roben Rename TestFailureBugForm to FailingTestsBugForm The new name will match better with a forthcoming FlakyTestBugForm class. Fixes TestFailures page's TestFailureBugForm class has a bad name Reviewed by Daniel Bates. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FailingTestsBugForm.js: Renamed from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailureBugForm.js. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FailingTestsBugForm_unittests.js: Renamed from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailureBugForm_unittests.js. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html: Updated for renames. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html: Ditto, and reordered