[GTK] Combine WebKit API tests into fewer binaries
authormrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 21 Jun 2012 18:01:58 +0000 (18:01 +0000)
committermrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 21 Jun 2012 18:01:58 +0000 (18:01 +0000)
https://bugs.webkit.org/show_bug.cgi?id=88458

Reviewed by Carlos Garcia Campos.

Instead of creating one binary per-test file, create binaries for each
category of tests. Right now this includes WTF and the WebKit2 C API,
but later tests can be added for the GTK+ platform layer and the WebKit1
and WebKit2 API layers.

* TestWebKitAPI/GNUmakefile.am: Compile only two test binaries, one for the WebKit2
  C API and one for WTF. Refresh the source list to ensure that new test are active.
* gtk/run-api-tests: Change the way that tests are skipped by splitting out the
concept of skipping a test and skipping a suite (program) of tests. Test cases are
skipped because of legitimate failures, but entire programs are skipped because of
problems in the harness. As of right now a test program is only skipped if the
accessibility bus cannot be started.
(SkippedTest.__init__): Make the test case a required argument and have one skipped
test case per SkippedTest instance.
(SkippedTest.__str__): Ditto.
(TestRunner): Update the directory list. We only have two gtest binaries now and they are
in one directory. Reformat the test list to make it slightly easier to read.
(TestRunner.__init__): Add the _skipped_test_program member, which handles entire
test programs that are skipped.
(TestRunner._setup_testing_environment): Use the new member.
(TestRunner._test_cases_to_skip): Collect all skipped test cases now instead of just
the first SkippedTest that matches.
(TestRunner._should_run_test_program): Take a look at the new member to make this
decision.
(TestRunner._run_test_command): Use the name test_program instead of test
to disambiguate between test cases and test suites.
(TestRunner._run_test_glib): ditto.
(TestRunner._run_test_google): Ditto.
(TestRunner._run_test): Ditto.
(TestRunner.run_tests): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@120944 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/TestWebKitAPI/GNUmakefile.am
Tools/gtk/run-api-tests

index b90c12f..e71a467 100644 (file)
@@ -1,3 +1,41 @@
+2012-06-21  Martin Robinson  <mrobinson@igalia.com>
+
+        [GTK] Combine WebKit API tests into fewer binaries
+        https://bugs.webkit.org/show_bug.cgi?id=88458
+
+        Reviewed by Carlos Garcia Campos.
+
+        Instead of creating one binary per-test file, create binaries for each
+        category of tests. Right now this includes WTF and the WebKit2 C API,
+        but later tests can be added for the GTK+ platform layer and the WebKit1
+        and WebKit2 API layers.
+
+        * TestWebKitAPI/GNUmakefile.am: Compile only two test binaries, one for the WebKit2
+          C API and one for WTF. Refresh the source list to ensure that new test are active.
+        * gtk/run-api-tests: Change the way that tests are skipped by splitting out the
+        concept of skipping a test and skipping a suite (program) of tests. Test cases are
+        skipped because of legitimate failures, but entire programs are skipped because of
+        problems in the harness. As of right now a test program is only skipped if the
+        accessibility bus cannot be started.
+        (SkippedTest.__init__): Make the test case a required argument and have one skipped
+        test case per SkippedTest instance.
+        (SkippedTest.__str__): Ditto.
+        (TestRunner): Update the directory list. We only have two gtest binaries now and they are
+        in one directory. Reformat the test list to make it slightly easier to read.
+        (TestRunner.__init__): Add the _skipped_test_program member, which handles entire
+        test programs that are skipped.
+        (TestRunner._setup_testing_environment): Use the new member.
+        (TestRunner._test_cases_to_skip): Collect all skipped test cases now instead of just
+        the first SkippedTest that matches.
+        (TestRunner._should_run_test_program): Take a look at the new member to make this
+        decision.
+        (TestRunner._run_test_command): Use the name test_program instead of test
+        to disambiguate between test cases and test suites.
+        (TestRunner._run_test_glib): ditto.
+        (TestRunner._run_test_google): Ditto.
+        (TestRunner._run_test): Ditto.
+        (TestRunner.run_tests): Ditto.
+
 2012-06-21  Yong Li  <yoli@rim.com>
 
         Unreviewed. Moving myself from committer to reviewer.
index ff92492..6b3968c 100644 (file)
@@ -1,60 +1,10 @@
 BUILT_SOURCES += \
        generate-testwebkitapi-forwarding-headers
-
 wk2_tests_sources = $(shell ls $(srcdir)/Tools/TestWebKitAPI/Tests/WebKit2/*.cpp)
 generate-testwebkitapi-forwarding-headers: $(WebKit2)/Scripts/generate-forwarding-headers.pl $(wk2_tests_sources)
        $(AM_V_GEN)$(PERL) $< $(srcdir)/Tools/TestWebKitAPI $(GENSOURCES_WEBKIT2)/include gtk
        $(AM_V_GEN)$(PERL) $< $(srcdir)/Tools/TestWebKitAPI $(GENSOURCES_WEBKIT2)/include soup
 
-TEST_PROGS += \
-       Programs/TestWebKitAPI/WTF/TestCheckedArithmeticOperations \
-       Programs/TestWebKitAPI/WTF/TestFunctional \
-       Programs/TestWebKitAPI/WTF/TestHashMap \
-       Programs/TestWebKitAPI/WTF/TestRedBlackTree \
-       Programs/TestWebKitAPI/WTF/TestStringBuilder \
-       Programs/TestWebKitAPI/WTF/TestStringOperators \
-       Programs/TestWebKitAPI/WTF/TestTemporaryChange \
-       Programs/TestWebKitAPI/WTF/TestVectorBasic \
-       Programs/TestWebKitAPI/WTF/TestVector \
-       Programs/TestWebKitAPI/WTF/TestVectorReverse
-
-if ENABLE_WEBKIT2
-TEST_PROGS += \
-       Programs/TestWebKitAPI/WebKit2/TestCookieManager \
-       Programs/TestWebKitAPI/WebKit2/TestDocumentStartUserScriptAlertCrash \
-       Programs/TestWebKitAPI/WebKit2/TestDownloadDecideDestinationCrash \
-       Programs/TestWebKitAPI/WebKit2/TestEvaluateJavaScript \
-       Programs/TestWebKitAPI/WebKit2/TestFailedLoad \
-       Programs/TestWebKitAPI/WebKit2/TestForceRepaint \
-       Programs/TestWebKitAPI/WebKit2/TestFrameMIMETypeHTML \
-       Programs/TestWebKitAPI/WebKit2/TestFrameMIMETypePNG \
-       Programs/TestWebKitAPI/WebKit2/TestHitTestResultNodeHandle \
-       Programs/TestWebKitAPI/WebKit2/TestInjectedBundleBasic \
-       Programs/TestWebKitAPI/WebKit2/TestLoadAlternateHTMLStringWithNonDirectoryURL \
-       Programs/TestWebKitAPI/WebKit2/TestLoadCanceledNoServerRedirectCallback \
-       Programs/TestWebKitAPI/WebKit2/TestMouseMoveAfterCrash \
-       Programs/TestWebKitAPI/WebKit2/TestNewFirstVisuallyNonEmptyLayout \
-       Programs/TestWebKitAPI/WebKit2/TestNewFirstVisuallyNonEmptyLayoutFails \
-       Programs/TestWebKitAPI/WebKit2/TestNewFirstVisuallyNonEmptyLayoutForImages \
-       Programs/TestWebKitAPI/WebKit2/TestNewFirstVisuallyNonEmptyLayoutFrames \
-       Programs/TestWebKitAPI/WebKit2/TestPageLoadBasic \
-       Programs/TestWebKitAPI/WebKit2/TestPageLoadDidChangeLocationWithinPageForFrame \
-       Programs/TestWebKitAPI/WebKit2/TestParentFrame \
-       Programs/TestWebKitAPI/WebKit2/TestPreventEmptyUserAgent \
-       Programs/TestWebKitAPI/WebKit2/TestPrivateBrowsingPushStateNoHistoryCallback \
-       Programs/TestWebKitAPI/WebKit2/TestResponsivenessTimerDoesntFireEarly \
-       Programs/TestWebKitAPI/WebKit2/TestRestoreSessionStateContainingFormData \
-       Programs/TestWebKitAPI/WebKit2/TestShouldGoToBackForwardListItem \
-       Programs/TestWebKitAPI/WebKit2/TestSpacebarScrolling \
-       Programs/TestWebKitAPI/WebKit2/TestUserMessage \
-       Programs/TestWebKitAPI/WebKit2/TestWKConnection \
-       Programs/TestWebKitAPI/WebKit2/TestWKPreferences \
-       Programs/TestWebKitAPI/WebKit2/TestWKString \
-       Programs/TestWebKitAPI/WebKit2/TestWKStringJSString
-endif
-
-noinst_PROGRAMS += $(TEST_PROGS)
-
 noinst_LTLIBRARIES += \
        Libraries/libTestWebKitAPIMain.la
 
@@ -76,69 +26,108 @@ Libraries_libTestWebKitAPIMain_la_CPPFLAGS = \
        $(javascriptcore_cppflags) \
        $(GLIB_CFLAGS)
 
-testwebkitapi_wtf_tests_cppflags = \
-       -isystem $(srcdir)/Source/ThirdParty/gtest/include \
-       -I$(srcdir)/Tools/TestWebKitAPI \
-       -I$(srcdir)/Source/ThirdParty/gtest/include \
-       -I$(top_builddir)/DerivedSources/WebKit2/include \
-       $(global_cppflags) \
-       $(javascriptcore_cppflags)
-
-testwebkitapi_wtf_tests_ldadd = \
-       Libraries/libgtest.la \
-       Libraries/libTestWebKitAPIMain.la \
-       libWTF.la
-
-testwebkitapi_wtf_tests_ldflags = \
-       -no-install \
-       -no-fast-install
+noinst_PROGRAMS += \
+       Programs/TestWebKitAPI/TestWTF
 
-testwebkitapi_webkit2_tests_cppflags = \
-       $(testwebkitapi_wtf_tests_cppflags) \
-       $(CAIRO_CFLAGS) \
+Programs_TestWebKitAPI_TestWTF_CPPFLAGS = \
+       $(Libraries_libTestWebKitAPIMain_la_CPPFLAGS) \
+       $(GLIB_LIBS) \
        $(GTK_CFLAGS) \
+       $(CAIRO_CFLAGS) \
        $(LIBSOUP_CFLAGS)
 
-testwebkitapi_webkit2_tests_ldadd = \
-       libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
-       libwebkit2gtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
-       Libraries/libgtest.la \
+Programs_TestWebKitAPI_TestWTF_LDADD = \
        Libraries/libTestWebKitAPIMain.la \
-       Libraries/libTestWebKitAPIWebKit2Tests.la \
+       Libraries/libgtest.la \
+       libWTF.la \
        $(CAIRO_LIBS) \
-       $(GTK_LIBS) \
        $(GLIB_LIBS) \
+       $(GTK_LIBS) \
        $(LIBSOUP_LIBS)
 
-testwebkitapi_webkit2_tests_ldflags = $(testwebkitapi_wtf_tests_ldflags)
+Programs_TestWebKitAPI_TestWTF_LDFLAGS = \
+       -no-install \
+       -no-fast-install
+
+Programs_TestWebKitAPI_TestWTF_SOURCES = \
+       Tools/TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp \
+       Tools/TestWebKitAPI/Tests/WTF/Functional.cpp \
+       Tools/TestWebKitAPI/Tests/WTF/HashMap.cpp \
+       Tools/TestWebKitAPI/Tests/WTF/RedBlackTree.cpp \
+       Tools/TestWebKitAPI/Tests/WTF/StringBuilder.cpp \
+       Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp \
+       Tools/TestWebKitAPI/Tests/WTF/TemporaryChange.cpp \
+       Tools/TestWebKitAPI/Tests/WTF/VectorBasic.cpp \
+       Tools/TestWebKitAPI/Tests/WTF/Vector.cpp \
+       Tools/TestWebKitAPI/Tests/WTF/VectorReverse.cpp \
+       Tools/TestWebKitAPI/WTFStringUtilities.h
 
 if ENABLE_WEBKIT2
-noinst_LTLIBRARIES += \
-       Libraries/libTestWebKitAPIWebKit2Tests.la \
-       Libraries/libTestWebKitAPIInjectedBundle.la
-endif
+noinst_PROGRAMS += \
+       Programs/TestWebKitAPI/TestWebKit2
+
+Programs_TestWebKitAPI_TestWebKit2_CPPFLAGS = \
+       $(Programs_TestWebKitAPI_TestWTF_CPPFLAGS) \
+       -I$(top_builddir)/DerivedSources/WebKit2/include
 
-# TestWebKitAPIWebKit2Tests
-Libraries_libTestWebKitAPIWebKit2Tests_la_SOURCES = \
+Programs_TestWebKitAPI_TestWebKit2_LDADD = \
+       $(Programs_TestWebKitAPI_TestWTF_LDADD) \
+       libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
+       libwebkit2gtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la
+
+Programs_TestWebKitAPI_TestWebKit2_LDFLAGS = \
+       $(Programs_TestWebKitAPI_TestWTF_LDFLAGS)
+
+Programs_TestWebKitAPI_TestWebKit2_SOURCES = \
        Tools/TestWebKitAPI/config.h \
+       Tools/TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp \
+       Tools/TestWebKitAPI/gtk/PlatformWebViewGtk.cpp \
+       Tools/TestWebKitAPI/JavaScriptTest.cpp \
+       Tools/TestWebKitAPI/JavaScriptTest.h \
        Tools/TestWebKitAPI/PlatformUtilities.cpp \
        Tools/TestWebKitAPI/PlatformUtilities.h \
        Tools/TestWebKitAPI/PlatformWebView.h \
-       Tools/TestWebKitAPI/JavaScriptTest.cpp \
-       Tools/TestWebKitAPI/JavaScriptTest.h \
-       Tools/TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp \
-       Tools/TestWebKitAPI/gtk/PlatformWebViewGtk.cpp
+       Tools/TestWebKitAPI/Tests/WebKit2/CanHandleRequest.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/CookieManager.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/FailedLoad.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/Find.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/FrameMIMETypeHTML.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/FrameMIMETypePNG.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/LoadAlternateHTMLStringWithNonDirectoryURL.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/ParentFrame.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/RestoreSessionStateContainingFormData.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/UserMessage.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/WKConnection.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/WKPageGetScaleFactorNotZero.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/WKString.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/WKStringJSString.cpp
 
-Libraries_libTestWebKitAPIWebKit2Tests_la_CPPFLAGS = \
-       -isystem $(srcdir)/Source/ThirdParty/gtest/include \
-       -I$(srcdir)/Tools/TestWebKitAPI \
-       -I$(srcdir)/Source/ThirdParty/gtest/include \
-       -I$(top_builddir)/DerivedSources/WebKit2/include \
-       $(global_cppflags) \
-       $(javascriptcore_cppflags) \
-       $(GTK_CFLAGS)
+noinst_LTLIBRARIES += \
+       Libraries/libTestWebKitAPIInjectedBundle.la
 
-# TestWebKitAPIInjectedBundle
 Libraries_libTestWebKitAPIInjectedBundle_la_SOURCES = \
        Tools/TestWebKitAPI/InjectedBundleController.cpp \
        Tools/TestWebKitAPI/InjectedBundleController.h \
@@ -146,7 +135,10 @@ Libraries_libTestWebKitAPIInjectedBundle_la_SOURCES = \
        Tools/TestWebKitAPI/InjectedBundleTest.h \
        Tools/TestWebKitAPI/PlatformUtilities.cpp \
        Tools/TestWebKitAPI/PlatformUtilities.h \
+       Tools/TestWebKitAPI/Tests/WebKit2/CanHandleRequest_Bundle.cpp \
        Tools/TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash_Bundle.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache_Bundle.cpp \
        Tools/TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp \
        Tools/TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic_Bundle.cpp \
        Tools/TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback_Bundle.cpp \
@@ -159,6 +151,7 @@ Libraries_libTestWebKitAPIInjectedBundle_la_SOURCES = \
        Tools/TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly_Bundle.cpp \
        Tools/TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem_Bundle.cpp \
        Tools/TestWebKitAPI/Tests/WebKit2/UserMessage_Bundle.cpp \
+       Tools/TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent_Bundle.cpp \
        Tools/TestWebKitAPI/Tests/WebKit2/WKConnection_Bundle.cpp \
        Tools/TestWebKitAPI/gtk/InjectedBundleControllerGtk.cpp \
        Tools/TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp
@@ -170,17 +163,16 @@ Libraries_libTestWebKitAPIInjectedBundle_la_LDFLAGS = \
        -module
 
 Libraries_libTestWebKitAPIInjectedBundle_la_CPPFLAGS = \
-       -isystem $(srcdir)/Source/ThirdParty/gtest/include \
-       -I$(srcdir)/Tools/TestWebKitAPI \
-       -I$(srcdir)/Source/ThirdParty/gtest/include \
+       $(Libraries_libTestWebKitAPIMain_la_CPPFLAGS) \
        -I$(top_builddir)/DerivedSources/InjectedBundle \
-       -I$(top_builddir)/DerivedSources/WebKit2/include \
-       $(global_cppflags) \
-       $(javascriptcore_cppflags) \
        $(GTK_CFLAGS)
 
-Libraries_libTestWebKitAPIInjectedBundle_la_CXXFLAGS = $(global_cxxflags)
-Libraries_libTestWebKitAPIInjectedBundle_la_CFLAGS = $(global_cflags)
+Libraries_libTestWebKitAPIInjectedBundle_la_CXXFLAGS = \
+       $(global_cxxflags)
+
+Libraries_libTestWebKitAPIInjectedBundle_la_CFLAGS = \
+       $(global_cflags)
+endif # ENABLE_WEBKIT2
 
 EXTRA_DIST += \
        Tools/TestWebKitAPI/Tests/WebKit2/18-characters.html \
@@ -198,251 +190,3 @@ EXTRA_DIST += \
        Tools/TestWebKitAPI/Tests/WebKit2/simple-iframe.html \
        Tools/TestWebKitAPI/Tests/WebKit2/simple-tall.html \
        Tools/TestWebKitAPI/Tests/WebKit2/spacebar-scrolling.html
-
-Programs_TestWebKitAPI_WTF_TestCheckedArithmeticOperations_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp
-Programs_TestWebKitAPI_WTF_TestCheckedArithmeticOperations_CPPFLAGS = $(testwebkitapi_wtf_tests_cppflags)
-Programs_TestWebKitAPI_WTF_TestCheckedArithmeticOperations_LDADD = $(testwebkitapi_wtf_tests_ldadd)
-Programs_TestWebKitAPI_WTF_TestCheckedArithmeticOperations_LDFLAGS = $(testwebkitapi_wtf_tests_ldflags)
-
-Programs_TestWebKitAPI_WTF_TestFunctional_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WTF/Functional.cpp
-Programs_TestWebKitAPI_WTF_TestFunctional_CPPFLAGS = $(testwebkitapi_wtf_tests_cppflags)
-Programs_TestWebKitAPI_WTF_TestFunctional_LDADD = $(testwebkitapi_wtf_tests_ldadd)
-Programs_TestWebKitAPI_WTF_TestFunctional_LDFLAGS = $(testwebkitapi_wtf_tests_ldflags)
-
-Programs_TestWebKitAPI_WTF_TestHashMap_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WTF/HashMap.cpp
-Programs_TestWebKitAPI_WTF_TestHashMap_CPPFLAGS = $(testwebkitapi_wtf_tests_cppflags)
-Programs_TestWebKitAPI_WTF_TestHashMap_LDADD = $(testwebkitapi_wtf_tests_ldadd)
-Programs_TestWebKitAPI_WTF_TestHashMap_LDFLAGS = $(testwebkitapi_wtf_tests_ldflags)
-
-Programs_TestWebKitAPI_WTF_TestRedBlackTree_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WTF/RedBlackTree.cpp
-Programs_TestWebKitAPI_WTF_TestRedBlackTree_CPPFLAGS = $(testwebkitapi_wtf_tests_cppflags)
-Programs_TestWebKitAPI_WTF_TestRedBlackTree_LDADD = $(testwebkitapi_wtf_tests_ldadd)
-Programs_TestWebKitAPI_WTF_TestRedBlackTree_LDFLAGS = $(testwebkitapi_wtf_tests_ldflags)
-
-Programs_TestWebKitAPI_WTF_TestStringBuilder_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WTF/StringBuilder.cpp \
-       Tools/TestWebKitAPI/WTFStringUtilities.h
-Programs_TestWebKitAPI_WTF_TestStringBuilder_CPPFLAGS = $(testwebkitapi_wtf_tests_cppflags)
-Programs_TestWebKitAPI_WTF_TestStringBuilder_LDADD = $(testwebkitapi_wtf_tests_ldadd)
-Programs_TestWebKitAPI_WTF_TestStringBuilder_LDFLAGS = $(testwebkitapi_wtf_tests_ldflags)
-
-Programs_TestWebKitAPI_WTF_TestStringOperators_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WTF/StringOperators.cpp
-Programs_TestWebKitAPI_WTF_TestStringOperators_CPPFLAGS = $(testwebkitapi_wtf_tests_cppflags)
-Programs_TestWebKitAPI_WTF_TestStringOperators_LDADD = $(testwebkitapi_wtf_tests_ldadd)
-Programs_TestWebKitAPI_WTF_TestStringOperators_LDFLAGS = $(testwebkitapi_wtf_tests_ldflags)
-
-Programs_TestWebKitAPI_WTF_TestTemporaryChange_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WTF/TemporaryChange.cpp
-Programs_TestWebKitAPI_WTF_TestTemporaryChange_CPPFLAGS = $(testwebkitapi_wtf_tests_cppflags)
-Programs_TestWebKitAPI_WTF_TestTemporaryChange_LDADD = $(testwebkitapi_wtf_tests_ldadd)
-Programs_TestWebKitAPI_WTF_TestTemporaryChange_LDFLAGS = $(testwebkitapi_wtf_tests_ldflags)
-
-Programs_TestWebKitAPI_WTF_TestVectorBasic_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WTF/VectorBasic.cpp
-Programs_TestWebKitAPI_WTF_TestVectorBasic_CPPFLAGS = $(testwebkitapi_wtf_tests_cppflags)
-Programs_TestWebKitAPI_WTF_TestVectorBasic_LDADD = $(testwebkitapi_wtf_tests_ldadd)
-Programs_TestWebKitAPI_WTF_TestVectorBasic_LDFLAGS = $(testwebkitapi_wtf_tests_ldflags)
-
-Programs_TestWebKitAPI_WTF_TestVector_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WTF/Vector.cpp
-Programs_TestWebKitAPI_WTF_TestVector_CPPFLAGS = $(testwebkitapi_wtf_tests_cppflags)
-Programs_TestWebKitAPI_WTF_TestVector_LDADD = $(testwebkitapi_wtf_tests_ldadd)
-Programs_TestWebKitAPI_WTF_TestVector_LDFLAGS = $(testwebkitapi_wtf_tests_ldflags)
-
-Programs_TestWebKitAPI_WTF_TestVectorReverse_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WTF/VectorReverse.cpp
-Programs_TestWebKitAPI_WTF_TestVectorReverse_CPPFLAGS = $(testwebkitapi_wtf_tests_cppflags)
-Programs_TestWebKitAPI_WTF_TestVectorReverse_LDADD = $(testwebkitapi_wtf_tests_ldadd)
-Programs_TestWebKitAPI_WTF_TestVectorReverse_LDFLAGS = $(testwebkitapi_wtf_tests_ldflags)
-
-# WebKit2 Tests
-Programs_TestWebKitAPI_WebKit2_TestCookieManager_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/CookieManager.cpp
-Programs_TestWebKitAPI_WebKit2_TestCookieManager_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestCookieManager_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestCookieManager_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestDocumentStartUserScriptAlertCrash_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp
-Programs_TestWebKitAPI_WebKit2_TestDocumentStartUserScriptAlertCrash_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestDocumentStartUserScriptAlertCrash_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestDocumentStartUserScriptAlertCrash_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestDownloadDecideDestinationCrash_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp
-Programs_TestWebKitAPI_WebKit2_TestDownloadDecideDestinationCrash_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestDownloadDecideDestinationCrash_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestDownloadDecideDestinationCrash_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestEvaluateJavaScript_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp
-Programs_TestWebKitAPI_WebKit2_TestEvaluateJavaScript_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestEvaluateJavaScript_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestEvaluateJavaScript_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestFailedLoad_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/FailedLoad.cpp
-Programs_TestWebKitAPI_WebKit2_TestFailedLoad_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestFailedLoad_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestFailedLoad_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestForceRepaint_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp
-Programs_TestWebKitAPI_WebKit2_TestForceRepaint_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestForceRepaint_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestForceRepaint_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestFrameMIMETypeHTML_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/FrameMIMETypeHTML.cpp
-Programs_TestWebKitAPI_WebKit2_TestFrameMIMETypeHTML_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestFrameMIMETypeHTML_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestFrameMIMETypeHTML_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestFrameMIMETypePNG_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/FrameMIMETypePNG.cpp
-Programs_TestWebKitAPI_WebKit2_TestFrameMIMETypePNG_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestFrameMIMETypePNG_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestFrameMIMETypePNG_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestHitTestResultNodeHandle_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp
-Programs_TestWebKitAPI_WebKit2_TestHitTestResultNodeHandle_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestHitTestResultNodeHandle_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestHitTestResultNodeHandle_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestInjectedBundleBasic_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic.cpp
-Programs_TestWebKitAPI_WebKit2_TestInjectedBundleBasic_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestInjectedBundleBasic_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestInjectedBundleBasic_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestLoadAlternateHTMLStringWithNonDirectoryURL_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/LoadAlternateHTMLStringWithNonDirectoryURL.cpp
-Programs_TestWebKitAPI_WebKit2_TestLoadAlternateHTMLStringWithNonDirectoryURL_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestLoadAlternateHTMLStringWithNonDirectoryURL_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestLoadAlternateHTMLStringWithNonDirectoryURL_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestLoadCanceledNoServerRedirectCallback_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback.cpp
-Programs_TestWebKitAPI_WebKit2_TestLoadCanceledNoServerRedirectCallback_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestLoadCanceledNoServerRedirectCallback_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestLoadCanceledNoServerRedirectCallback_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestMouseMoveAfterCrash_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash.cpp
-Programs_TestWebKitAPI_WebKit2_TestMouseMoveAfterCrash_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestMouseMoveAfterCrash_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestMouseMoveAfterCrash_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestNewFirstVisuallyNonEmptyLayout_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp
-Programs_TestWebKitAPI_WebKit2_TestNewFirstVisuallyNonEmptyLayout_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestNewFirstVisuallyNonEmptyLayout_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestNewFirstVisuallyNonEmptyLayout_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestNewFirstVisuallyNonEmptyLayoutFails_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails.cpp
-Programs_TestWebKitAPI_WebKit2_TestNewFirstVisuallyNonEmptyLayoutFails_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestNewFirstVisuallyNonEmptyLayoutFails_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestNewFirstVisuallyNonEmptyLayoutFails_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestNewFirstVisuallyNonEmptyLayoutForImages_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages.cpp
-Programs_TestWebKitAPI_WebKit2_TestNewFirstVisuallyNonEmptyLayoutForImages_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestNewFirstVisuallyNonEmptyLayoutForImages_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestNewFirstVisuallyNonEmptyLayoutForImages_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestNewFirstVisuallyNonEmptyLayoutFrames_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp
-Programs_TestWebKitAPI_WebKit2_TestNewFirstVisuallyNonEmptyLayoutFrames_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestNewFirstVisuallyNonEmptyLayoutFrames_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestNewFirstVisuallyNonEmptyLayoutFrames_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestPageLoadBasic_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp
-Programs_TestWebKitAPI_WebKit2_TestPageLoadBasic_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestPageLoadBasic_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestPageLoadBasic_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestPageLoadDidChangeLocationWithinPageForFrame_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp
-Programs_TestWebKitAPI_WebKit2_TestPageLoadDidChangeLocationWithinPageForFrame_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestPageLoadDidChangeLocationWithinPageForFrame_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestPageLoadDidChangeLocationWithinPageForFrame_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestParentFrame_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/ParentFrame.cpp
-Programs_TestWebKitAPI_WebKit2_TestParentFrame_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestParentFrame_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestParentFrame_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestPreventEmptyUserAgent_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp
-Programs_TestWebKitAPI_WebKit2_TestPreventEmptyUserAgent_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestPreventEmptyUserAgent_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestPreventEmptyUserAgent_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestPrivateBrowsingPushStateNoHistoryCallback_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp
-Programs_TestWebKitAPI_WebKit2_TestPrivateBrowsingPushStateNoHistoryCallback_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestPrivateBrowsingPushStateNoHistoryCallback_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestPrivateBrowsingPushStateNoHistoryCallback_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestResponsivenessTimerDoesntFireEarly_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly.cpp
-Programs_TestWebKitAPI_WebKit2_TestResponsivenessTimerDoesntFireEarly_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestResponsivenessTimerDoesntFireEarly_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestResponsivenessTimerDoesntFireEarly_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestRestoreSessionStateContainingFormData_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/RestoreSessionStateContainingFormData.cpp
-Programs_TestWebKitAPI_WebKit2_TestRestoreSessionStateContainingFormData_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestRestoreSessionStateContainingFormData_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestRestoreSessionStateContainingFormData_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestShouldGoToBackForwardListItem_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem.cpp
-Programs_TestWebKitAPI_WebKit2_TestShouldGoToBackForwardListItem_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestShouldGoToBackForwardListItem_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestShouldGoToBackForwardListItem_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestSpacebarScrolling_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp
-Programs_TestWebKitAPI_WebKit2_TestSpacebarScrolling_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestSpacebarScrolling_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestSpacebarScrolling_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestUserMessage_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/UserMessage.cpp
-Programs_TestWebKitAPI_WebKit2_TestUserMessage_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestUserMessage_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestUserMessage_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestWKConnection_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/WKConnection.cpp
-Programs_TestWebKitAPI_WebKit2_TestWKConnection_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestWKConnection_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestWKConnection_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestWKPreferences_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp
-Programs_TestWebKitAPI_WebKit2_TestWKPreferences_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestWKPreferences_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestWKPreferences_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestWKString_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/WKString.cpp
-Programs_TestWebKitAPI_WebKit2_TestWKString_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestWKString_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestWKString_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
-
-Programs_TestWebKitAPI_WebKit2_TestWKStringJSString_SOURCES = \
-       Tools/TestWebKitAPI/Tests/WebKit2/WKStringJSString.cpp
-Programs_TestWebKitAPI_WebKit2_TestWKStringJSString_CPPFLAGS = $(testwebkitapi_webkit2_tests_cppflags)
-Programs_TestWebKitAPI_WebKit2_TestWKStringJSString_LDADD = $(testwebkitapi_webkit2_tests_ldadd)
-Programs_TestWebKitAPI_WebKit2_TestWKStringJSString_LDFLAGS = $(testwebkitapi_webkit2_tests_ldflags)
index 37939ca..cab0125 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Copyright (C) 2011 Igalia S.L.
+# Copyright (C) 2011, 2012 Igalia S.L.
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Library General Public
@@ -27,71 +27,50 @@ from signal import alarm, signal, SIGALRM, SIGKILL
 from gi.repository import Gio, GLib
 
 class SkippedTest:
-    def __init__(self, test, reason, bug=None, test_cases=[]):
+    ENTIRE_SUITE = None
+
+    def __init__(self, test, test_case, reason, bug=None):
         self.test = test
+        self.test_case = test_case
         self.reason = reason
         self.bug = bug
-        self.test_cases = test_cases
 
     def __str__(self):
         skipped_test_str = "%s" % self.test
-        if self.test_cases:
-            skipped_test_str += " [%s]" % ", ".join(self.test_cases)
+
+        if not(self.skip_entire_suite()):
+            skipped_test_str += " [%s]" % self.test_case
+
         skipped_test_str += ": %s " % self.reason
         if self.bug is not None:
             skipped_test_str += "(https://bugs.webkit.org/show_bug.cgi?id=%d)" % self.bug
         return skipped_test_str
 
+    def skip_entire_suite(self):
+        return self.test_case == SkippedTest.ENTIRE_SUITE
+
 class TestTimeout(Exception):
     pass
 
 class TestRunner:
-
-    TEST_DIRS = [ "unittests", "WebKit2APITests", "TestWebKitAPI/WTF", "TestWebKitAPI/WebKit2" ]
+    TEST_DIRS = [ "unittests", "WebKit2APITests", "TestWebKitAPI" ]
 
     SKIPPED = [
-        SkippedTest("unittests/testdownload",
-                    "Test fails in GTK Linux 64-bit Release bot",
-                    82329,
-                    ["/webkit/download/not-found"]),
-        SkippedTest("unittests/testwebview",
-                    "Test times out in GTK Linux 64-bit Release bot",
-                    82328,
-                    ["/webkit/webview/icon-uri"]),
-        SkippedTest("unittests/testwebresource",
-                    "Test fails in GTK Linux 64-bit Release bot",
-                    82330,
-                    ["/webkit/webresource/sub_resource_loading"]),
-        SkippedTest("unittests/testwebinspector",
-                    "Test is flaky in GTK Linux 32-bit Release bot",
-                    82869,
-                    ["/webkit/webinspector/close-and-inspect"]),
-        SkippedTest("WebKit2APITests/TestWebKitWebView",
-                    "Test is flaky in GTK Linux 32-bit Release bot",
-                    82866,
-                    ["/webkit2/WebKitWebView/mouse-target"]),
-        SkippedTest("WebKit2APITests/TestResources",
-                    "Test is flaky in GTK Linux 32-bit Release bot",
-                    82868,
-                    ["/webkit2/WebKitWebView/resources"]),
-        SkippedTest("TestWebKitAPI/WebKit2/TestWKConnection",
-                    "Test times out",
-                    84959),
-        SkippedTest("TestWebKitAPI/WebKit2/TestRestoreSessionStateContainingFormData",
-                    "Session State is not implemented in GTK+ port",
-                    84960),
-        SkippedTest("TestWebKitAPI/WebKit2/TestSpacebarScrolling",
-                    "Test fails",
-                    84961),
-        SkippedTest("TestWebKitAPI/WebKit2/TestNewFirstVisuallyNonEmptyLayoutFrames",
-                    "Test fails",
-                    85037),
-        SkippedTest("TestWebKitAPI/WebKit2/TestMouseMoveAfterCrash",
-                    "Test is flaky",
-                    85066),
-        SkippedTest("TestWebKitAPI/WTF/TestHashMap",
-                    "Test fails",
-                    88419)
+        SkippedTest("unittests/testdownload", "/webkit/download/not-found", "Test fails in GTK Linux 64-bit Release bot", 82329),
+        SkippedTest("unittests/testwebview", "/webkit/webview/icon-uri", "Test times out in GTK Linux 64-bit Release bot", 82328),
+        SkippedTest("unittests/testwebresource", "/webkit/webresource/sub_resource_loading", "Test fails in GTK Linux 64-bit Release bot", 82330),
+        SkippedTest("unittests/testwebinspector", "/webkit/webinspector/close-and-inspect", "Test is flaky in GTK Linux 32-bit Release bot", 82869),
+        SkippedTest("WebKit2APITests/TestWebKitWebView", "/webkit2/WebKitWebView/mouse-target", "Test is flaky in GTK Linux 32-bit Release bot", 82866),
+        SkippedTest("WebKit2APITests/TestResources", "/webkit2/WebKitWebView/resources", "Test is flaky in GTK Linux 32-bit Release bot", 82868),
+        SkippedTest("TestWebKitAPI/TestWTF", "WTF.HashMap", "Test fails", 88419),
+        SkippedTest("TestWebKitAPI/TestWebKit2", "WebKit2.WKConnection", "Tests fail and time out out", 84959),
+        SkippedTest("TestWebKitAPI/TestWebKit2", "WebKit2.RestoreSessionStateContainingFormData", "Session State is not implemented in GTK+ port", 84960),
+        SkippedTest("TestWebKitAPI/TestWebKit2", "WebKit2.SpacebarScrolling", "Test fails", 84961),
+        SkippedTest("TestWebKitAPI/TestWebKit2", "WebKit2.NewFirstVisuallyNonEmptyLayoutForImages", "Test is flaky", 85066),
+        SkippedTest("TestWebKitAPI/TestWebKit2", "WebKit2.NewFirstVisuallyNonEmptyLayoutFrames", "Test fails", 85037),
+        SkippedTest("TestWebKitAPI/TestWebKit2", "WebKit2.MouseMoveAfterCrash", "Test is flaky", 85066),
+        SkippedTest("TestWebKitAPI/TestWebKit2", "WebKit2.CanHandleRequest", "Test fails", 88453),
+        SkippedTest("TestWebKitAPI/TestWebKit2", "WebKit2.WKPageGetScaleFactorNotZero", "Test fails and times out", 88455),
     ]
 
     def __init__(self, options, tests=[]):
@@ -133,6 +112,7 @@ class TestRunner:
         return None
 
     def _start_accessibility_daemons(self):
+        return False
         spi_bus_launcher_path = self._lookup_atspi2_binary('at-spi-bus-launcher')
         spi_registryd_path = self._lookup_atspi2_binary('at-spi2-registryd')
         if not spi_bus_launcher_path or not spi_registryd_path:
@@ -181,8 +161,7 @@ class TestRunner:
         # If we cannot start the accessibility daemons, we can just skip the accessibility tests.
         if not self._start_accessibility_daemons():
             print "Could not start accessibility bus, so skipping TestWebKitAccessibility"
-            self._skipped_tests.append(SkippedTest("WebKit2APITests/TestWebKitAccessibility",
-                                                   "Could not start accessibility bus"))
+            self._skipped_tests.append(SkippedTest("WebKit2APITests/TestWebKitAccessibility", SkippedTest.ENTIRE_SUITE, "Could not start accessibility bus"))
         return True
 
     def _tear_down_testing_environment(self):
@@ -192,33 +171,23 @@ class TestRunner:
             self._spi_bus_launcher.terminate()
         self._xvfb.terminate()
 
-    def _find_skipped_test(self, test):
-        for skipped in self._skipped_tests:
-            if test.endswith(skipped.test):
-                return skipped
-        return None
-
-    def _test_cases_to_skip(self, test):
+    def _test_cases_to_skip(self, test_program):
         if self._options.skipped_action != 'skip':
             return []
 
-        skipped = self._find_skipped_test(test)
-        if skipped is not None:
-            return skipped.test_cases
-        return []
-
-    def _should_run_test(self, test):
-        # Skipped test are ignored, run all tests.
-        if self._options.skipped_action == 'ignore':
-            return True
-
-        skipped = self._find_skipped_test(test)
-        # By default skipped test are skipped, run them only when there are specific test cases failing.
-        if self._options.skipped_action == 'skip':
-            return skipped is None or skipped.test_cases
+        test_cases = []
+        for skipped in self._skipped_tests:
+            if test_program.endswith(skipped.test) and not skipped.skip_entire_suite():
+                test_cases.append(skipped.test_case)
+        return test_cases
 
-        # Run only skipped tests.
-        return skipped is not None
+    def _should_run_test_program(self, test_program):
+        # This is not affected by the command-line arguments, since programs are skipped for
+        # problems in the harness, such as failing to start the accessibility bus.
+        for skipped in self._skipped_tests:
+            if test_program.endswith(skipped.test) and skipped.skip_entire_suite():
+                return False
+        return True
 
     def _get_child_pid_from_test_output(self, output):
         if not output:
@@ -260,30 +229,30 @@ class TestRunner:
 
         return not p.returncode
 
-    def _run_test_glib(self, test):
+    def _run_test_glib(self, test_program):
         tester_command = ['gtester']
         if self._options.verbose:
             tester_command.append('--verbose')
-        for test_case in self._test_cases_to_skip(test):
+        for test_case in self._test_cases_to_skip(test_program):
             tester_command.extend(['-s', test_case])
-        tester_command.append(test)
+        tester_command.append(test_program)
 
         return self._run_test_command(tester_command, self._options.timeout)
 
-    def _run_test_google(self, test):
-        tester_command = [test, "--gtest_throw_on_failure"]
-        skipped_tests_cases = self._test_cases_to_skip(test)
+    def _run_test_google(self, test_program):
+        tester_command = [test_program]
+        skipped_tests_cases = self._test_cases_to_skip(test_program)
         if skipped_tests_cases:
             tester_command.append("--gtest_filter=-%s" % ":".join(skipped_tests_cases))
 
         return self._run_test_command(tester_command, self._options.timeout)
 
-    def _run_test(self, test):
-        if "unittests" in test or "WebKit2APITests" in test:
-            return self._run_test_glib(test)
+    def _run_test(self, test_program):
+        if "unittests" in test_program or "WebKit2APITests" in test_program:
+            return self._run_test_glib(test_program)
 
-        if "TestWebKitAPI" in test:
-            return self._run_test_google(test)
+        if "TestWebKitAPI" in test_program:
+            return self._run_test_google(test_program)
 
         return False
 
@@ -298,7 +267,7 @@ class TestRunner:
 
         # Remove skipped tests now instead of when we find them, because
         # some tests might be skipped while setting up the test environment.
-        self._tests = [test for test in self._tests if self._should_run_test(test)]
+        self._tests = [test for test in self._tests if self._should_run_test_program(test)]
 
         failed_tests = []
         timed_out_tests = []