CMakeLists.txt 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. set(TESTWEBKITAPI_DIR "${TOOLS_DIR}/TestWebKitAPI")
  2. include_directories(${CMAKE_BINARY_DIR}
  3. ${TESTWEBKITAPI_DIR}
  4. ${CMAKE_SOURCE_DIR}/Source
  5. ${DERIVED_SOURCES_WEBCORE_DIR}
  6. ${DERIVED_SOURCES_WEBKIT2_DIR}/include
  7. ${JAVASCRIPTCORE_DIR}
  8. ${JAVASCRIPTCORE_DIR}/API
  9. ${JAVASCRIPTCORE_DIR}/ForwardingHeaders
  10. ${THIRDPARTY_DIR}/gtest/include
  11. ${WEBCORE_DIR}/editing
  12. ${WEBCORE_DIR}/platform
  13. ${WEBCORE_DIR}/platform/graphics
  14. ${WEBCORE_DIR}/platform/text
  15. ${WEBCORE_DIR}/platform/network
  16. ${WEBKIT2_DIR}/Shared
  17. ${WEBKIT2_DIR}/Shared/API/c
  18. ${WEBKIT2_DIR}/Shared/Plugins
  19. ${WEBKIT2_DIR}/UIProcess
  20. ${WEBKIT2_DIR}/WebProcess/InjectedBundle
  21. ${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/c
  22. ${WTF_DIR}
  23. )
  24. WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
  25. add_library(TestWebKitAPIInjectedBundle SHARED
  26. ${bundle_harness_SOURCES}
  27. ${TESTWEBKITAPI_DIR}/InjectedBundleController.cpp
  28. ${TESTWEBKITAPI_DIR}/InjectedBundleMain.cpp
  29. ${TESTWEBKITAPI_DIR}/PlatformUtilities.cpp
  30. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/CanHandleRequest_Bundle.cpp
  31. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp
  32. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/DOMWindowExtensionNoCache_Bundle.cpp
  33. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/DocumentStartUserScriptAlertCrash_Bundle.cpp
  34. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback_Bundle.cpp
  35. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp
  36. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/InjectedBundleBasic_Bundle.cpp
  37. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/InjectedBundleFrameHitTest_Bundle.cpp
  38. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins_Bundle.cpp
  39. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/LoadCanceledNoServerRedirectCallback_Bundle.cpp
  40. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/MouseMoveAfterCrash_Bundle.cpp
  41. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails_Bundle.cpp
  42. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages_Bundle.cpp
  43. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames_Bundle.cpp
  44. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout_Bundle.cpp
  45. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/ParentFrame_Bundle.cpp
  46. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly_Bundle.cpp
  47. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/ShouldGoToBackForwardListItem_Bundle.cpp
  48. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/UserMessage_Bundle.cpp
  49. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/WKConnection_Bundle.cpp
  50. ${TESTWEBKITAPI_DIR}/Tests/WebKit2/WillSendSubmitEvent_Bundle.cpp
  51. )
  52. target_link_libraries(TestWebKitAPIInjectedBundle WTF)
  53. add_dependencies(TestWebKitAPIInjectedBundle WebKit2 ${ForwardingHeadersForTestWebKitAPI_NAME} ${ForwardingNetworkHeadersForTestWebKitAPI_NAME})
  54. get_property(TestWebKitAPIInjectedBundle_PATH TARGET TestWebKitAPIInjectedBundle PROPERTY LOCATION)
  55. add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1
  56. -DTEST_WEBKIT2_RESOURCES_DIR=\"${TESTWEBKITAPI_DIR}/Tests/WebKit2\"
  57. -DTEST_INJECTED_BUNDLE_PATH=\"${TestWebKitAPIInjectedBundle_PATH}\"
  58. )
  59. set(test_wtf_LIBRARIES
  60. WTF
  61. gtest
  62. )
  63. add_executable(test_wtf
  64. ${test_main_SOURCES}
  65. ${TESTWEBKITAPI_DIR}/TestsController.cpp
  66. ${TESTWEBKITAPI_DIR}/Tests/WTF/AtomicString.cpp
  67. ${TESTWEBKITAPI_DIR}/Tests/WTF/CString.cpp
  68. ${TESTWEBKITAPI_DIR}/Tests/WTF/CheckedArithmeticOperations.cpp
  69. ${TESTWEBKITAPI_DIR}/Tests/WTF/Functional.cpp
  70. ${TESTWEBKITAPI_DIR}/Tests/WTF/HashMap.cpp
  71. ${TESTWEBKITAPI_DIR}/Tests/WTF/IntegerToStringConversion.cpp
  72. ${TESTWEBKITAPI_DIR}/Tests/WTF/ListHashSet.cpp
  73. ${TESTWEBKITAPI_DIR}/Tests/WTF/MD5.cpp
  74. ${TESTWEBKITAPI_DIR}/Tests/WTF/MathExtras.cpp
  75. ${TESTWEBKITAPI_DIR}/Tests/WTF/MetaAllocator.cpp
  76. ${TESTWEBKITAPI_DIR}/Tests/WTF/RedBlackTree.cpp
  77. ${TESTWEBKITAPI_DIR}/Tests/WTF/SHA1.cpp
  78. ${TESTWEBKITAPI_DIR}/Tests/WTF/SaturatedArithmeticOperations.cpp
  79. ${TESTWEBKITAPI_DIR}/Tests/WTF/StringBuilder.cpp
  80. ${TESTWEBKITAPI_DIR}/Tests/WTF/StringHasher.cpp
  81. ${TESTWEBKITAPI_DIR}/Tests/WTF/StringImpl.cpp
  82. ${TESTWEBKITAPI_DIR}/Tests/WTF/StringOperators.cpp
  83. ${TESTWEBKITAPI_DIR}/Tests/WTF/TemporaryChange.cpp
  84. ${TESTWEBKITAPI_DIR}/Tests/WTF/Vector.cpp
  85. ${TESTWEBKITAPI_DIR}/Tests/WTF/VectorBasic.cpp
  86. ${TESTWEBKITAPI_DIR}/Tests/WTF/VectorReverse.cpp
  87. ${TESTWEBKITAPI_DIR}/Tests/WTF/WTFString.cpp
  88. )
  89. target_link_libraries(test_wtf ${test_wtf_LIBRARIES})
  90. add_dependencies(test_wtf ${ForwardingHeadersForTestWebKitAPI_NAME} ${ForwardingNetworkHeadersForTestWebKitAPI_NAME})
  91. add_test(test_wtf ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test_wtf)
  92. set_tests_properties(test_wtf PROPERTIES TIMEOUT 60)
  93. set(test_webcore_LIBRARIES
  94. gtest
  95. WTF
  96. WebCore
  97. )
  98. foreach (testName ${test_webcore_BINARIES})
  99. add_executable(test_webcore_${testName} ${test_main_SOURCES} ${TESTWEBKITAPI_DIR}/TestsController.cpp ${TESTWEBKITAPI_DIR}/Tests/WebCore/${testName}.cpp)
  100. add_test(test_webcore_${testName} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test_webcore_${testName})
  101. set_tests_properties(test_webcore_${testName} PROPERTIES TIMEOUT 60)
  102. target_link_libraries(test_webcore_${testName} ${test_webcore_LIBRARIES})
  103. endforeach ()
  104. add_library(TestWebKitAPIBase
  105. ${test_main_SOURCES}
  106. ${webkit2_api_harness_SOURCES}
  107. ${TESTWEBKITAPI_DIR}/JavaScriptTest.cpp
  108. ${TESTWEBKITAPI_DIR}/PlatformUtilities.cpp
  109. ${TESTWEBKITAPI_DIR}/TestsController.cpp
  110. )
  111. add_dependencies(TestWebKitAPIBase WebKit2 ${ForwardingHeadersForTestWebKitAPI_NAME} ${ForwardingNetworkHeadersForTestWebKitAPI_NAME})
  112. set(test_webkit2_api_LIBRARIES
  113. TestWebKitAPIBase
  114. WTF
  115. JavaScriptCore
  116. WebKit2
  117. gtest
  118. )
  119. foreach (testName ${test_webkit2_api_BINARIES})
  120. get_filename_component(testBaseName ${testName} NAME)
  121. add_executable(test_webkit2_api_${testBaseName} ${TESTWEBKITAPI_DIR}/Tests/WebKit2/${testName}.cpp)
  122. add_test(test_webkit2_api_${testBaseName} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test_webkit2_api_${testBaseName})
  123. set_tests_properties(test_webkit2_api_${testBaseName} PROPERTIES TIMEOUT 60)
  124. target_link_libraries(test_webkit2_api_${testBaseName} ${test_webkit2_api_LIBRARIES})
  125. endforeach ()
  126. # We don't run tests that are expected to fail. We could use the WILL_FAIL
  127. # property, but it reports failure when the test crashes or timeouts and would
  128. # make the bot red.
  129. foreach (testName ${test_webkit2_api_fail_BINARIES})
  130. add_executable(test_webkit2_api_fail_${testName} ${TESTWEBKITAPI_DIR}/Tests/WebKit2/${testName}.cpp)
  131. target_link_libraries(test_webkit2_api_fail_${testName} ${test_webkit2_api_LIBRARIES})
  132. endforeach ()