Add generic entrypoint and run loop in TestWebKitAPI
authordon.olmstead@sony.com <don.olmstead@sony.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 5 Sep 2018 01:57:00 +0000 (01:57 +0000)
committerdon.olmstead@sony.com <don.olmstead@sony.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 5 Sep 2018 01:57:00 +0000 (01:57 +0000)
https://bugs.webkit.org/show_bug.cgi?id=189287

Reviewed by Michael Catanzaro.

The implementations in jsconly are platform agnostic.

* TestWebKitAPI/PlatformJSCOnly.cmake:
Use the glib implementation of Utilities when using that as a run loop
otherwise use the generic implementation.

* TestWebKitAPI/PlatformUtilities.h:
Remove repeated entries from Utilities.h.

* TestWebKitAPI/PlatformWPE.cmake:
Use the generic main.cpp.

* TestWebKitAPI/generic/UtilitiesGeneric.cpp: Renamed from Tools/TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp.
(TestWebKitAPI::Util::run):
(TestWebKitAPI::Util::spinRunLoop):
Moved to a generic implementation and added spinRunLoop.

* TestWebKitAPI/generic/main.cpp: Renamed from Tools/TestWebKitAPI/jsconly/main.cpp.
Share between JSCOnly and WPE

* TestWebKitAPI/wpe/main.cpp: Removed.

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

Tools/ChangeLog
Tools/TestWebKitAPI/PlatformJSCOnly.cmake
Tools/TestWebKitAPI/PlatformUtilities.h
Tools/TestWebKitAPI/PlatformWPE.cmake
Tools/TestWebKitAPI/generic/UtilitiesGeneric.cpp [moved from Tools/TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp with 86% similarity]
Tools/TestWebKitAPI/generic/main.cpp [moved from Tools/TestWebKitAPI/jsconly/main.cpp with 100% similarity]
Tools/TestWebKitAPI/wpe/main.cpp [deleted file]

index 8459740..9fc788d 100644 (file)
@@ -1,5 +1,34 @@
 2018-09-04  Don Olmstead  <don.olmstead@sony.com>
 
+        Add generic entrypoint and run loop in TestWebKitAPI
+        https://bugs.webkit.org/show_bug.cgi?id=189287
+
+        Reviewed by Michael Catanzaro.
+
+        The implementations in jsconly are platform agnostic.
+
+        * TestWebKitAPI/PlatformJSCOnly.cmake:
+        Use the glib implementation of Utilities when using that as a run loop
+        otherwise use the generic implementation.
+
+        * TestWebKitAPI/PlatformUtilities.h:
+        Remove repeated entries from Utilities.h.
+
+        * TestWebKitAPI/PlatformWPE.cmake:
+        Use the generic main.cpp.
+        
+        * TestWebKitAPI/generic/UtilitiesGeneric.cpp: Renamed from Tools/TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp.
+        (TestWebKitAPI::Util::run):
+        (TestWebKitAPI::Util::spinRunLoop):
+        Moved to a generic implementation and added spinRunLoop.
+
+        * TestWebKitAPI/generic/main.cpp: Renamed from Tools/TestWebKitAPI/jsconly/main.cpp.
+        Share between JSCOnly and WPE
+
+        * TestWebKitAPI/wpe/main.cpp: Removed.
+
+2018-09-04  Don Olmstead  <don.olmstead@sony.com>
+
         [CMake] Make TestWebKitAPI dependencies explicit
         https://bugs.webkit.org/show_bug.cgi?id=189282
 
index 7e53f86..a3fa2da 100644 (file)
@@ -9,13 +9,19 @@ if (LOWERCASE_EVENT_LOOP_TYPE STREQUAL "glib")
     include_directories(SYSTEM
         ${GLIB_INCLUDE_DIRS}
     )
+    list(APPEND TestWTF_SOURCES
+        ${TESTWEBKITAPI_DIR}/glib/UtilitiesGLib.cpp
+    )
+else ()
+    list(APPEND TestWTF_SOURCES
+        ${TESTWEBKITAPI_DIR}/generic/UtilitiesGeneric.cpp
+    )
 endif ()
 
 set(test_main_SOURCES
-    ${TESTWEBKITAPI_DIR}/jsconly/main.cpp
+    ${TESTWEBKITAPI_DIR}/generic/main.cpp
 )
 
 list(APPEND TestWTF_SOURCES
-    ${TESTWEBKITAPI_DIR}/jsconly/PlatformUtilitiesJSCOnly.cpp
     ${TESTWEBKITAPI_DIR}/Tests/WTF/RunLoop.cpp
 )
index e1e309e..f5555fd 100644 (file)
@@ -42,10 +42,6 @@ OBJC_CLASS NSDictionary;
 namespace TestWebKitAPI {
 namespace Util {
 
-// Runs a platform runloop until the 'done' is true. 
-void run(bool* done);
-void sleep(double seconds);
-
 std::string toSTD(const char*);
 #if USE(FOUNDATION)
 std::string toSTD(NSString *);
index aa1ec53..6cfcd0d 100644 (file)
@@ -29,7 +29,7 @@ include_directories(SYSTEM
 )
 
 set(test_main_SOURCES
-    ${TESTWEBKITAPI_DIR}/wpe/main.cpp
+    ${TESTWEBKITAPI_DIR}/generic/main.cpp
 )
 
 set(bundle_harness_SOURCES
  */
 
 #include "config.h"
-#include "PlatformUtilities.h"
+#include "Utilities.h"
 
 #include <wtf/RunLoop.h>
 
-#if USE(GLIB_EVENT_LOOP)
-#include <glib.h>
-#include <wtf/glib/GRefPtr.h>
-#endif
-
 namespace TestWebKitAPI {
 namespace Util {
 
 void run(bool* done)
 {
-    while (!*done) {
-#if USE(GLIB_EVENT_LOOP)
-        g_main_context_iteration(RunLoop::current().mainContext(), false);
-#else
+    while (!*done)
         WTF::RunLoop::iterate();
-#endif
+}
+
+void spinRunLoop(uint64_t count)
+{
+    while (count > 0) {
+        WTF::RunLoop::current().iterate();
+        count--;
     }
 }
 
diff --git a/Tools/TestWebKitAPI/wpe/main.cpp b/Tools/TestWebKitAPI/wpe/main.cpp
deleted file mode 100644 (file)
index f6568b6..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2016 Igalia S.L.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "TestsController.h"
-
-int main(int argc, char** argv)
-{
-    return TestWebKitAPI::TestsController::singleton().run(argc, argv) ? EXIT_SUCCESS : EXIT_FAILURE;
-}