nrwt: implement the actual cascade of TestExpectations
[WebKit-https.git] / Tools / ChangeLog
index 8c48545..d5557c2 100644 (file)
@@ -1,3 +1,377 @@
+2012-06-13  Dirk Pranke  <dpranke@chromium.org>
+
+        nrwt: implement the actual cascade of TestExpectations
+        https://bugs.webkit.org/show_bug.cgi?id=88947
+
+        Reviewed by Ojan Vafai.
+
+        This change implements the actual cascade by removing the
+        concept of 'overrides' from the TestExpectations object and
+        parsing each file separately.
+
+        There is an actual semantic change in this patch, in that
+        setting an expectation on a directory in one file will override
+        the expectations on any individual tests set in prior files. The
+        test_overrides__directory() unit test verifies this.
+
+        Otherwise, this patch mostly consists of deleting code :).
+
+        * Scripts/webkitpy/layout_tests/models/test_expectations.py:
+        (TestExpectationsModel.__init__):
+        (TestExpectationsModel.add_expectation_line):
+        (TestExpectationsModel._add_test):
+        (TestExpectationsModel._already_seen_better_match):
+        (TestExpectations.__init__):
+        (TestExpectations._add_expectations):
+        * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
+        (test_overrides__directory):
+
+2012-06-13  Dirk Pranke  <dpranke@chromium.org>
+
+        webkitpy: update callers to use port.expectation_dict() instead of test_expectations() and test_expectations_overrides()
+        https://bugs.webkit.org/show_bug.cgi?id=88946
+
+        Reviewed by Ojan Vafai.
+
+        In preparation for fully supporting cascading expectations files
+        and removing the 'overrides' concept.
+
+        There should be no functional changes in this patch.
+
+        * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
+        (ManagerTest.test_update_summary_with_result):
+        (ResultSummaryTest.get_result_summary):
+        * Scripts/webkitpy/layout_tests/models/test_expectations.py:
+        (TestExpectations.__init__):
+        * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
+        (parse_exp):
+        (SkippedTests.check):
+        (RemoveConfigurationsTest.test_remove):
+        (test_remove_line):
+        * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
+        (LintTest.test_all_configurations.FakePort.__init__):
+        (LintTest.test_all_configurations.FakePort.expectations_dict):
+        (LintTest.test_lint_test_files__errors):
+        * Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
+        (test_overrides_are_included_correctly):
+
+2012-06-13  Dirk Pranke  <dpranke@chromium.org>
+
+        webkitpy: rework the TestExpectations style checker in preparation for the cascade
+        https://bugs.webkit.org/show_bug.cgi?id=88945
+
+        Reviewed by Ojan Vafai.
+
+        This patch changes the style checker to call the
+        TestExpectations parser directly and be oblivious as to what the
+        port's actual expectations are.
+
+        * Scripts/webkitpy/style/checkers/test_expectations.py:
+        (TestExpectationsChecker.__init__):
+        (TestExpectationsChecker.check_test_expectations):
+
+2012-06-13  Dirk Pranke  <dpranke@chromium.org>
+
+        nrwt: restructure the port classes to handle multiple expectations files
+        https://bugs.webkit.org/show_bug.cgi?id=88944
+
+        Reviewed by Ojan Vafai.
+
+        This patch restructures the Port classes so that each port
+        returns a list of TestExpectations files to be used (in a new, public,
+        expectations_files() method), and the base implementation rolls them
+        up into the ordered expectations_dict(), which becomes a public
+        method.
+
+        port.path_to_test_expectations_file(), port.test_expectations(),
+        and port.test_expectations_overrides() are then reimplemented as
+        wrappers around port.expectations_dict().
+        port.test_expectations() and port.test_expectations_overrides()
+        will eventually be removed when the cascade is fully completed,
+        and port.path_to_test_expectations_file() will be removed when
+        the rebaselining tool supports the cascade
+        (expectations_files() may also become private at that point).
+
+        There should be no functional changes in this patch, but a bunch
+        of custom logic gets deleted!
+
+        * Scripts/webkitpy/layout_tests/port/base.py:
+        (Port.expectations_dict):
+        (Port):
+        (Port.expectations_files):
+        (Port.test_expectations):
+        (Port.test_expectations_overrides):
+        * Scripts/webkitpy/layout_tests/port/base_unittest.py:
+        (PortTest.test_additional_expectations):
+        (PortTest.test_uses_test_expectations_file):
+        * Scripts/webkitpy/layout_tests/port/chromium.py:
+        (ChromiumPort.all_baseline_variants):
+        (ChromiumPort.expectations_files):
+        * Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
+        (ChromiumPortTest.test_overrides_and_builder_names):
+        * Scripts/webkitpy/layout_tests/port/google_chrome.py:
+        (_expectations_files):
+        (GoogleChromeLinux32Port.expectations_files):
+        (GoogleChromeLinux64Port.expectations_files):
+        (GoogleChromeMacPort.expectations_files):
+        (GoogleChromeWinPort.expectations_files):
+        * Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py:
+        (TestGoogleChromePort._verify_expectations_overrides):
+        * Scripts/webkitpy/layout_tests/port/port_testcase.py:
+        (PortTestCase.test_expectations_ordering):
+        * Scripts/webkitpy/layout_tests/port/webkit.py:
+        (WebKitPort._skipped_file_search_paths):
+        * Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
+        (TestRebaseline.test_rebaseline_updates_expectations_file_noop):
+        (test_rebaseline_updates_expectations_file):
+        (test_rebaseline_does_not_include_overrides):
+        (test_rebaseline_expectations):
+        (test_overrides_are_included_correctly):
+
+2012-06-13  Brent Fulgham  <bfulgham@webkit.org>
+
+        [WinCairo] Update URL of WinCairoRequirements.zip download.
+        https://bugs.webkit.org/show_bug.cgi?id=89009
+
+        Reviewed by Martin Robinson.
+
+        * Tools/Scripts/update-webkit-dependency: Put fallback code
+        to download a "last update" time from servers that don't properly
+        report Last-Modified in their HTTP header.
+        * Tools/Scripts/update-webkit-wincairo-libs: Change download link
+        for the WinCairo build requirements bundle.
+
+2012-06-13  Dirk Pranke  <dpranke@chromium.org>
+
+        nrwt: preliminary cleanup before supporting cascading expectations files
+        https://bugs.webkit.org/show_bug.cgi?id=88942
+
+        Reviewed by Ojan Vafai.
+
+        This change just prepares the TestExpectations parser to get filenames
+        along with the expectations, and improves the warning messages so that
+        they contain the filenames along with the line numbers.
+
+        There should be no functional changes in this patch.
+
+        * Scripts/webkitpy/layout_tests/controllers/test_expectations_editor_unittest.py:
+        (TestExpectationEditorTests.make_parsed_expectation_lines):
+        * Scripts/webkitpy/layout_tests/models/test_expectations.py:
+        (TestExpectationParser.parse):
+        (TestExpectationParser.expectation_for_skipped_test):
+        (TestExpectationParser._tokenize):
+        (TestExpectationParser._tokenize_list):
+        (TestExpectationLine):
+        (TestExpectationsModel.__init__):
+        (TestExpectationsModel._already_seen_better_match):
+        (TestExpectations.__init__):
+        (TestExpectations._shorten_filename):
+        (TestExpectations._report_warnings):
+        (TestExpectations._add_skipped_tests):
+        * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
+        (TestExpectationParserTests._tokenize):
+        (TestExpectationParserTests.test_tokenize_blank):
+        (TestExpectationParserTests.test_tokenize_missing_colon):
+        (TestExpectationParserTests.test_tokenize_extra_colon):
+        (TestExpectationParserTests.test_tokenize_empty_comment):
+        (TestExpectationParserTests.test_tokenize_comment):
+        (TestExpectationParserTests.test_tokenize_missing_equal):
+        (TestExpectationParserTests.test_tokenize_extra_equal):
+        (TestExpectationParserTests.test_tokenize_valid):
+        (TestExpectationParserTests.test_tokenize_valid_with_comment):
+        (TestExpectationParserTests.test_tokenize_valid_with_multiple_modifiers):
+        (TestExpectationParserTests.test_parse_empty_string):
+        (TestExpectationSerializerTests._tokenize):
+        (TestExpectationSerializerTests.assert_round_trip):
+        (TestExpectationSerializerTests.assert_list_round_trip):
+        * Scripts/webkitpy/tool/servers/gardeningserver.py:
+        (GardeningExpectationsUpdater.update_expectations):
+
+2012-06-13  Zan Dobersek  <zandobersek@gmail.com>
+
+        [Gtk] Enable link prefetch support in the developer builds
+        https://bugs.webkit.org/show_bug.cgi?id=89011
+
+        Reviewed by Martin Robinson.
+
+        Enable the link prefetch support for Gtk by default in developer
+        builds.
+
+        * Scripts/webkitperl/FeatureList.pm:
+
+2012-06-13  Csaba Osztrogonác  <ossy@webkit.org>
+
+        Update buildbot master in autoinstaller to match build.webkit.org
+        https://bugs.webkit.org/show_bug.cgi?id=88992
+
+        Reviewed by Adam Barth.
+
+        * Scripts/webkitpy/thirdparty/__init__.py:
+        (AutoinstallImportHook._install_buildbot):
+
+2012-06-13  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r120209.
+        http://trac.webkit.org/changeset/120209
+        https://bugs.webkit.org/show_bug.cgi?id=89007
+
+        Broke the WebKit2 mac build. (Requested by andersca on
+        #webkit).
+
+        * MiniBrowser/mac/BrowserWindowController.m:
+        (-[BrowserWindowController awakeFromNib]):
+        * WebKitTestRunner/TestController.cpp:
+        (WTR::TestController::initialize):
+
+2012-06-13  Zoltan Horvath  <zoltan@webkit.org>
+
+        check-webkit-style needs to respect Qt API coding style
+        https://bugs.webkit.org/show_bug.cgi?id=88995
+
+        Reviewed by Csaba Osztrogonác.
+
+        Add -whitespace/declaration exception to Qt API files.
+
+        * Scripts/webkitpy/style/checker.py:
+
+2012-06-13  Christophe Dumez  <christophe.dumez@intel.com>
+
+        [WK2] Add implementation for dispatchIntent in WebFrameLoaderClient
+        https://bugs.webkit.org/show_bug.cgi?id=88340
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Update initialization of WKPageLoaderClient.
+
+        * MiniBrowser/mac/BrowserWindowController.m:
+        (-[BrowserWindowController awakeFromNib]):
+        * WebKitTestRunner/TestController.cpp:
+        (WTR::TestController::initialize):
+
+2012-06-13  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
+
+        [Qt] Handle multiple held buttons in touch mocking.
+        https://bugs.webkit.org/show_bug.cgi?id=88865
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Add handling for multiple held mouse-buttons in the appropiate places.
+        To do this last-pos and start-pos are now also read from the last recorded
+        touch-point instead from object-global variables.
+
+        * MiniBrowser/qt/MiniBrowserApplication.cpp:
+        (MiniBrowserApplication::notify):
+        (MiniBrowserApplication::updateTouchPoint):
+        * MiniBrowser/qt/MiniBrowserApplication.h:
+        (MiniBrowserApplication):
+
+2012-06-13  Simon Hausmann  <simon.hausmann@nokia.com>
+
+        [Qt] Make it possible to disable -Werror in production builds
+
+        Reviewed by Tor Arne Vestbø.
+
+        Don't do -Werror if build-webkit is called with --qmakearg=CONFIG+=production_build,
+        something qt5.git's qtwebkit.pri will soon do.
+
+        * qmake/mkspecs/features/unix/default_post.prf:
+
+2012-06-13  Dominik Röttsches  <dominik.rottsches@intel.com>
+
+        [EFL] Store and compare md5sum of jhbuild files to trigger cleaning Dependencies
+        https://bugs.webkit.org/show_bug.cgi?id=85790
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Add md5 checks for jhbuild configuration for EFL, reusing the gtk jhbuild related
+        code in webkitdirs.pm.
+
+        * Scripts/webkitdirs.pm:
+        (jhbuildConfigurationChanged):
+        (saveJhbuildMd5):
+        (cleanJhbuild):
+        (buildAutotoolsProject):
+        (generateBuildSystemFromCMakeProject):
+
+2012-06-13  Qi Zhang  <qi.2.zhang@nokia.com>
+
+        [Qt] Add configure test for zlib and set WTF_USE_ZLIB if found
+        https://bugs.webkit.org/show_bug.cgi?id=88763
+
+        Add configure test for zlib and set WTF_USE_ZLIB if found to enable websocket
+        extension.
+
+        Reviewed by Simon Hausmann.
+
+        * qmake/config.tests/libzlib: Added.
+        * qmake/config.tests/libzlib/libzlib.cpp: Added.
+        (main):
+        * qmake/config.tests/libzlib/libzlib.pro: Added.
+        * qmake/mkspecs/features/features.prf:
+        * qmake/sync.profile:
+
+2012-06-13  Robin Cao  <robin.cao@torchmobile.com.cn>
+
+        [BlackBerry] Enable MEDIA_STREAM by default
+        https://bugs.webkit.org/show_bug.cgi?id=88849
+
+        Reviewed by Antonio Gomes.
+
+        * Scripts/webkitperl/FeatureList.pm:
+
+2012-06-13  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
+
+        Prevent stderr output from messing up detection of build path
+
+        https://bugs.webkit.org/show_bug.cgi?id=88075
+
+        Warnings such as 'perl: warning: Setting locale failed' will otherwise
+        end up as the build path when calling out to webkit-build-directory.
+
+        Reviewed by Ojan Vafai.
+
+        * Scripts/webkitpy/layout_tests/port/config.py:
+        (Config.build_directory):
+
+2012-06-13  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Update the builder name for Apple Lion builders.
+
+        * Scripts/webkitpy/layout_tests/port/builders.py:
+
+2012-06-13  Joel Dillon  <joel.dillon@codethink.co.uk>
+
+        [Qt][Win]QtTestBrowser somehow picks up DumpRenderTree's main.cpp, causing a failure to link
+        https://bugs.webkit.org/show_bug.cgi?id=88874
+
+        Reviewed by Simon Hausmann.
+
+        Rename main.cpp in QtTestBrowser because on Windows
+        it conflicts with main.cpp from DumpRenderTree.
+
+        * QtTestBrowser/QtTestBrowser.pro:
+        * QtTestBrowser/qttestbrowser.cpp: Renamed from Tools/QtTestBrowser/main.cpp.
+        (launcherMain):
+        (LauncherApplication):
+        (LauncherApplication::urls):
+        (LauncherApplication::isRobotized):
+        (LauncherApplication::robotTimeout):
+        (LauncherApplication::robotExtraTime):
+        (LauncherApplication::applyDefaultSettings):
+        (LauncherApplication::LauncherApplication):
+        (requiresGraphicsView):
+        (LauncherApplication::handleUserOptions):
+        (main):
+
+2012-06-12  Lucas Forschler  <lforschler@apple.com>
+
+        Wrap bot types inside ().
+        https://bugs.webkit.org/show_bug.cgi?id=88893
+        
+        Reviewed by Stephanie Lewis.
+
+        * BuildSlaveSupport/build.webkit.org-config/config.json:
+
 2012-06-12  Christophe Dumez  <christophe.dumez@intel.com>
 
         [soup] Prevent setting or editing httpOnly cookies from JavaScript