RESOLVED FIXED 166492
[GTK] WebCore/CSSParser unit test is not being built
https://bugs.webkit.org/show_bug.cgi?id=166492
Summary [GTK] WebCore/CSSParser unit test is not being built
Manuel Rego Casasnovas
Reported 2016-12-27 10:31:43 PST
This test was introduced in bug #136217 (r175930). https://trac.webkit.org/changeset/r175930 But just the day after, as it was causing issues to build GTK+ port the unit test was removed from the CMake file so it's not build anymore since then (r176015). https://trac.webkit.org/changeset/176015
Attachments
Patch (1.77 KB, patch)
2016-12-28 01:56 PST, Manuel Rego Casasnovas
no flags
Patch (1.84 KB, patch)
2017-01-02 04:21 PST, Manuel Rego Casasnovas
no flags
Manuel Rego Casasnovas
Comment 1 2016-12-27 10:32:13 PST
We should build this test in GTK+ too, but something like this is not enough: diff --git a/Tools/TestWebKitAPI/PlatformGTK.cmake b/Tools/TestWebKitAPI/PlatformGTK.cmake index 639d197c070..0bb8cdb4ac9 100644 --- a/Tools/TestWebKitAPI/PlatformGTK.cmake +++ b/Tools/TestWebKitAPI/PlatformGTK.cmake @@ -129,6 +129,7 @@ set_target_properties(TestWebKit2 PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${TESTWEBK add_executable(TestWebCore ${test_main_SOURCES} ${TESTWEBKITAPI_DIR}/TestsController.cpp + ${TESTWEBKITAPI_DIR}/Tests/WebCore/CSSParser.cpp ${TESTWEBKITAPI_DIR}/Tests/WebCore/FileSystem.cpp ${TESTWEBKITAPI_DIR}/Tests/WebCore/HTMLParserIdioms.cpp ${TESTWEBKITAPI_DIR}/Tests/WebCore/LayoutUnit.cpp I'm getting some linking errors: http://sprunge.us/gBeQ
Manuel Rego Casasnovas
Comment 2 2016-12-28 01:56:31 PST
Carlos Garcia Campos
Comment 3 2016-12-28 02:03:38 PST
Comment on attachment 297800 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=297800&action=review > Tools/TestWebKitAPI/PlatformGTK.cmake:56 > + WebKit2 Why do you need to link to WebKit2 for WebCore tests? I know you need this to avoid the linking issues you mentioned, but the thing is why you get linking issues.
Manuel Rego Casasnovas
Comment 4 2016-12-28 04:50:43 PST
Comment on attachment 297800 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=297800&action=review >> Tools/TestWebKitAPI/PlatformGTK.cmake:56 >> + WebKit2 > > Why do you need to link to WebKit2 for WebCore tests? I know you need this to avoid the linking issues you mentioned, but the thing is why you get linking issues. This was the way to fix the linking error, but I'm not sure where is the real problem. I see that if we call the following method we got the linking error: RuntimeEnabledFeatures& RuntimeEnabledFeatures::sharedFeatures() { static NeverDestroyed<RuntimeEnabledFeatures> runtimeEnabledFeatures; return runtimeEnabledFeatures; } Any idea is welcomed. :-)
Michael Catanzaro
Comment 5 2016-12-28 10:57:26 PST
Comment on attachment 297800 [details] Patch Like Carlos says, this is a layering violation. All the missing symbols are in WebCore anyway, so linking to WebKit2 doesn't make sense; that's only fixing the problem because WebKit2 happens to link to the missing library. We need to figure out what's really wrong. Try linking to WebCore in addition to WebCorePlatformGTK, does that fix it?
Manuel Rego Casasnovas
Comment 6 2016-12-29 00:43:19 PST
(In reply to comment #5) > Try linking to WebCore in addition to WebCorePlatformGTK, does that fix it? No, I already tried that. Let's see if I manage to find what's going on...
Manuel Rego Casasnovas
Comment 7 2017-01-02 04:21:53 PST
Manuel Rego Casasnovas
Comment 8 2017-01-02 04:23:01 PST
It seems the issue is also fixed if we use "ADD_WHOLE_ARCHIVE_TO_LIBRARIES". What do you think about this approach?
Michael Catanzaro
Comment 9 2017-01-02 08:15:03 PST
Comment on attachment 297891 [details] Patch Yeah this looks better!
WebKit Commit Bot
Comment 10 2017-01-02 08:42:06 PST
Comment on attachment 297891 [details] Patch Clearing flags on attachment: 297891 Committed r210225: <http://trac.webkit.org/changeset/210225>
WebKit Commit Bot
Comment 11 2017-01-02 08:42:10 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.