2011-08-12 Sadrul Habib Chowdhury DRT: Add support for gesture events. https://bugs.webkit.org/show_bug.cgi?id=66105 Reviewed by Darin Fisher. * DumpRenderTree/chromium/EventSender.cpp: (EventSender::EventSender): (EventSender::gestureScrollBegin): (EventSender::gestureScrollEnd): (EventSender::gestureTap): (EventSender::gestureEvent): * DumpRenderTree/chromium/EventSender.h: 2011-08-12 Andy Estes allowRoundingHacksCallback uses the wrong argument for 'thisObject'. https://bugs.webkit.org/show_bug.cgi?id=66158 Reviewed by Dan Bernstein. * DumpRenderTree/LayoutTestController.cpp: (allowRoundingHacksCallback): The third argument is the 'this' JSObjectRef, not the second. 2011-08-12 Andy Estes Cancel in onbeforeunload dialog sometime causes a button to stop working. https://bugs.webkit.org/show_bug.cgi?id=26211 Reviewed by Alexey Proskuryakov. Implement a new LayoutTestController method that a test can call to set the return value of DumpRenderTree's beforeunload UI delegate. * DumpRenderTree/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): Initialize m_shouldStayOnPageAfterHandlingBeforeUnload. (setShouldStayOnPageAfterHandlingBeforeUnloadCallback): Call LayoutTestController::setShouldStayOnPageAfterHandlingBeforeUnload(). (LayoutTestController::staticFunctions): Register 'setShouldStayOnPageAfterHandlingBeforeUnload' as a static function. * DumpRenderTree/LayoutTestController.h: (LayoutTestController::shouldStayOnPageAfterHandlingBeforeUnload): (LayoutTestController::setShouldStayOnPageAfterHandlingBeforeUnload): * DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): Initialize m_shouldStayOnPageAfterHandlingBeforeUnload and bind 'setShouldStayOnPageAfterHandlingBeforeUnload' to its c++ setter. (LayoutTestController::reset): Reset m_shouldStayOnPageAfterHandlingBeforeUnload to false. (LayoutTestController::setShouldStayOnPageAfterHandlingBeforeUnload): Set m_shouldStayOnPageAfterHandlingBeforeUnload to the value passed in from JavaScript. * DumpRenderTree/chromium/LayoutTestController.h: (LayoutTestController::shouldStayOnPageAfterHandlingBeforeUnload): * DumpRenderTree/chromium/WebViewHost.cpp: (WebViewHost::runModalBeforeUnloadDialog): Add the correct logging and return the inverse of LayoutTestController::shouldStayOnPageAfterHandlingBeforeUnload(). * DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:]): Ditto. * DumpRenderTree/win/UIDelegate.cpp: (UIDelegate::runBeforeUnloadConfirmPanelWithMessage): Ditto. * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Define setShouldStayOnPageAfterHandlingBeforeUnload(). * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::postNewBeforeUnloadReturnValue): Post a message to the Test Controller telling it what value it should return in its onbeforeunload UI delegate. * WebKitTestRunner/InjectedBundle/InjectedBundle.h: * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::LayoutTestController::setShouldStayOnPageAfterHandlingBeforeUnload): Call InjectedBundle::postNewBeforeUnloadReturnValue(). * WebKitTestRunner/InjectedBundle/LayoutTestController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::TestController): Initialize m_beforeUnloadReturnValue to true. (WTR::runBeforeUnloadConfirmPanel): Add the correct logging and return the value of TestController::beforeUnloadReturnValue(). (WTR::TestController::resetStateToConsistentValues): Reset m_beforeUnloadReturnValue to true. * WebKitTestRunner/TestController.h: (WTR::TestController::beforeUnloadReturnValue): (WTR::TestController::setBeforeUnloadReturnValue): * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Handle the message posted from the injected bundle by retrieving the message body as a WKBoolean and calling TestController::setBeforeUnloadReturnValue(). 2011-08-12 Sam Weinig Move compiler specific macros to their own header https://bugs.webkit.org/show_bug.cgi?id=66119 Reviewed by Anders Carlsson. * DumpRenderTree/ForwardingHeaders/wtf/Compiler.h: Added. 2011-08-11 Dimitri Glazkov Add a way to extend DOM objects in garden-o-matic. https://bugs.webkit.org/show_bug.cgi?id=66096 Reviewed by Adam Barth. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base.js: Added base.extends. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base_unittests.js: Added tests. 2011-08-11 MORITA Hajime [Chromium][DRT] editing/spelling/spelling-backspace-between-lines.html fails https://bugs.webkit.org/show_bug.cgi?id=45438 Reviewed by Kent Tamura. MockSpellCheck was assuming the input of spellCheckWord() is a word. But it can be a series of word. This change made spellCheckWord() understand simple word boundary which appears in tests. * DumpRenderTree/chromium/MockSpellCheck.cpp: (MockSpellCheck::spellCheckWord): 2011-08-11 Mark Rowe Rework some Makefile logic to remove a double-negative. Reviewed by Jon Honeycutt. * DumpRenderTree/mac/PerlSupport/Makefile: 2011-08-11 Anders Carlsson Add a FIXME. * TestWebKitAPI/TestsController.cpp: (TestWebKitAPI::TestsController::TestsController): 2011-08-11 Anders Carlsson Initialize threading before running any tests https://bugs.webkit.org/show_bug.cgi?id=66112 Reviewed by Adam Barth. * TestWebKitAPI/TestsController.cpp: (TestWebKitAPI::TestsController::TestsController): 2011-08-11 Adam Barth Add unexpected-passes.html to TestFailures for marking tests as passing https://bugs.webkit.org/show_bug.cgi?id=66102 Reviewed by Dimitri Glazkov. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js: - Move some code into the library so it can be shared. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui_unittests.js: - Add round-trip unit tests. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/unexpected-passes.html: Added. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/unexpected-passes.js: Added. - I'm not entirely sure this feature should remain a separate HTML file, but it seemed better than cluttering up the main HTML file with too much extra stuff. * Scripts/webkitpy/tool/servers/gardeningserver.py: * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py: - The gardening server couldn't handle adding PASS expectations. Now it can. 2011-08-11 Eric Seidel NRWT has wrong fallback order for Mac now that Lion exists https://bugs.webkit.org/show_bug.cgi?id=66093 Reviewed by Adam Barth. ORWT used a different system for fallback orders than NRWT did. I moved win.py to match ORWT fallback orders in bug 64486. This bug moves mac.py to match ORWT fallback order and adds 'lion' as a supported OS version. Because ChromiumMac shares OS version detection code with AppleMac this also added support for 'lion' to chromium mac. Hopefully that's a good thing. * Scripts/webkitpy/layout_tests/port/chromium_mac.py: * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py: * Scripts/webkitpy/layout_tests/port/mac.py: * Scripts/webkitpy/layout_tests/port/mac_unittest.py: * Scripts/webkitpy/layout_tests/port/win.py: 2011-08-11 Adam Barth Update test results now that we use absolute URLs. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout_unittests.js: 2011-08-11 Adam Barth garden-o-matic should be able to determine when tests unexpectedly pass https://bugs.webkit.org/show_bug.cgi?id=66092 Reviewed by Dimitri Glazkov. This patch just contains the library methods for extracting this information. I'll add some UI in a subsequent patch. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results_unittests.js: 2011-08-11 Dimitri Glazkov New expectation entries should be placed next to existing ones. https://bugs.webkit.org/show_bug.cgi?id=66066 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Added the notion of insertion point, which is computed as the last found reference to the same test. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Added and adjusted unit tests. 2011-08-11 Dimitri Glazkov Unreviewed, rolling out r92847. http://trac.webkit.org/changeset/92847 https://bugs.webkit.org/show_bug.cgi?id=65986 Broke check-webkit-style * Scripts/webkitpy/style/checker.py: * Scripts/webkitpy/style/checker_unittest.py: 2011-08-11 Dimitri Glazkov Unreviewed, rolling out r92847. http://trac.webkit.org/changeset/92847 https://bugs.webkit.org/show_bug.cgi?id=65986 Broke check-webkit-style * Scripts/webkitpy/style/checker.py: * Scripts/webkitpy/style/checker_unittest.py: 2011-08-11 Pierre Rossi [Qt] autotests shouldn't require config.h in the style check https://bugs.webkit.org/show_bug.cgi?id=65986 Remove the include rules from the style-check for Qt tests. Since for the most part it's just a matter of using the API provided by QtWebKit, enforcing the WebCore set of rules only seems to make sense in the case of MIMESniffing. Reviewed by Benjamin Poulain. * Scripts/webkitpy/style/checker.py: * Scripts/webkitpy/style/checker_unittest.py: 2011-08-11 Zsolt Fehér [WK2] Implement waitForPolicyDelegate https://bugs.webkit.org/show_bug.cgi?id=42330 Reviewed by Csaba Osztrogonác. * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::navigationTypeToString): (WTR::InjectedBundlePage::decidePolicyForNavigationAction): * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::LayoutTestController::LayoutTestController): (WTR::LayoutTestController::setCustomPolicyDelegate): (WTR::LayoutTestController::waitForPolicyDelegate): * WebKitTestRunner/InjectedBundle/LayoutTestController.h: (WTR::LayoutTestController::isPolicyDelegateEnabled): (WTR::LayoutTestController::isPolicyDelegatePermissive): 2011-08-11 Adam Barth rebaseline-expectations should use the release bots, not the debug bots. The debug bots don't all run all the tests. Also, delay updating test_expectations a long as possible to avoid clearing out lines that we'll need for other ports. * Scripts/webkitpy/layout_tests/port/builders.py: * Scripts/webkitpy/tool/commands/rebaseline.py: * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: 2011-08-10 Ryosuke Niwa r92792 inadvertently removed PlatformSpecificScheduler for all Snow Leopard bots. Revert it partially so that the remaining Snow Leopard bots can fulfill their duty. * BuildSlaveSupport/build.webkit.org-config/config.json: 2011-08-10 Eric Seidel new-run-webkit-test's WinPort has no fallback logic https://bugs.webkit.org/show_bug.cgi?id=64486 Unreviewed. Turns out that we've long had a subtle bug whereby if you didn't already have DumpRenderTree built, we might end up running unsupported tests because the DumpRenderTree --print-supported-features check would silently fail. When I moved the call from using popen to using Executive.run_command, this silent failure became noisy. (Breaking some bots.) This re-orders our steps so that we always build DRT before collecting expectations, as well as adds a warning message when DumpRenderTree can't be found. * Scripts/webkitpy/layout_tests/port/webkit.py: * Scripts/webkitpy/layout_tests/run_webkit_tests.py: 2011-08-10 Eric Seidel new-run-webkit-test's WinPort has no fallback logic https://bugs.webkit.org/show_bug.cgi?id=64486 Unreviewed. Fix test-webkitpy under Python 2.5. * Scripts/webkitpy/layout_tests/port/win.py: 2011-08-10 Benjamin Poulain [Qt][WK2] MiniBrowser is firing twice the QDesktopWebView::mousePressEvent method https://bugs.webkit.org/show_bug.cgi?id=65875 Reviewed by Kenneth Rohde Christiansen. For some reason, QWidget send fake mouse event on some platform, under certains conditions. This causes mouse events to be sent twice in some cases. We work around the problem by defining the first touch point to be a primary touch point (case which hit some weird condition in QWidget, skipping the generation of fake mouse events). * MiniBrowser/qt/MiniBrowserApplication.cpp: (MiniBrowserApplication::notify): 2011-08-10 David Hyatt https://bugs.webkit.org/show_bug.cgi?id=66004 Remove the regions and exclusions bots and also the flags in build-webkit, since I'm just turning the code on by default. Reviewed by Adam Roben. * BuildSlaveSupport/build.webkit.org-config/config.json: * Scripts/build-webkit: 2011-08-10 Oliver Hunt JSEvaluteScript does not return the correct object when given JSONP data https://bugs.webkit.org/show_bug.cgi?id=66003 Reviewed by Gavin Barraclough. Add a test case. * DumpRenderTree/mac/DumpRenderTree.mm: (testStringByEvaluatingJavaScriptFromString): 2011-08-10 Eric Seidel WIN: NRWT runs compositing tests on configurations that don't support compositing https://bugs.webkit.org/show_bug.cgi?id=64472 Reviewed by Adam Barth. I think the code was just wrong. It was never splitting the string into list pieces before. I've now tested the supported_features code and theoretically it should now work with Windows DRT. I also made the list-lookup functions always return lists, to make it possible to clean up the list-transform code in the future (I opted not to do that cleanup in this patch, but at least now both types of feature lookup functions match return types.) * Scripts/webkitpy/layout_tests/port/webkit.py: * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: 2011-08-10 Eric Seidel Clean up ChromiumDriver a little https://bugs.webkit.org/show_bug.cgi?id=65995 Unreviewed. Fix NRWT for chromium. Silly python. * Scripts/webkitpy/layout_tests/port/chromium.py: 2011-08-10 Eric Seidel Clean up ChromiumDriver a little https://bugs.webkit.org/show_bug.cgi?id=65995 Reviewed by Adam Barth. - We no longer support threading, so remove threading specific code. - Add FIXMEs about using ServerProcess instead. - Condense option-mapping if-cascade into a for loop. - Unindent long if blocks by using early return. - Unwrap lines which are needlessly wrapped. There should be no functional changes here, just code cleanup/dead-code removal. * Scripts/webkitpy/layout_tests/port/chromium.py: 2011-08-10 Dimitri Glazkov Unmuddle construction options for TestConfiguration. https://bugs.webkit.org/show_bug.cgi?id=65988 The TestConfiguration instance is now constructed only using actual values. Port-based construction is split into a "from_port" class method. Reviewed by Eric Seidel. * Scripts/webkitpy/layout_tests/models/test_configuration.py: Added TestConfiguration.from_port * Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py: Adjusted code to accommodate the change. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Ditto. * Scripts/webkitpy/layout_tests/port/base.py: Ditto. * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: Ditto. 2011-08-10 Eric Seidel Leaks bot shows python logging prefixes as part of summary display https://bugs.webkit.org/show_bug.cgi?id=65931 Reviewed by Adam Barth. The big part of this change is adding a unittesting system for master.cfg, so mere-mortals can make changes to build.webkit.org with greatly-reduced risk of breaking the world. Turns out that in typing up my trival logging fix I made 2 typos, so hopefully the hour spent getting master.cfg to load was worth it. :) I also tried to make mastercfg_unittest run as part of test-webkitpy but right now test-webkitpy requires that unittest files be located in a module-name-compatible directory. 'build.webkit.org-config' is not a valid module name. * BuildSlaveSupport/build.webkit.org-config/master.cfg: - Fixed _parseNewRunWebKitTestsOutput to strip NRWT's python formatter prefix by using a new _strip_python_logging_prefix function. - Also fixed this function to file to work with a more modern simplejson version (which returns unicode objects instead of str objects) and filed a related bug with buildbot.net due to their handling of unicode builder names. * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Added. - BuildBotConfigLoader is a huge pile of code just to get master.cfg to load. - The actual tiny unittest of the new _parseNewRunWebKitTestsOutput logic. * Scripts/webkitpy/thirdparty/__init__.py: - Add autoinstallation of buildbot (and jinja2) for use by mastercfg_unittest.py 2011-08-09 Dimitri Glazkov garden-o-matic should extrapolate failures given a set of known results https://bugs.webkit.org/show_bug.cgi?id=65882 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_configuration.py: Spuriously covered my old sins. * Scripts/webkitpy/layout_tests/port/builders.py: Augmented builders dictionary to contain build coverage specifiers, adjusted all call sites. * Scripts/webkitpy/tool/servers/gardeningserver.py: Added BuildCoverageExtrapolator, a thing that makes wider net for specific failures. * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py: Added unit tests. 2011-08-10 Adam Barth The URL we were computing for retrieving baselines was missing a slash character because our mocks had an extra slash character. I've corrected both the code and the mock. * Scripts/webkitpy/tool/commands/rebaseline.py: * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: * Scripts/webkitpy/tool/mocktool.py: 2011-08-09 Adam Barth Move the quote mark to the right place. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js: 2011-08-09 Adam Barth garden-o-matic should use huerstics to narrow regression range https://bugs.webkit.org/show_bug.cgi?id=65948 Reviewed by Dimitri Glazkov. When analyzing a regression range, if one of the commit messages mentions the test in question, we now hueristically assume that revision caused the failure. (I'm shamelessly stealing this idea from TestFailures.) * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js: 2011-07-13 Eric Seidel new-run-webkit-test's WinPort has no fallback logic https://bugs.webkit.org/show_bug.cgi?id=64486 Reviewed by Adam Roben. I've tried to write a patch for bug 64439 twice now, and both times I've ended up re-writing half the port system. So I'm breaking things up into smaller pieces, this being the first. WinPort still does not have any port_name parsing, so when instantiated with the name "win-xp" (i.e. by the rebaseline server) it will just behave as the 'win' port. I'll fix this in a second pass when I standardize port_name parsing for all webkit ports. Otherwise this should "just work" for windows. I've not been able to test the version detection on my mac, but the unit tests show the code behaving as designed. * Scripts/webkitpy/layout_tests/port/win.py: * Scripts/webkitpy/layout_tests/port/win_unittest.py: Added. 2011-08-09 Adam Barth Teach build.webkit.org's garden-o-matic how to talk to the local server https://bugs.webkit.org/show_bug.cgi?id=65940 Reviewed by Dimitri Glazkov. After this patch, the version of garden-o-matic on build.webkit.org is fully functional. It can interact with the local server via CORS. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/config.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js: * Scripts/webkitpy/tool/commands/gardenomatic.py: * Scripts/webkitpy/tool/servers/gardeningserver.py: 2011-08-09 Adam Barth Enable CORS for garden-o-matic https://bugs.webkit.org/show_bug.cgi?id=65936 Reviewed by Dimitri Glazkov. This patch will allow the hosted instance of garden-o-matic to communicate with the local server. * Scripts/webkitpy/tool/servers/gardeningserver.py: * Scripts/webkitpy/tool/servers/reflectionhandler.py: 2011-08-09 Adam Barth Upgrade jquery in TestFailures https://bugs.webkit.org/show_bug.cgi?id=65935 Reviewed by Dimitri Glazkov. Upgrade to a newer version of jQuery with better support for CORS and CSP. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html: 2011-08-09 Sheriff Bot Unreviewed, rolling out r92683. http://trac.webkit.org/changeset/92683 https://bugs.webkit.org/show_bug.cgi?id=65921 "Breaks Qt --minimal build. Revert pending update of the Qt minimal configuration" (Requested by simathur on #webkit). * QtTestBrowser/cookiejar.cpp: (TestBrowserCookieJar::TestBrowserCookieJar): * QtTestBrowser/launcherwindow.cpp: (LauncherWindow::createChrome): (LauncherWindow::setDiskCache): * QtTestBrowser/main.cpp: (LauncherApplication::handleUserOptions): * QtTestBrowser/webpage.cpp: (WebPage::openUrlInDefaultBrowser): 2011-08-09 Siddharth Mathur [Qt] Simplify code by removing QT_NO_DESKTOPSERVICES and QT_NO_NETWORKDISKCACHE https://bugs.webkit.org/show_bug.cgi?id=65880 Reviewed by Andreas Kling. QDesktopServices and QNetworkDiskCache have been around for a while now. Kill flags which check for their feature flags. Assume that any reasonable Qt build provides them. * QtTestBrowser/cookiejar.cpp: (TestBrowserCookieJar::TestBrowserCookieJar): * QtTestBrowser/launcherwindow.cpp: (LauncherWindow::createChrome): (LauncherWindow::setDiskCache): * QtTestBrowser/main.cpp: (LauncherApplication::handleUserOptions): * QtTestBrowser/webpage.cpp: (WebPage::openUrlInDefaultBrowser): 2011-08-09 Adam Barth BaselineOptimizer created the wrong baseline for fast/js/regexp-overflow.html https://bugs.webkit.org/show_bug.cgi?id=65891 Reviewed by Eric Seidel. The problem was that platform/chromium contained a bogus expectation file that needed to be removed, but by the time we got around to removing it, we'd already moved the correct baseline into its place. After this patch, we copy the gold results into memory before reshuffling things on disk (and we delete bad things before adding good things). * Scripts/webkitpy/common/checkout/baselineoptimizer.py: * Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py: 2011-08-08 Adam Barth Chromium Windows bots can't figure out what SVN revision they're running https://bugs.webkit.org/show_bug.cgi?id=65893 Reviewed by Eric Seidel. The comment in _engage_awesome_windows_hacks explains why we're making this change. It's ugly and rediculous, but this approach seems better than using shell=True when calling popen. * Scripts/webkitpy/common/checkout/scm/svn.py: * Scripts/webkitpy/layout_tests/port/chromium_win.py: 2011-08-08 Adam Barth Remove deduplicate-tests https://bugs.webkit.org/show_bug.cgi?id=65886 Reviewed by Tony Chang. This script is redundant with "webkit-patch bulk-optimize-baselines", which can find many more duplicates than deduplicate-tests because bulk-optimize-baselines can move results around whereas deduplicate-tests can only remove results. * Scripts/deduplicate-tests: Removed. * Scripts/webkitpy/to_be_moved/deduplicate_tests.py: Removed. * Scripts/webkitpy/to_be_moved/deduplicate_tests_unittest.py: Removed. 2011-08-08 Adam Barth scm.delete should delete empty parent directories as well https://bugs.webkit.org/show_bug.cgi?id=65878 Reviewed by Eric Seidel. This behavior makes SVN match GIT (which has no concept of empty directories). This bug comes up a lot when optimizing baselines, which often create empty directories when we're able to optimize everything out of a given folder. * Scripts/webkitpy/common/checkout/scm/scm_unittest.py: * Scripts/webkitpy/common/checkout/scm/svn.py: 2011-08-08 Lucas Forschler Add triggers for Lion WK2 test bots. Reviewed by Stephanie Lewis. * BuildSlaveSupport/build.webkit.org-config/config.json: 2011-08-08 Adam Barth bulk-optimize-baselines should take directories on the command line https://bugs.webkit.org/show_bug.cgi?id=65879 Reviewed by Dimitri Glazkov. Passing lists of tests via stdin is a pain. It's easier if the command takes a list of tests on the command line, like run-webkit-tests. * Scripts/webkitpy/tool/commands/rebaseline.py: 2011-08-08 Adam Barth Deprecate rebaseline-chromium-webkit-tests https://bugs.webkit.org/show_bug.cgi?id=65873 Reviewed by Dimitri Glazkov. This script never worked correctly and now is redundant with more modern infrastructure for rebaselining tests. This patch deprecates the script in order to flush out any issues with the new tools. Once folks are happy with the new tools, we'll delete this script. * Scripts/rebaseline-chromium-webkit-tests: 2011-08-08 Dimitri Glazkov garden-o-matic should only touch expectations that need updating. https://bugs.webkit.org/show_bug.cgi?id=65876 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Added reconstitute_only_these to TestExpectationSerializer.list_to_string, so that a caller could influence which lines to serialize from values. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Added tests. * Scripts/webkitpy/tool/servers/gardeningserver.py: Started using reconstitute_only_these. * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py: Added tests. 2011-08-08 Dimitri Glazkov TestExpectationsEditor should return a list of updated expectations. https://bugs.webkit.org/show_bug.cgi?id=65872 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Added a list to store lines that are being updated. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Changed tests to account for updated lines. 2011-08-08 Jochen Eisinger Fix SCM webkitpy unit test failures https://bugs.webkit.org/show_bug.cgi?id=65823 Reviewed by Eric Seidel. * Scripts/webkitpy/common/checkout/scm/git.py: * Scripts/webkitpy/common/checkout/scm/scm_unittest.py: 2011-08-08 Eric Seidel Move the --leaks bot back over to NRWT now that I'm back from vacation and able to debug it. Unreviewed. * Scripts/run-webkit-tests: (usingWebKit2): (useNewRunWebKitTests): 2011-08-05 Dimitri Glazkov Wire up updating expectations in garden-o-matic. https://bugs.webkit.org/show_bug.cgi?id=65794 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/port/factory.py: Moved _port_for_builder from rebaseline.py to here, rename to get_from_builder_name. * Scripts/webkitpy/tool/commands/rebaseline.py: Adapted callsites to new location. * Scripts/webkitpy/tool/servers/gardeningserver.py: Added GardeningExpectationsUpdater, which knows how to update expectations. * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py: Added loads of tests. 2011-08-08 Jochen Eisinger webkit-patch doesn't get along with renamed files https://bugs.webkit.org/show_bug.cgi?id=48075 Possibly a bit heavy handed - I removed all instances of -C and changed every instance of -M with '--no-renames' in git.py. This forces git to not try to tell us about renames at all, which is ultimately the behaviour we want. The old file is shown deleted, then the new file is shown added, followed by any changes that occurred. Also gets rid of the problem where deleting one file and adding another file which has similar content would unexpectedly show up as a rename, and fall out of a diff. Based on a patch by Wyatt Carss. Reviewed by Eric Seidel. * Scripts/webkitpy/common/checkout/scm/git.py: 2011-08-07 Sam White Add the ability to search the AccessibilityObject cache https://bugs.webkit.org/show_bug.cgi?id=64994 Added testing support for AccessibilityObject cache searching. Currently, only the mac platform is full supported and has had API exposed. Other platforms have only have this new functionality stubbed. Full implementation is a job suited only for an accessibility expert of each respective platform. Reviewed by Chris Fleizach. * DumpRenderTree/AccessibilityUIElement.cpp: (uiElementForSearchPredicateCallback): (AccessibilityUIElement::getJSClass): * DumpRenderTree/AccessibilityUIElement.h: * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: (AccessibilityUIElement::uiElementForSearchPredicate): * DumpRenderTree/mac/AccessibilityUIElementMac.mm: (AccessibilityUIElement::uiElementForSearchPredicate): * DumpRenderTree/win/AccessibilityUIElementWin.cpp: (AccessibilityUIElement::uiElementForSearchPredicate): 2011-08-06 Adam Barth Remove dead code in webkitpy https://bugs.webkit.org/show_bug.cgi?id=65818 Reviewed by Dimitri Glazkov. This code was added to support the rebaseline2 command six months ago, but the rebaseline2 command was never finished and no one else has used this code since it was landed. This patch removes the dead code. If we revive rebaseline2, then we can revert this patch and recover the code. Until then, this code is just dead weight. * Scripts/webkitpy/common/net/buildbot/buildbot.py: * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py: * Scripts/webkitpy/common/net/testoutput.py: Removed. * Scripts/webkitpy/common/net/testoutput_unittest.py: Removed. * Scripts/webkitpy/common/net/testoutputset.py: Removed. * Scripts/webkitpy/common/net/testoutputset_unittest.py: Removed. * Scripts/webkitpy/common/system/directoryfileset.py: Removed. * Scripts/webkitpy/common/system/directoryfileset_unittest.py: Removed. * Scripts/webkitpy/layout_tests/port/base.py: * Scripts/webkitpy/layout_tests/port/chromium.py: * Scripts/webkitpy/layout_tests/port/webkit.py: 2011-08-06 Adam Barth webkit-patch optimize-baselines can't handle promotions to base results directory https://bugs.webkit.org/show_bug.cgi?id=65819 Reviewed by Dimitri Glazkov. This bug came up when testing the optimizer on some editing baselines. * Scripts/webkitpy/common/checkout/baselineoptimizer.py: * Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py: 2011-08-06 Adam Barth Add a small command to optimize baselines in bulk. * Scripts/webkitpy/tool/commands/rebaseline.py: 2011-08-05 Dimitri Glazkov Fix unit test breakage by plumbing convert_404_to_None in MockWeb. * Scripts/webkitpy/tool/mocktool.py: Added missing parameter to MockWeb.get_binary 2011-08-05 Dimitri Glazkov Garden-o-matic updateexpectations needs a unit test. https://bugs.webkit.org/show_bug.cgi?id=65780 Reviewed by Adam Barth. * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py: Added unit test. 2011-08-05 Anders Carlsson Future proof an Objective-C test https://bugs.webkit.org/show_bug.cgi?id=65788 Reviewed by Dan Bernstein. Add isObjectInstanceOf to ObjCController. * DumpRenderTree/mac/ObjCController.m: (+[ObjCController isSelectorExcludedFromWebScript:]): (+[ObjCController webScriptNameForSelector:]): (-[ObjCController isObject:instanceOf:]): 2011-08-05 Adam Barth trac.js needs unittests https://bugs.webkit.org/show_bug.cgi?id=65673 Reviewed by Dimitri Glazkov. This tests also have somewhat large fixtures. I've trimmed the example XML down a bunch while still hitting interesting cases in the parsing. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/trac_unittests.js: Added. 2011-08-05 Adam Barth Rebuild rebaseline-chromium-webkit-tests on top of modern infrastructure https://bugs.webkit.org/show_bug.cgi?id=65759 Reviewed by Dimitri Glazkov. rebaseline-chromium-webkit-tests doesn't really fit into webkitpy's architecture, is poorly tested, and has a bunch of quirks. This patch rebuilds the core functionality of rebaseline-chromium-webkit-tests on top of more modern infrastructure. In the process, we get more code re-use and better testing. Once we're satisfied with this new implementation, we can delete the old implementation. * Scripts/webkitpy/common/checkout/baselineoptimizer.py: * Scripts/webkitpy/common/net/web.py: * Scripts/webkitpy/layout_tests/models/test_expectations.py: * Scripts/webkitpy/layout_tests/port/builders.py: * Scripts/webkitpy/layout_tests/port/chromium.py: * Scripts/webkitpy/layout_tests/port/factory.py: * Scripts/webkitpy/layout_tests/port/webkit.py: * Scripts/webkitpy/tool/commands/rebaseline.py: * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: 2011-08-05 Anders Carlsson Remove PluginHalter https://bugs.webkit.org/show_bug.cgi?id=65729 Reviewed by Darin Adler. Remove call to set the allowed plug-in run time. * DumpRenderTree/mac/DumpRenderTree.mm: (resetDefaultsToConsistentValues): 2011-08-05 Ademar de Souza Reis Jr. Unreviewed build fix for Qt-Minimal buildbot Use ~/.QtTestBrowser for the cookiejar when QDesktopServices is disabled. Rubber-stamped by Holger Freyther. * QtTestBrowser/cookiejar.cpp: (TestBrowserCookieJar::TestBrowserCookieJar): 2011-08-05 Ademar de Souza Reis Jr [Qt] QtTestBrowser: Add support for saving cookies on disk https://bugs.webkit.org/show_bug.cgi?id=65328 Simple cookiejar that saves cookies on disk. Added menu options to clear cookies (Edit->Clear cookies) and disable disk cookies (Settings->[ ]Save Cookies on Disk). Option -no-disk-cookies is also available. Reviewed by Andreas Kling. * QtTestBrowser/QtTestBrowser.pro: * QtTestBrowser/cookiejar.cpp: Added. * QtTestBrowser/cookiejar.h: Added. * QtTestBrowser/launcherwindow.cpp: * QtTestBrowser/launcherwindow.h: * QtTestBrowser/main.cpp: 2011-08-04 Adam Barth model.js needs some unit testing https://bugs.webkit.org/show_bug.cgi?id=65730 Reviewed by Dimitri Glazkov. These tests do not cover all the functions exported by the model module. We'll need to add the remaining ones in the future. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model_unittests.js: Added. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html: 2011-08-04 Adam Barth Another speculative fix for the "svn revision on Windows" problem. * Scripts/webkitpy/common/checkout/scm/git.py: 2011-08-04 Mark Rowe Future-proof Xcode configuration settings. * DumpRenderTree/mac/Configurations/Base.xcconfig: * DumpRenderTree/mac/Configurations/CompilerVersion.xcconfig: * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: * MiniBrowser/Configurations/Base.xcconfig: * MiniBrowser/Configurations/CompilerVersion.xcconfig: * MiniBrowser/Configurations/DebugRelease.xcconfig: * TestWebKitAPI/Configurations/Base.xcconfig: * TestWebKitAPI/Configurations/CompilerVersion.xcconfig: * TestWebKitAPI/Configurations/DebugRelease.xcconfig: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/Configurations/CompilerVersion.xcconfig: * WebKitTestRunner/Configurations/DebugRelease.xcconfig: 2011-08-04 Adam Barth Fancier debug logging. * Scripts/webkitpy/layout_tests/controllers/manager.py: 2011-08-04 David Levin [chromium] Fix assertion failure in ThreadIdentifierData::identifier in TestShell. https://bugs.webkit.org/show_bug.cgi?id=65685 Reviewed by Dmitry Titov. * DumpRenderTree/chromium/WebViewHost.cpp: (WebViewHost::WebViewHost): Intialize WTF threading before anything in WTF is used. Usually this is done by WebViewImpl::WebViewImpl but in some cases code may use WTF without creating WebViewImpl and WTF code functionality may call WTF::currentThread, which requires this initialization now. 2011-08-04 Adam Barth An educated guess at causing the Windows bots on build.webkit.org to find the SVN revision number. * Scripts/webkitpy/layout_tests/controllers/manager.py: * Scripts/webkitpy/layout_tests/port/base.py: 2011-08-04 Adam Barth More logging to help debug the "no SVN rev on Chromium Windows bots" bug. My current theory is that we're trying to detect the SCM system in the wrong directory. * Scripts/webkitpy/layout_tests/port/base.py: 2011-08-04 Dimitri Glazkov Speed up webkit-patch optimize-expectations significantly by not collecting test files. https://bugs.webkit.org/show_bug.cgi?id=65697 I neglected to realize that collecting test names is not necessary for this operation. Reviewed by Adam Barth. * Scripts/webkitpy/tool/commands/expectations.py: Changed to pass an empty list of test files. 2011-08-04 Adam Barth checkout_unittest.js should have better coverage of checkout.js https://bugs.webkit.org/show_bug.cgi?id=65671 Reviewed by Dimitri Glazkov. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js: - Remove unused functions. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout_unittests.js: - Test remaining public functions in the checkout module. 2011-08-04 Dmitry Lomov https://bugs.webkit.org/show_bug.cgi?id=65706 Run run-unit-tests on release mode test bots. Reenabling after 61812 is fixed. Reviewed by Adam Roben. * BuildSlaveSupport/build.webkit.org-config/master.cfg: 2011-08-04 Adam Barth builders.js needs unit tests https://bugs.webkit.org/show_bug.cgi?id=65670 Reviewed by Dimitri Glazkov. This test requires somewhat large test fixtures, but using real examples seemed better than trimming them down too much. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/builders.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/builders_unittests.js: Added. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html: - Note: trac_unittests.js doesn't exist (yet!). 2011-08-04 Alexis Menard [Qt] Make navigation actions properly usable in QML. https://bugs.webkit.org/show_bug.cgi?id=65624 Fix compilation after the introduction of QWebNavigationController. Reviewed by Benjamin Poulain. * MiniBrowser/qt/BrowserView.cpp: (BrowserView::navigationAction): 2011-08-04 Adam Barth Another subtle bug due to lack of testing in main.js. :( * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js: 2011-08-04 Adam Barth Fix types. Sadly, main.js has no test coverage. (I need to think about how to test this part of the code.) * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js: 2011-08-04 Adam Barth bugzilla.js is missing unit tests https://bugs.webkit.org/show_bug.cgi?id=65656 Reviewed by Adam Roben. Testing makes perfect. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/bugzilla_unittests.js: Added. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/net_unittests.js: (NetworkSimulator.prototype.runTest.get if): * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html: 2011-08-04 Adam Barth Add missing license blocks to garden-o-matic https://bugs.webkit.org/show_bug.cgi?id=65654 Reviewed by Dimitri Glazkov. This patch is entirely boilerplate. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailures.css: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base_unittests.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/builders.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout_unittests.js: * 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/model.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/net.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/net_unittests.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/run-unittests.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui_unittests.js: 2011-08-04 Adam Barth garden-o-matic needs a way to mock out the network https://bugs.webkit.org/show_bug.cgi?id=65653 Reviewed by Dimitri Glazkov. This patch introduces the net module, which is a useful mock point for abstracting away the network. Future patches will use this infrastructure to test some currently untested code. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Bugzilla.js: * 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/builders.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/net.js: Added. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/net_unittests.js: Added. (NetworkSimulator): (NetworkSimulator.prototype.scheduleCallback): (NetworkSimulator.prototype.runTest): * 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/run-unittests.html: * Scripts/webkitpy/tool/servers/gardeningserver.py: 2011-08-03 Adam Barth Use failureInfo more pervasively in garden-o-matic https://bugs.webkit.org/show_bug.cgi?id=65650 Reviewed by Dimitri Glazkov. These three variable appears in concert together many places. This patch unifies the remaining uses into being failureInfo objects, which saves some marshalling. * 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-08-03 Adam Barth garden-o-matic should be able to update expecations from the details pane https://bugs.webkit.org/show_bug.cgi?id=65648 Reviewed by Dimitri Glazkov. The new button queues up the updates, which get executed all at once. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js: 2011-08-03 Adam Barth Add UI to garden-o-matic for updating expectations https://bugs.webkit.org/show_bug.cgi?id=65644 Reviewed by Dimitri Glazkov. The patch plumbs the UI back to the gardening server, but the gardening server endpoint is just a stub at this point. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js: * Scripts/webkitpy/tool/servers/gardeningserver.py: * Scripts/webkitpy/tool/servers/reflectionhandler.py: 2011-08-03 Adam Barth garden-o-matic details view should queue rebaselines for later execution https://bugs.webkit.org/show_bug.cgi?id=65636 Reviewed by Dimitri Glazkov. This patch doesn't contain any confirmation UI, but we'll probably want that at some point. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js: 2011-08-03 Kentaro Hara Implement EventSender.scalePageBy() https://bugs.webkit.org/show_bug.cgi?id=58013 Reviewed by Darin Fisher. Implemented EventSender.scalePageBy(f, x, y), which scales a page by a factor of f and then sets a scroll position to (x, y). Enabled the tests that had been waiting for the implementation of EventSender.scalePageBy(f, x, y). Tests: compositing/scaling/tiled-layer-recursion.html fast/repaint/scale-page-shrink.html fast/dom/Element/scale-page-client-rects.html fast/dom/Range/scale-page-client-rects.html fast/events/scroll-in-scaled-page-with-overflow-hidden.html fast/dom/Element/scale-page-bounding-client-rect.html fast/dom/Range/scale-page-bounding-client-rect.html * DumpRenderTree/chromium/EventSender.cpp: (EventSender::EventSender): Added bindings for scalePageBy(). (EventSender::scalePageBy): A wrapper method for scalePage() in WebView. * DumpRenderTree/chromium/EventSender.h: * DumpRenderTree/chromium/TestShell.cpp: (TestShell::resetTestController): Resets the scale factor to 1. 2011-08-03 David Levin Rename WEBKIT_API to WEBKIT_EXPORT in check-webkit-style. https://bugs.webkit.org/show_bug.cgi?id=65652 Reviewed by Adam Barth. * Scripts/webkitpy/style/checkers/cpp.py: * Scripts/webkitpy/style/checkers/cpp_unittest.py: 2011-08-03 Filip Pizlo Adding Filip Pizlo to committer list. Unreviewed. * Scripts/webkitpy/common/config/committers.py: 2011-08-03 Dimitri Glazkov Add "optimize-expectations" command to webkit-patch. https://bugs.webkit.org/show_bug.cgi?id=65633 For now, only operates on Chromium test_expectations.txt and does not report errors/warnings. Reviewed by Adam Barth. * Scripts/webkitpy/tool/commands/__init__.py: Added command. * Scripts/webkitpy/tool/commands/expectations.py: Added. 2011-08-03 Dimitri Glazkov Allow multiple bug identifiers in test expectations. https://bugs.webkit.org/show_bug.cgi?id=65642 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Tweaked to allow multiple bug ids. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Added tests. 2011-08-03 Dimitri Glazkov Teach BuilderToPort to distinguish between Release and Debug builders. https://bugs.webkit.org/show_bug.cgi?id=65628 Reviewed by Adam Barth. * Scripts/webkitpy/tool/commands/rebaseline.py: Added a smart options object and passed it to port factory. * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: Added tests. 2011-08-03 Caio Marcelo de Oliveira Filho [Qt] Fix running qmltests for WK2 in the bot https://bugs.webkit.org/show_bug.cgi?id=65621 Reviewed by Csaba Osztrogonác. The path for QML_IMPORT_PATH was assuming we were running the WK1 tests, but now there's the case for WK2 UIProcess tests as well. * Scripts/run-qtwebkit-tests: add both possible paths to the QML_IMPORT_PATH. 2011-08-02 Dimitri Glazkov Add a way to edit test expectations. https://bugs.webkit.org/show_bug.cgi?id=64922 Implements a TestExpectationsEditor, which provides a standard way to update and remove test expectations. Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Changed TestExpectationSerializer to skip lines that match no test configurations, added TestExpectationLine.is_flaky, added BugManager, a simple interface to be fleshed out later, and a TestExpectationsEditor, the big enchilada. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Loads of tests to capture desired behavior. 2011-08-03 Andreas Kling [Qt] MiniBrowser: Unbreak load progress indication. https://bugs.webkit.org/show_bug.cgi?id=65614 Reviewed by Kenneth Rohde Christiansen. loadProgress() was renamed to loadProgressChanged(). * MiniBrowser/qt/BrowserWindow.cpp: (BrowserWindow::BrowserWindow): (BrowserWindow::onLoadProgressChanged): * MiniBrowser/qt/BrowserWindow.h: 2011-08-03 Martin Robinson Build fix for WebKit2GTK+. * WebKitTestRunner/GNUmakefile.am: Include libInternals as one of of the library dependencies of the injected bundle. 2011-08-03 Carlos Garcia Campos [GTK] Install web and plugin processes in libexecdir instead of bindir https://bugs.webkit.org/show_bug.cgi?id=65600 Reviewed by Martin Robinson. Set WEBKIT_EXEC_PATH environment variable to use web and plugin process from current directory instead of the intalled ones. * MiniBrowser/gtk/GNUmakefile.am: * MiniBrowser/gtk/main.c: (main): * WebKitTestRunner/GNUmakefile.am: * WebKitTestRunner/gtk/main.cpp: (main): 2011-08-02 Anders Carlsson Add mac-lion platform to old-run-webkit-tests https://bugs.webkit.org/show_bug.cgi?id=65577 * Scripts/old-run-webkit-tests: * Scripts/webkitdirs.pm: (isLion): 2011-08-02 Alexandru Chiculita Buildbot: The Properties object has no "hasProperty" method in buildbot 8.3 https://bugs.webkit.org/show_bug.cgi?id=65554 Using "has_key" instead of "hasProperty" in order to support buildbot 8.3. Reviewed by Adam Roben. * BuildSlaveSupport/build.webkit.org-config/master.cfg: 2011-08-02 Jochen Eisinger Implement WebPermissionClient::allowPlugins for layout tests https://bugs.webkit.org/show_bug.cgi?id=33991 Reviewed by Adam Barth. * DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): (LayoutTestController::setPluginsAllowed): * DumpRenderTree/chromium/LayoutTestController.h: * DumpRenderTree/chromium/WebPermissions.cpp: (WebPermissions::allowPlugins): (WebPermissions::setPluginsAllowed): (WebPermissions::reset): * DumpRenderTree/chromium/WebPermissions.h: 2011-08-02 Adam Barth TestFailures unit tests leak a global variable https://bugs.webkit.org/show_bug.cgi?id=65500 Reviewed by Adam Roben. qunit detects the leak if you check the "noglobals" box on run-unittests.html. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder_unittests.js: 2011-08-02 Alexandru Chiculita CSS Regions build bot should archive and upload output files https://bugs.webkit.org/show_bug.cgi?id=65200 Until now the buildbots would only upload the result archive if the 'trigger' parameters was specified. The upload was needed, because the testbots needed to download and use the archive. For CSS Regions we don't have a testbot yet, but we want to save the archive on the server for manual testing. Added new parameter in config.json, called "upload" that when set to "true" will force the upload to the buildmaster server. The "features" argument is now taken into account when determining the name of the archive on the server. That was needed in order to avoid the CSS Regions Mac buildbot overwrite the SnowLeopard Mac build. Reviewed by Adam Roben. * BuildSlaveSupport/build.webkit.org-config/config.json: * BuildSlaveSupport/build.webkit.org-config/master.cfg: 2011-08-02 Patrick Gansterer Fix _win32_check_running_pid on 64bit windows python https://bugs.webkit.org/show_bug.cgi?id=64950 Reviewed by Adam Roben. Use the correct types for the PROCESSENTRY32 struct. th32DefaultHeapID is declared as ULONG_PTR and not as DWORD. Using 32bit for pointers instead of 64bit results in an ERROR_BAD_LENGTH failure, when calling the Process32First function. This is covered by the executive unittest. * Scripts/webkitpy/common/system/executive.py: 2011-08-01 Adam Barth garden-o-matic should call optimize-baselines when rebaselining tests https://bugs.webkit.org/show_bug.cgi?id=65499 Reviewed by Dimitri Glazkov. I took the opportunity to modernize this code to use some of our more powerful primitives from base. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base_unittests.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js: * Scripts/webkitpy/tool/servers/gardeningserver.py: * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py: 2011-08-01 Stephanie Lewis Finish reconfiguration started by Lucas Forschler Reconfigured slaves: Removed Leopard Intel Release (Build) Removed Leopard Intel Release (Tests) Remove apple-pixel-1 Added Lion slaves from disabled Leopard slaves Added builders: Lion Intel Release (Build) Lion Intel Debug (Build) Lion Intel Release (Tests) Lion Intel Release WK2 (Tests) Lion Intel Debug (Tests) Lion Intel Debug WK2 (Tests) Added triggers: lion-intel-debug-tests lion-intel-debug-test-wk2 lion-intel-release-tests lion-intel-release-tests-wk2 Removed trigger: leopard-intel-release-tests Added PlatformSpecificScheduler: mac-lion Added "mac-lion" to build.py and build_unitttest.py Reviewed by Mark Rowe. * BuildSlaveSupport/build.webkit.org-config/config.json: * Scripts/webkitpy/common/config/build.py: * Scripts/webkitpy/common/config/build_unittest.py: 2011-08-01 Adam Barth webkit-patch needs to be able to "optimize" the storage of baselines on disk https://bugs.webkit.org/show_bug.cgi?id=65418 Reviewed by Dimitri Glazkov. If we're not careful when rebaselining tests, we can end up with lots of duplicate expected results files in the tree. This patch adds a webkit-patch command that optimizes the storage of expected results on disk. This command is similar to deduplicate-tests, except that it can move test results around rather than just remove duplicate results. Unfortunately, this problem is very tricky because the baseline search structure is a hypergraph. This patch include a huerstic optimizer that appears to work on a bunch of examples I've tried. We'll likely need to refine it as gain experience. * Scripts/webkitpy/common/system/filesystem.py: * Scripts/webkitpy/tool/commands/rebaseline.py: 2011-08-01 Dimitri Glazkov Teach TestExpectationSerializer about parsed expectations. https://bugs.webkit.org/show_bug.cgi?id=65444 This is a bit largish in size, but the essentials are: * TestExpectationSerializer, given a parsed TestExpectationLine, can now spit out a pretty string. * We now store original content of the expectation line on TestExpectationLine. * Lots of tests. Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_configuration.py: Fixed an issue where we didn't populate macros correctly, also fixed an issue where we incorrectly returned an empty list for all configurations. * Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py: Added tests for those. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Removed vestiges of code long gone, refactored TestExpectationsSerializer to recognize and correctly serialize parsed TestExpectationLine instances, changed to store and use TestExpectationLine.original_string. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Added tests. 2011-08-01 Adam Barth Remove unused functionality from gardeningserver https://bugs.webkit.org/show_bug.cgi?id=65479 Reviewed by Dimitri Glazkov. We now handle these operations directly from the front-end. That means they work even without the gardening server running! Also, add some missing files to the list of static files. * Scripts/webkitpy/tool/servers/gardeningserver.py: * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py: 2011-08-01 Dimitri Glazkov Introduce SpecifierSorter, a thing that knows how specifiers should be ordered. https://bugs.webkit.org/show_bug.cgi?id=65413 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_configuration.py: Added SpecifierSorter and converted existing code to use it. * Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py: Added unit tests and cleaned up a bit. 2011-08-01 Adam Barth Refactor bugzilla.js for use by garden-o-matic https://bugs.webkit.org/show_bug.cgi?id=65450 Reviewed by Dimitri Glazkov. This patch refactors bugzilla.js to use the AsynchronousCache and updates the style to use a module instead of an object. This patch then fixes all the existing code that uses this class to use the new API style. This main benefit of this patch is we remove the tricky manual caching and this code is now available to use in garden-o-matic (since the dependency on Utilities.js is now gone). I ran all the unit tests and poked around in TestFailures a bit to see that everything seemed to be working properly. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Bugzilla.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FailingTestsBugForm.js: (FailingTestsBugForm): (FailingTestsBugForm.prototype._createBugTitle): * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FailingTestsBugForm_unittests.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FlakyTestBugForm.js: (FlakyTestBugForm): * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FlakyTestBugForm_unittests.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/NewBugForm.js: (NewBugForm): (NewBugForm.prototype.domElement): * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/NewBugForm_unittests.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestRelatedBugForm.js: (TestRelatedBugForm): * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestRelatedBugForm_unittests.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js: (ViewController.prototype._displayBuilder.start): (ViewController.prototype._displayBuilder): (ViewController.prototype._domForAuxiliaryUIElements): (ViewController.prototype._domForNewAndExistingBugs.bugzilla.quickSearch): (ViewController.prototype._domForPossiblyFlakyTests.flakyList.appendChildren): (ViewController.prototype._domForPossiblyFlakyTests): * 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/index.html: 2011-08-01 Adam Barth garden-o-matic shouldn't require local server to determine if compile failed https://bugs.webkit.org/show_bug.cgi?id=65446 Reviewed by Dimitri Glazkov. This patch adds some basic bindings for the buildbot JSON API. I wanted to use Buildbot.js an Builder.js from the original TestFailures, but they make a number of WebKit-specific assumptions. We'll eventually need to reconcile these pieces of code. I should really add tests for this code, but that will require me to build a better mock network. I'll be happy to do that in a follow-up patch. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/builders.js: Added. - It's very unclear to me whether didFail is correct. Supposedly the first entry here is the exit code of the step, which is 0 on success. I suspect we'll need to improve this function over time. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results.js: 2011-08-01 Adam Barth garden-o-matic should show all failures, even ones that it can't find a regression range for https://bugs.webkit.org/show_bug.cgi?id=65447 Reviewed by Dimitri Glazkov. Previously, we just wouldn't display test failures that we couldn't identify a regression range for (or whose regression range had fallen off the page). This patch just displays them at the end of the list, which is slightly (but not much) better. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js: 2011-08-01 Jeff Miller Windows build fix after r92096. * TestWebKitAPI/win/InjectedBundleControllerWin.cpp: Use #include, not #import, and don't include Foundation.h. * TestWebKitAPI/win/TestWebKitAPIInjectedBundle.vcproj: Add InjectedBundleControllerWin.cpp. 2011-07-31 Anders Carlsson DownloadDecideDestinationCrash WebKit2 API tests crashes https://bugs.webkit.org/show_bug.cgi?id=65442 Reviewed by Sam Weinig. Copy the 18-characters.html file to the destination directory so we won't crash trying to make an URL for it. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: 2011-07-31 Anders Carlsson Fix SpacebarScrolling WebKit2 API test https://bugs.webkit.org/show_bug.cgi?id=65431 Reviewed by Sam Weinig. Add a way to do platform-specific bundle initialization, and use it to disable smooth scrolling. Also make it possible for a test to load the injected bundle without actually running a test from it. * TestWebKitAPI/InjectedBundleController.cpp: (TestWebKitAPI::InjectedBundleController::initialize): * TestWebKitAPI/InjectedBundleController.h: * TestWebKitAPI/PlatformUtilities.cpp: (TestWebKitAPI::Util::createContextWithInjectedBundle): * TestWebKitAPI/PlatformUtilities.h: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/mac/InjectedBundleControllerMac.mm: Added. (TestWebKitAPI::InjectedBundleController::platformInitialize): * TestWebKitAPI/win/InjectedBundleControllerWin.cpp: Added. (TestWebKitAPI::InjectedBundleController::platformInitialize): * TestWebKitAPI/win/TestWebKitAPI.vcproj: 2011-07-31 Dimitri Glazkov Use set comparison to find duplicate or overlapping specifiers in test expectations. https://bugs.webkit.org/show_bug.cgi?id=65430 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Changed to use set comparisons, because length of a set is wrong. * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: Added some unit tests to actually catch regressions. 2011-07-31 Xan Lopez Group dependencies CFLAGS together. * GNUmakefile.am: ditto. 2011-07-31 Daniel Bates Attempt to fix the GTK build after (https://bugs.webkit.org/show_bug.cgi?id=65419). * GNUmakefile.am: Add $(CAIRO_CFLAGS) to libWebCoreInternals_la_CPPFLAGS. 2011-07-30 Patrick Gansterer Fix ports_unittest.py on native windows https://bugs.webkit.org/show_bug.cgi?id=64959 Reviewed by Adam Barth. Replace WebKitPort.script_path with WebKitPort.script_shell_command. The latter includes the interpreter executable required on native windows. * Scripts/webkitpy/common/config/ports_unittest.py: 2011-07-30 Adam Barth Properly escape regular expressions. (Maybe these shouldn't be regular expressions?) * Scripts/webkitpy/tool/commands/rebaseline.py: 2011-07-30 Adam Barth Add support for Win7 to garden-o-matic. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/config.js: * Scripts/webkitpy/tool/commands/rebaseline.py: 2011-07-30 Adam Barth garden-o-matic regression ranges expand after fast bots start passing https://bugs.webkit.org/show_bug.cgi?id=65406 Reviewed by Dimitri Glazkov. Once the gardener has fixed a problem, the fast bots pick up the fix, which means we end up using the slow bots to compute the regression range. Unfortunately, the slow bots give us large regression ranges, leading to this strange effect where the regression range quality degrades as fixes roll in. This patch causes us to remember the previous regression ranges we've seen and to use that information in the future, as long as it's consistent with the new information we receive. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js: 2011-07-30 Adam Barth garden-o-matic should have a Refresh button to update its display https://bugs.webkit.org/show_bug.cgi?id=65403 Reviewed by Dimitri Glazkov. The refresh button should be faster and less disruptive than the browser's reload button. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js: 2011-07-30 Adam Barth garden-o-matic should look for the "patch by" line in revisions ostensibly authored by the commit-queue https://bugs.webkit.org/show_bug.cgi?id=65231 Reviewed by Dimitri Glazkov. The human readable name is easier to understand, especially when the patch is landed by the commit-queue. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Trac.js: 2011-07-30 Adam Barth garden-o-matic should strikeout revisions that have been rolled out https://bugs.webkit.org/show_bug.cgi?id=65227 Reviewed by Dimitri Glazkov. This helps gardeners keep track of which problems have been solved. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Trac.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.css: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui.js: 2011-07-30 Adam Barth Add missing files to the server. * Scripts/webkitpy/tool/servers/gardeningserver.py: 2011-07-29 Adam Barth Actually import the logging module! * Scripts/webkitpy/common/checkout/scm/git.py: 2011-07-29 Adam Barth More debug logging. Maybe we're running the git version of this function somehow? (That would explain why it doesn't work!) * Scripts/webkitpy/common/checkout/scm/git.py: 2011-07-29 Adam Barth Add some temporary debug logging messages to try to understand why the windows bots can't figure out their current SVN revision. * Scripts/webkitpy/common/checkout/scm/svn.py: 2011-07-29 Adam Barth Chromium try servers should use downstream test_expectations https://bugs.webkit.org/show_bug.cgi?id=65390 Reviewed by Dirk Pranke. Otherwise the try servers will report bogus failures. * Scripts/webkitpy/layout_tests/port/chromium.py: 2011-07-29 Dimitri Glazkov Fix an error in macro collapsing, refactor code to be pretty. https://bugs.webkit.org/show_bug.cgi?id=65387 My set math was wrong. Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_configuration.py: Moved collapsing into a classmethod, fixed the math to be correct. * Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py: Added unit tests. 2011-07-27 Ryuan Choi Style bot complains about EFL-specific forward declaration naming. https://bugs.webkit.org/show_bug.cgi?id=64680 Exclude EFL-specific forward declarations from indentifiers with underscores checks. Reviewed by Adam Barth. * Scripts/webkitpy/style/checkers/cpp.py: * Scripts/webkitpy/style/checkers/cpp_unittest.py: 2011-07-27 Adam Roben Use wacky !svn/bc URLs consistently in Leaks Viewer This ensures that any resources loaded via relative URLs will still get pulled from the same revision of Subversion. Fixes Focus/exclude button glyphs don't load on Leaks Viewer Reviewed by David Kilzer. * BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/index.html: Use the !svn/bc-style URL for inspector.css, too, just like we do for all other resources we pull from Subversion. 2011-07-27 Raphael Kubo da Costa [EFL] Drop WorkQueueItemEfl.h in favour of the general WorkQueueItem.h https://bugs.webkit.org/show_bug.cgi?id=65269 Reviewed by Kent Tamura. WorkQueueItemEfl.h was being included by efl's LayoutTestControllerEfl.cpp, however the top-level LayoutTestController still included WorkQueueItem.h, causing a lot of type mismatches when running the WorkQueueItem code. We can stick to the original WorkQueueItem header by making a few changes to EFL's LayoutTestController. This should make tests such as fast/loader/non-deferred-substitute-load.html stop crashing. * DumpRenderTree/efl/LayoutTestControllerEfl.cpp: (LayoutTestController::queueLoad): * DumpRenderTree/efl/WorkQueueItemEfl.cpp: (LoadItem::invoke): (LoadHTMLStringItem::invoke): (ScriptItem::invoke): * DumpRenderTree/efl/WorkQueueItemEfl.h: Removed. 2011-07-27 Dimitri Glazkov Re-add unit tests I accidentally zapped in r91878. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Re-added unit tests. 2011-07-27 Dimitri Glazkov Replace SpecificityCalculator with TestConfiguration-driven logic. https://bugs.webkit.org/show_bug.cgi?id=65206 Use our newly-acquired ability to expand modifiers into a set of matching TestConfiguration instances to calculate specificity and determine whether expectation applies to a given test configuration. Also, store bug modifier on TestExpectationsLine. Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Replaced the logic of calculating specificity with test configuration matching, removed a bunch of code. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Removed a bunch of tests that aren't useful anymore. 2011-07-27 Dimitri Glazkov Allow ports to specify their own test expectation specifier macros. https://bugs.webkit.org/show_bug.cgi?id=65291 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Changed SpecificityCalculator to use port macros. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Ditto. * Scripts/webkitpy/layout_tests/port/base.py: Added configuration_specifier_macros to retrieve the macros. * Scripts/webkitpy/layout_tests/port/chromium.py: Overrode it to return Chromium's macros. * Scripts/webkitpy/layout_tests/port/test.py: Added test macros. 2011-07-27 Dimitri Glazkov Allow TestConfigurationConverter report conversion errors. https://bugs.webkit.org/show_bug.cgi?id=65287 Also, fix a few miscellaneous testing issues. Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_configuration.py: Added a way to report unknown modifier errors. * Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py: Added a test for reporting errors. * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: Fixed an error where an invalid TestConfiguration instance was created. 'default' is not a valid build type. * Scripts/webkitpy/layout_tests/port/test.py: Ditto. '' is not a valid version. 2011-07-27 Dimitri Glazkov Teach all ports about their test configurations. https://bugs.webkit.org/show_bug.cgi?id=65278 Each Port object should return a valid set of all TestConfiguration instances, available for this port. Reviewed by Philippe Normand. * Scripts/webkitpy/layout_tests/models/test_configuration.py: Removed TestConfiguration.all_test_configurations, since it is different for each port. * Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py: Removed related test. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Changed SpecificityCalculator to take a list of all test configurations as a param. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Adjusted arguments accordingly. * Scripts/webkitpy/layout_tests/port/base.py: Forced all ports to override generation of all test configurations. * Scripts/webkitpy/layout_tests/port/chromium.py: Implemented _generate_all_test_configurations for the port. * Scripts/webkitpy/layout_tests/port/gtk.py: Ditto. * Scripts/webkitpy/layout_tests/port/mac.py: Ditto. * Scripts/webkitpy/layout_tests/port/qt.py: Ditto. * Scripts/webkitpy/layout_tests/port/win.py: * Scripts/webkitpy/layout_tests/port/port_testcase.py: Added an extra test to ensure we're generating a good set. * Scripts/webkitpy/layout_tests/port/test.py: Implemented a fixed-in-time all_test_configurations for testing. * Scripts/webkitpy/layout_tests/port/webkit_unittest.py: Added a mock all_test_configurations implementation. * Scripts/webkitpy/layout_tests/port/win_unittest.py: Added a unit test for the port. 2011-07-27 Benjamin Poulain [WK2][Qt] Move from QGraphicsView to Qt Scene Graph https://bugs.webkit.org/show_bug.cgi?id=62969 Reviewed by Andreas Kling. Co-authored with Simon Hausmann With the scene graph, the interface to have a window on screen is QSGCanvas. QGraphicsView is not used, and openGL is an enforced dependency. Both the BrowserView and the WebKitTest runner are changed from QGraphicsView to QSGCanvas. * MiniBrowser/qt/BrowserView.cpp: (BrowserView::BrowserView): (BrowserView::resizeEvent): (BrowserView::view): * MiniBrowser/qt/BrowserView.h: * MiniBrowser/qt/BrowserWindow.cpp: (BrowserWindow::BrowserWindow): (BrowserWindow::urlChanged): (BrowserWindow::~BrowserWindow): * MiniBrowser/qt/BrowserWindow.h: * MiniBrowser/qt/MiniBrowser.pro: * MiniBrowser/qt/main.cpp: (main): * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: * WebKitTestRunner/qt/PlatformWebViewQt.cpp: (WTR::WebView::WebView): (WTR::PlatformWebView::PlatformWebView): * WebKitTestRunner/qt/WebKitTestRunner.pro: 2011-07-27 Sheriff Bot Unreviewed, rolling out r91792. http://trac.webkit.org/changeset/91792 https://bugs.webkit.org/show_bug.cgi?id=65242 It broke NRWT on Qt and GTK (Requested by Ossy_night on #webkit). * Scripts/webkitpy/layout_tests/models/test_configuration.py: * Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py: * Scripts/webkitpy/layout_tests/models/test_expectations.py: * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: * Scripts/webkitpy/layout_tests/port/test.py: 2011-07-26 Adam Barth Switch to an older idiom that works on Python 2.5. * Scripts/webkitpy/layout_tests/models/test_configuration.py: 2011-07-26 Gyuyoung Kim Add an exception to coding style check for EFL port. https://bugs.webkit.org/show_bug.cgi?id=65162 Add an exception of whitespace/declaration for EFL port. Because, '*' operator is next to variable in EFL coding style. Reviewed by Kent Tamura. * Scripts/webkitpy/style/checker.py: 2011-07-26 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-26 Sadrul Habib Chowdhury Add support for download='filename' attribute in anchors. https://bugs.webkit.org/show_bug.cgi?id=64580 Reviewed by Adam Barth. * DumpRenderTree/chromium/WebViewHost.cpp: (WebViewHost::loadURLExternally): * DumpRenderTree/chromium/WebViewHost.h: 2011-07-26 Dan Bernstein Rubber-stamped by Anders Carlsson. Update DumpRenderTree and API tests for the pictograph font family preference. * DumpRenderTree/mac/DumpRenderTree.mm: (resetDefaultsToConsistentValues): * DumpRenderTree/win/DumpRenderTree.cpp: (resetDefaultsToConsistentValues): * TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp: (TestWebKitAPI::TEST): * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): 2011-07-26 Dimitri Glazkov Replace SpecificityCalculator with TestConfiguration-driven logic. https://bugs.webkit.org/show_bug.cgi?id=65206 Use our newly-acquired ability to expand modifiers into a set of matching TestConfiguration instances to calculate specificity and determine whether expectation applies to a given test configuration. Also, store bug modifier on TestExpectationsLine. Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_configuration.py: Added a way to report unknown modifier errors. * Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py: Added a test for reporting errors. * Scripts/webkitpy/layout_tests/models/test_expectations.py: Replaced the logic of calculating specificity with test configuration matching, removed a bunch of code. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Removed a bunch of tests that aren't useful anymore. * Scripts/webkitpy/layout_tests/port/chromium_unittest.py: Fixed an error where an invalid TestConfiguration instance was created. 'default' is not a valid build type. * Scripts/webkitpy/layout_tests/port/test.py: Ditto. '' is not a valid version. 2011-07-26 Adam Barth Increase the information density in garden-o-matic https://bugs.webkit.org/show_bug.cgi?id=65141 Reviewed by Dimitri Glazkov. This patch changes lets us show each revision on a single line, allowing use to show an entire day's worth of commits at once. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.css: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui.js: 2011-07-26 Dimitri Glazkov TestConfigurationConverter should not barf on invalid specifiers. https://bugs.webkit.org/show_bug.cgi?id=65194 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_configuration.py: Refactored TestConfigurationConverter.to_config_set a bit, made it return empty set whenever an invalid specifier is encountered. * Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py: Added corresponding tests. 2011-07-26 Dimitri Glazkov Introduce a way to convert between specifier lists and TestConfiguration sets. https://bugs.webkit.org/show_bug.cgi?id=65094 Add TestConfigurationConverter, a facility to convert: 1) a set of specifiers into a set of TestConfiguration instances; 2) a set of TestConfiguration instances into a list of sets of specifiers. Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/models/test_configuration.py: Added TestConfigurationConverter. * Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py: Added tests for it. 2011-07-26 Alexandru Chiculita CSS Regions build bot should build with "--css-regions" and "--css-exclusion" flags https://bugs.webkit.org/show_bug.cgi?id=65171 Added "features" parameter in config.json for "builder" objects. The parameter is optional and must be an array. All the items of the array will be passed to the build-webkit script. The items will automatically be prefixed with "--". Reviewed by Adam Roben. * BuildSlaveSupport/build.webkit.org-config/config.json: * BuildSlaveSupport/build.webkit.org-config/master.cfg: 2011-07-26 Chris Rogers Avoid outputting #EOF twice for web audio tests in chromium DRT https://bugs.webkit.org/show_bug.cgi?id=65201 Reviewed by Dirk Pranke. * DumpRenderTree/chromium/TestShell.cpp: (TestShell::dump): 2011-07-26 Adam Barth Windows bots on build.chromium.org can't figure out the head_svn_revision https://bugs.webkit.org/show_bug.cgi?id=65156 Reviewed by Tony Chang. This patch is a bit of a guess as to the issue based on the investigation in https://bugs.webkit.org/show_bug.cgi?id=65148. I'm not sure whether it will fix the issue, but it seems worth a try. * Scripts/webkitpy/common/checkout/scm/svn.py: 2011-07-26 Carlos Garcia Campos Unreviewed. Fix WebKitGtk build with GTK+ 3.x after r91707. * DumpRenderTree/gtk/SelfScrollingWebKitWebView.cpp: (getPreferredSizeMethod): 2011-07-26 MORITA Hajime [Chromium][DRT] MockSpellCheck.cpp should be clang clean https://bugs.webkit.org/show_bug.cgi?id=65166 Reviewed by Kent Tamura. * DumpRenderTree/chromium/MockSpellCheck.cpp: (MockSpellCheck::spellCheckWord): -Wsign-compare warning. 2011-07-25 Patrick Gansterer Ignore line endings in ChangeLogTests https://bugs.webkit.org/show_bug.cgi?id=64956 Reviewed by Adam Barth. Split the lines of the ChangeLog text before comparing them. This fixes 3 tests on windows, since only the content importent. * Scripts/webkitpy/common/checkout/changelog_unittest.py: * Scripts/webkitpy/tool/steps/preparechangelog_unittest.py: 2011-07-25 Adam Barth Add some debug logging to NRWT to diagnose why the windows bots can't determine their SVN revision https://bugs.webkit.org/show_bug.cgi?id=65148 Reviewed by Tony Chang. * Scripts/webkitpy/layout_tests/controllers/manager.py: 2011-07-25 Ojan Vafai Tweak whitespace wrapping to improve readability. * TestResultServer/static-dashboards/flakiness_dashboard.html: 2011-07-25 Ojan Vafai Minor tweak to wrap label elements as atomic units. * TestResultServer/static-dashboards/dashboard_base.js: * TestResultServer/static-dashboards/flakiness_dashboard.html: 2011-07-25 Ojan Vafai always show flakiness details on the builder page https://bugs.webkit.org/show_bug.cgi?id=65139 Reviewed by Tony Chang. In order to simplify the UI, we hide the flakiness details by default, but there's no actual use-case for this page without the flakiness details. So get rid of that option and always show the flakiness details. * TestResultServer/static-dashboards/flakiness_dashboard.html: 2011-07-25 Ojan Vafai simplify the UI of the header above the test list table https://bugs.webkit.org/show_bug.cgi?id=65136 Reviewed by Adam Barth. Use checkboxes instead of links since this is really about which tests to include. Ends up using less text and put the checkboxes to the right of the header instead of below it. * TestResultServer/static-dashboards/flakiness_dashboard.html: * TestResultServer/static-dashboards/flakiness_dashboard_tests.js: 2011-07-25 Chris Rogers Update new-run-webkit-tests to accomodate binary audio data https://bugs.webkit.org/show_bug.cgi?id=65135 Reviewed by Dirk Pranke. * Scripts/webkitpy/layout_tests/port/chromium.py: 2011-07-25 Chris Rogers Update Chromium DRT to output binary (instead of base64-encoded) data for web audio testing https://bugs.webkit.org/show_bug.cgi?id=65039 Reviewed by Tony Chang. * DumpRenderTree/chromium/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): (LayoutTestController::setAudioData): * DumpRenderTree/chromium/LayoutTestController.h: (LayoutTestController::audioData): * DumpRenderTree/chromium/TestEventPrinter.cpp: (DRTPrinter::handleAudioHeader): (TestShellPrinter::handleAudioHeader): * DumpRenderTree/chromium/TestShell.cpp: (TestShell::dump): 2011-06-07 Martin Robinson Reviewed by Gustavo Noronha Silva. [GTK] Use WebCore scrollbars for the DRT instead of GtkScrolledWindow https://bugs.webkit.org/show_bug.cgi?id=62252 Add a new subclass of WebKitWebView that overrides the size request to return 1 pixel by 1 pixel. This ensure that it operates properly when not packed into a GtkScrolledWindow. Also construct the WebKitWebView with self-scrolling set to true. * DumpRenderTree/gtk/DumpRenderTree.cpp: (webInspectorInspectWebView): Use the new SelfScrollingWebKitWebview class here. (createWebView): Ditto. (main): Pack the widget into a GtkBox instead of a GtkScrolledWindow. * DumpRenderTree/gtk/SelfScrollingWebKitWebView.cpp: Added. (self_scrolling_webkit_web_view_class_init): (self_scrolling_webkit_web_view_init): (self_scrolling_webkit_web_view_new): (sizeRequestMethod): (getPreferredSizeMethod): * DumpRenderTree/gtk/SelfScrollingWebKitWebView.h: Added. * GNUmakefile.am: Added SelfScrollingWebKitWebView files to the source list. 2011-07-25 Ojan Vafai by default hide tests that have passes for all recorded runs https://bugs.webkit.org/show_bug.cgi?id=65127 Reviewed by Adam Barth. This is part of simplifying the default views of the dashboard to make it show less information for the common use cases. * TestResultServer/static-dashboards/flakiness_dashboard.html: * TestResultServer/static-dashboards/flakiness_dashboard_tests.js: 2011-07-25 Ojan Vafai stop generating expectations.json now that it's unused https://bugs.webkit.org/show_bug.cgi?id=65130 Reviewed by Adam Barth. * Scripts/webkitpy/layout_tests/controllers/manager.py: * Scripts/webkitpy/layout_tests/models/test_expectations.py: * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: * TestResultServer/handlers/menu.py: * TestResultServer/static-dashboards/dashboard_base.js: * TestResultServer/static-dashboards/flakiness_dashboard.html: 2011-07-25 Ojan Vafai don't show builders in the flakiness dashboard that have stopped running a given test suite https://bugs.webkit.org/show_bug.cgi?id=65126 Reviewed by Mihai Parparita. * TestResultServer/static-dashboards/dashboard_base.js: 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