| set(TESTWEBKITAPI_DIR "${TOOLS_DIR}/TestWebKitAPI") |
| |
| macro(WEBKIT_TEST _target) |
| WEBKIT_EXECUTABLE(${_target}) |
| add_test(${_target} ${TESTWEBKITAPI_RUNTIME_OUTPUT_DIRECTORY}/${_target}) |
| set_tests_properties(${_target} PROPERTIES TIMEOUT 60) |
| set_target_properties(${_target} PROPERTIES |
| RUNTIME_OUTPUT_DIRECTORY ${TESTWEBKITAPI_RUNTIME_OUTPUT_DIRECTORY} |
| ) |
| |
| if (COMPILER_IS_GCC_OR_CLANG) |
| WEBKIT_ADD_TARGET_CXX_FLAGS(${_target} -Wno-dangling-else |
| -Wno-sign-compare |
| -Wno-undef |
| -Wno-unused-parameter) |
| endif () |
| endmacro() |
| |
| # TestWTF definitions |
| set(TestWTF_SOURCES |
| Counters.cpp |
| TestsController.cpp |
| WTFStringUtilities.cpp |
| |
| Tests/WTF/AtomString.cpp |
| Tests/WTF/Bitmap.cpp |
| Tests/WTF/BloomFilter.cpp |
| Tests/WTF/BoxPtr.cpp |
| Tests/WTF/BumpPointerAllocator.cpp |
| Tests/WTF/CString.cpp |
| Tests/WTF/CheckedArithmeticOperations.cpp |
| Tests/WTF/CompactPtr.cpp |
| Tests/WTF/CompactRefPtr.cpp |
| Tests/WTF/CompactRefPtrTuple.cpp |
| Tests/WTF/CompactUniquePtrTuple.cpp |
| Tests/WTF/ConcurrentPtrHashSet.cpp |
| Tests/WTF/Condition.cpp |
| Tests/WTF/CrossThreadCopier.cpp |
| Tests/WTF/CrossThreadTask.cpp |
| Tests/WTF/DataMutex.cpp |
| Tests/WTF/DateMath.cpp |
| Tests/WTF/Deque.cpp |
| Tests/WTF/EmbeddedFixedVector.cpp |
| Tests/WTF/EnumTraits.cpp |
| Tests/WTF/Expected.cpp |
| Tests/WTF/FileSystem.cpp |
| Tests/WTF/FixedVector.cpp |
| Tests/WTF/Function.cpp |
| Tests/WTF/HashCountedSet.cpp |
| Tests/WTF/HashMap.cpp |
| Tests/WTF/HashSet.cpp |
| Tests/WTF/Hasher.cpp |
| Tests/WTF/HexNumber.cpp |
| Tests/WTF/IndexSparseSet.cpp |
| Tests/WTF/Int128.cpp |
| Tests/WTF/IntegerToStringConversion.cpp |
| Tests/WTF/IteratorRange.cpp |
| Tests/WTF/JSONValue.cpp |
| Tests/WTF/LEBDecoder.cpp |
| Tests/WTF/LifecycleLogger.cpp |
| Tests/WTF/LineEnding.cpp |
| Tests/WTF/ListHashSet.cpp |
| Tests/WTF/Lock.cpp |
| Tests/WTF/Logger.cpp |
| Tests/WTF/Markable.cpp |
| Tests/WTF/MathExtras.cpp |
| Tests/WTF/MediaTime.cpp |
| Tests/WTF/MetaAllocator.cpp |
| Tests/WTF/MoveOnlyLifecycleLogger.cpp |
| Tests/WTF/NakedPtr.cpp |
| Tests/WTF/NeverDestroyed.cpp |
| Tests/WTF/OptionSet.cpp |
| Tests/WTF/Packed.cpp |
| Tests/WTF/PackedRef.cpp |
| Tests/WTF/PackedRefPtr.cpp |
| Tests/WTF/ParkingLot.cpp |
| Tests/WTF/PriorityQueue.cpp |
| Tests/WTF/RedBlackTree.cpp |
| Tests/WTF/Ref.cpp |
| Tests/WTF/RefCountedFixedVector.cpp |
| Tests/WTF/RefCounter.cpp |
| Tests/WTF/RefLogger.cpp |
| Tests/WTF/RefPtr.cpp |
| Tests/WTF/RobinHoodHashMap.cpp |
| Tests/WTF/RobinHoodHashSet.cpp |
| Tests/WTF/RunLoop.cpp |
| Tests/WTF/SHA1.cpp |
| Tests/WTF/SafeStrerror.cpp |
| Tests/WTF/SaturatedArithmeticOperations.cpp |
| Tests/WTF/Scope.cpp |
| Tests/WTF/ScopedLambda.cpp |
| Tests/WTF/SentinelLinkedList.cpp |
| Tests/WTF/SetForScope.cpp |
| Tests/WTF/Span.cpp |
| Tests/WTF/StdLibExtras.cpp |
| Tests/WTF/StringBuilder.cpp |
| Tests/WTF/StringConcatenate.cpp |
| Tests/WTF/StringHasher.cpp |
| Tests/WTF/StringImpl.cpp |
| Tests/WTF/StringOperators.cpp |
| Tests/WTF/StringParsingBuffer.cpp |
| Tests/WTF/StringToIntegerConversion.cpp |
| Tests/WTF/StringView.cpp |
| Tests/WTF/SynchronizedFixedQueue.cpp |
| Tests/WTF/TextBreakIterator.cpp |
| Tests/WTF/ThreadGroup.cpp |
| Tests/WTF/ThreadMessages.cpp |
| Tests/WTF/Threading.cpp |
| Tests/WTF/Time.cpp |
| Tests/WTF/URL.cpp |
| Tests/WTF/URLParser.cpp |
| Tests/WTF/UniqueArray.cpp |
| Tests/WTF/UniqueRef.cpp |
| Tests/WTF/Vector.cpp |
| Tests/WTF/WTFString.cpp |
| Tests/WTF/WeakPtr.cpp |
| Tests/WTF/WorkQueue.cpp |
| Tests/WTF/WorkerPool.cpp |
| ) |
| |
| set(TestWTF_PRIVATE_INCLUDE_DIRECTORIES |
| ${CMAKE_BINARY_DIR} |
| ${TESTWEBKITAPI_DIR} |
| ) |
| |
| set(TestWTF_LIBRARIES |
| WebKit::gtest |
| ) |
| |
| set(TestWTF_FRAMEWORKS |
| WTF |
| ) |
| if (NOT USE_SYSTEM_MALLOC) |
| list(APPEND TestWTF_FRAMEWORKS bmalloc) |
| endif () |
| |
| WEBKIT_EXECUTABLE_DECLARE(TestWTF) |
| |
| # TestJavaScriptCore definitions |
| if (ENABLE_JAVASCRIPTCORE) |
| set(TestJavaScriptCore_SOURCES |
| TestsController.cpp |
| WTFStringUtilities.cpp |
| |
| Tests/JavaScriptCore/DisallowVMEntry.cpp |
| Tests/JavaScriptCore/InspectorConsoleMessage.cpp |
| Tests/JavaScriptCore/PropertySlot.cpp |
| ) |
| |
| set(TestJavaScriptCore_LIBRARIES |
| WebKit::gtest |
| ) |
| set(TestJavaScriptCore_FRAMEWORKS |
| JavaScriptCore |
| WTF |
| ) |
| if (NOT USE_SYSTEM_MALLOC) |
| list(APPEND TestJavaScriptCore_FRAMEWORKS bmalloc) |
| endif () |
| |
| set(TestJavaScriptCore_PRIVATE_INCLUDE_DIRECTORIES |
| ${CMAKE_BINARY_DIR} |
| ${TESTWEBKITAPI_DIR} |
| ) |
| |
| WEBKIT_EXECUTABLE_DECLARE(TestJavaScriptCore) |
| endif () |
| |
| # TestWebCore definitions |
| if (ENABLE_WEBCORE) |
| set(TestWebCore_SOURCES |
| TestsController.cpp |
| WTFStringUtilities.cpp |
| |
| Tests/WebCore/AffineTransform.cpp |
| Tests/WebCore/CSSParser.cpp |
| Tests/WebCore/CalculationValue.cpp |
| Tests/WebCore/ColorTests.cpp |
| Tests/WebCore/ComplexTextController.cpp |
| Tests/WebCore/ContextMenuAction.cpp |
| Tests/WebCore/FileMonitor.cpp |
| Tests/WebCore/FloatPointTests.cpp |
| Tests/WebCore/FloatRectTests.cpp |
| Tests/WebCore/FloatSizeTests.cpp |
| Tests/WebCore/GridPosition.cpp |
| Tests/WebCore/HTMLParserIdioms.cpp |
| Tests/WebCore/HTTPParsers.cpp |
| Tests/WebCore/IntPointTests.cpp |
| Tests/WebCore/IntRectTests.cpp |
| Tests/WebCore/IntSizeTests.cpp |
| Tests/WebCore/KeyedCoding.cpp |
| Tests/WebCore/LayoutUnitTests.cpp |
| Tests/WebCore/MIMETypeRegistry.cpp |
| Tests/WebCore/NowPlayingInfoTests.cpp |
| Tests/WebCore/ParsedContentRange.cpp |
| Tests/WebCore/PublicSuffix.cpp |
| Tests/WebCore/SecurityOrigin.cpp |
| Tests/WebCore/SharedBuffer.cpp |
| Tests/WebCore/SharedBufferTest.cpp |
| Tests/WebCore/TimeRanges.cpp |
| Tests/WebCore/TransformationMatrix.cpp |
| Tests/WebCore/URLParserTextEncoding.cpp |
| Tests/WebCore/WritingModeTests.cpp |
| ) |
| |
| set(TestWebCore_LIBRARIES |
| WebKit::gtest |
| ) |
| set(TestWebCore_FRAMEWORKS |
| JavaScriptCore |
| PAL |
| WTF |
| WebCore |
| ) |
| if (NOT USE_SYSTEM_MALLOC) |
| list(APPEND TestWebCore_FRAMEWORKS bmalloc) |
| endif () |
| |
| set(TestWebCore_PRIVATE_INCLUDE_DIRECTORIES |
| ${CMAKE_BINARY_DIR} |
| ${TESTWEBKITAPI_DIR} |
| ) |
| |
| WEBKIT_EXECUTABLE_DECLARE(TestWebCore) |
| endif () |
| |
| # TestWebKitLegacy definitions |
| if (ENABLE_WEBKIT_LEGACY) |
| set(TestWebKitLegacy_SOURCES |
| TestsController.cpp |
| WTFStringUtilities.cpp |
| ) |
| |
| set(TestWebKitLegacy_LIBRARIES |
| WebKit::gtest |
| ) |
| if (NOT APPLE) |
| list(APPEND TestWebKitLegacy_LIBRARIES |
| WebKitLegacy |
| ) |
| endif () |
| |
| set(TestWebKitLegacy_PRIVATE_INCLUDE_DIRECTORIES |
| ${CMAKE_BINARY_DIR} |
| ${TESTWEBKITAPI_DIR} |
| ${PAL_FRAMEWORK_HEADERS_DIR} |
| ${WebCore_PRIVATE_FRAMEWORK_HEADERS_DIR} |
| ${WebKitLegacy_FRAMEWORK_HEADERS_DIR} |
| ) |
| |
| set(TestWebKitLegacy_DEPENDENCIES WebKitLegacyFrameworkHeaders) |
| |
| WEBKIT_EXECUTABLE_DECLARE(TestWebKitLegacy) |
| endif () |
| |
| # TestWebKit definitions |
| if (ENABLE_WEBKIT) |
| set(TestWebKit_SOURCES |
| Tests/WebKit/AboutBlankLoad.cpp |
| Tests/WebKit/CanHandleRequest.cpp |
| Tests/WebKit/DOMWindowExtensionBasic.cpp |
| Tests/WebKit/DOMWindowExtensionNoCache.cpp |
| Tests/WebKit/DidNotHandleKeyDown.cpp |
| Tests/WebKit/DocumentStartUserScriptAlertCrash.cpp |
| Tests/WebKit/DownloadDecideDestinationCrash.cpp |
| Tests/WebKit/EnumerateMediaDevices.cpp |
| Tests/WebKit/EvaluateJavaScript.cpp |
| Tests/WebKit/FailedLoad.cpp |
| Tests/WebKit/Find.cpp |
| Tests/WebKit/FirstMeaningfulPaintMilestone.cpp |
| Tests/WebKit/ForceRepaint.cpp |
| Tests/WebKit/FrameMIMETypeHTML.cpp |
| Tests/WebKit/FrameMIMETypePNG.cpp |
| Tests/WebKit/Geolocation.cpp |
| Tests/WebKit/GetInjectedBundleInitializationUserDataCallback.cpp |
| Tests/WebKit/HitTestResultNodeHandle.cpp |
| Tests/WebKit/InjectedBundleBasic.cpp |
| Tests/WebKit/InjectedBundleFrameHitTest.cpp |
| Tests/WebKit/InjectedBundleInitializationUserDataCallbackWins.cpp |
| Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp |
| Tests/WebKit/LoadCanceledNoServerRedirectCallback.cpp |
| Tests/WebKit/LoadPageOnCrash.cpp |
| Tests/WebKit/MouseMoveAfterCrash.cpp |
| Tests/WebKit/NewFirstVisuallyNonEmptyLayout.cpp |
| Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp |
| Tests/WebKit/NewFirstVisuallyNonEmptyLayoutForImages.cpp |
| Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFrames.cpp |
| Tests/WebKit/PageLoadBasic.cpp |
| Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp |
| Tests/WebKit/PageLoadState.cpp |
| Tests/WebKit/ParentFrame.cpp |
| Tests/WebKit/PendingAPIRequestURL.cpp |
| Tests/WebKit/PreventEmptyUserAgent.cpp |
| Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp |
| Tests/WebKit/ProvisionalURLAfterWillSendRequestCallback.cpp |
| Tests/WebKit/ReloadPageAfterCrash.cpp |
| Tests/WebKit/ResizeWindowAfterCrash.cpp |
| Tests/WebKit/RestoreSessionStateContainingFormData.cpp |
| Tests/WebKit/TextFieldDidBeginAndEndEditing.cpp |
| Tests/WebKit/UserMedia.cpp |
| Tests/WebKit/UserMessage.cpp |
| Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp |
| Tests/WebKit/WKPageGetScaleFactorNotZero.cpp |
| Tests/WebKit/WKPreferences.cpp |
| Tests/WebKit/WKRetainPtr.cpp |
| Tests/WebKit/WKString.cpp |
| Tests/WebKit/WKStringJSString.cpp |
| Tests/WebKit/WKURL.cpp |
| Tests/WebKit/WillSendSubmitEvent.cpp |
| ) |
| |
| set(TestWebKit_PRIVATE_INCLUDE_DIRECTORIES |
| ${CMAKE_BINARY_DIR} |
| ${JavaScriptCore_PRIVATE_FRAMEWORK_HEADERS_DIR} |
| ${PAL_FRAMEWORK_HEADERS_DIR} |
| ${TESTWEBKITAPI_DIR} |
| ${WebCore_PRIVATE_FRAMEWORK_HEADERS_DIR} |
| ${WebKit_FRAMEWORK_HEADERS_DIR} |
| ) |
| |
| set(TestWebKit_LIBRARIES |
| TestWebKitAPIBase |
| WebKit::gtest |
| ) |
| set(TestWebKit_FRAMEWORKS |
| WebKit |
| ) |
| |
| set(TestWebKit_DEPENDENCIES |
| TestWebKitAPIInjectedBundle |
| ) |
| |
| add_library(TestWebKitAPIBase STATIC |
| JavaScriptTest.cpp |
| PlatformUtilities.cpp |
| TestsController.cpp |
| WTFStringUtilities.cpp |
| ) |
| target_compile_definitions(TestWebKitAPIBase PRIVATE BUILDING_TestWebKit) |
| target_include_directories(TestWebKitAPIBase PRIVATE ${TestWebKit_PRIVATE_INCLUDE_DIRECTORIES}) |
| target_link_libraries(TestWebKitAPIBase PRIVATE WebKit::WebKit WebKit::gtest) |
| |
| if (COMPILER_IS_GCC_OR_CLANG) |
| WEBKIT_ADD_TARGET_CXX_FLAGS(TestWebKitAPIBase -Wno-dangling-else |
| -Wno-sign-compare |
| -Wno-undef |
| -Wno-unused-parameter) |
| endif () |
| |
| set(TestWebKitAPIInjectedBundle_SOURCES |
| InjectedBundleController.cpp |
| InjectedBundleMain.cpp |
| PlatformUtilities.cpp |
| Tests/WebKit/CanHandleRequest_Bundle.cpp |
| Tests/WebKit/DidAssociateFormControls_Bundle.cpp |
| Tests/WebKit/DOMWindowExtensionBasic_Bundle.cpp |
| Tests/WebKit/DOMWindowExtensionNoCache_Bundle.cpp |
| Tests/WebKit/DocumentStartUserScriptAlertCrash_Bundle.cpp |
| Tests/WebKit/GetInjectedBundleInitializationUserDataCallback_Bundle.cpp |
| Tests/WebKit/HitTestResultNodeHandle_Bundle.cpp |
| Tests/WebKit/InjectedBundleBasic_Bundle.cpp |
| Tests/WebKit/InjectedBundleFrameHitTest_Bundle.cpp |
| Tests/WebKit/InjectedBundleInitializationUserDataCallbackWins_Bundle.cpp |
| Tests/WebKit/LoadCanceledNoServerRedirectCallback_Bundle.cpp |
| Tests/WebKit/MouseMoveAfterCrash_Bundle.cpp |
| Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails_Bundle.cpp |
| Tests/WebKit/NewFirstVisuallyNonEmptyLayoutForImages_Bundle.cpp |
| Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFrames_Bundle.cpp |
| Tests/WebKit/NewFirstVisuallyNonEmptyLayout_Bundle.cpp |
| Tests/WebKit/FirstMeaningfulPaintMilestone_Bundle.cpp |
| Tests/WebKit/ParentFrame_Bundle.cpp |
| Tests/WebKit/ProvisionalURLAfterWillSendRequestCallback_Bundle.cpp |
| Tests/WebKit/ResponsivenessTimerDoesntFireEarly_Bundle.cpp |
| Tests/WebKit/TextFieldDidBeginAndEndEditing_Bundle.cpp |
| Tests/WebKit/UserMessage_Bundle.cpp |
| Tests/WebKit/WillLoad_Bundle.cpp |
| Tests/WebKit/WillSendSubmitEvent_Bundle.cpp |
| ) |
| if (APPLE) |
| list(APPEND TestWebKitAPIInjectedBundle_SOURCES |
| Tests/WebKit/DOMWindowExtensionBasic_Bundle.cpp |
| |
| cocoa/UtilitiesCocoa.mm |
| |
| mac/InjectedBundleControllerMac.mm |
| mac/PlatformUtilitiesMac.mm |
| ) |
| endif () |
| add_library(TestWebKitAPIInjectedBundle SHARED ${TestWebKitAPIInjectedBundle_SOURCES}) |
| |
| target_compile_definitions(TestWebKitAPIInjectedBundle PRIVATE BUILDING_TestWebKit) |
| target_include_directories(TestWebKitAPIInjectedBundle PRIVATE ${TestWebKit_PRIVATE_INCLUDE_DIRECTORIES}) |
| target_link_libraries(TestWebKitAPIInjectedBundle PRIVATE WebKit::WebKit WebKit::gtest) |
| |
| if (COMPILER_IS_GCC_OR_CLANG) |
| WEBKIT_ADD_TARGET_CXX_FLAGS(TestWebKitAPIInjectedBundle -Wno-dangling-else |
| -Wno-sign-compare |
| -Wno-undef |
| -Wno-unused-parameter) |
| endif () |
| |
| WEBKIT_EXECUTABLE_DECLARE(TestWebKit) |
| endif () |
| |
| # Include platform specific files |
| WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS() |
| |
| # TestWTF target |
| WEBKIT_TEST(TestWTF) |
| |
| # TestJavaScriptCore target |
| if (ENABLE_JAVASCRIPTCORE) |
| WEBKIT_TEST(TestJavaScriptCore) |
| endif () |
| |
| # TestWebCore target |
| if (ENABLE_WEBCORE) |
| WEBKIT_TEST(TestWebCore) |
| endif () |
| |
| # TestWebKitLegacy target |
| if (ENABLE_WEBKIT_LEGACY) |
| WEBKIT_TEST(TestWebKitLegacy) |
| endif () |
| |
| # TestWebKit target |
| if (ENABLE_WEBKIT) |
| WEBKIT_TEST(TestWebKit) |
| endif () |