From 39890592278711a38ee25ff5eb0861cf446bf188 Mon Sep 17 00:00:00 2001 From: R-Goc Date: Sun, 25 May 2025 00:00:29 +0200 Subject: [PATCH] Libraries/Utilities/Tests: Build and test js.exe This commit enables building and testing js.exe for windows. Needed libraries are built in CI, and tests for those which pass were added. Tests for LibJS which don't require javascripttestrunner were added but the rest need to wait for that to be ported to windows. --- Libraries/CMakeLists.txt | 20 ++++++++++---------- Tests/CMakeLists.txt | 12 ++++++------ Tests/LibJS/CMakeLists.txt | 10 +++++++--- Utilities/CMakeLists.txt | 7 ++++++- 4 files changed, 29 insertions(+), 20 deletions(-) diff --git a/Libraries/CMakeLists.txt b/Libraries/CMakeLists.txt index afe56a5c5c3..c3db4a49f9d 100644 --- a/Libraries/CMakeLists.txt +++ b/Libraries/CMakeLists.txt @@ -1,37 +1,37 @@ +add_subdirectory(LibCompress) +add_subdirectory(LibCrypto) +add_subdirectory(LibDiff) +add_subdirectory(LibDNS) +add_subdirectory(LibGC) +add_subdirectory(LibJS) add_subdirectory(LibRegex) +add_subdirectory(LibRIFF) +add_subdirectory(LibSyntax) add_subdirectory(LibTest) add_subdirectory(LibTextCodec) add_subdirectory(LibUnicode) add_subdirectory(LibURL) +add_subdirectory(LibXML) # FIXME: Increase support for building targets on Windows if (WIN32 AND ENABLE_WINDOWS_CI) return() endif() -add_subdirectory(LibCompress) -add_subdirectory(LibCrypto) -add_subdirectory(LibDiff) -add_subdirectory(LibDNS) -add_subdirectory(LibGC) add_subdirectory(LibHTTP) add_subdirectory(LibIPC) -add_subdirectory(LibJS) add_subdirectory(LibLine) add_subdirectory(LibRequests) -add_subdirectory(LibRIFF) -add_subdirectory(LibSyntax) add_subdirectory(LibThreading) add_subdirectory(LibTLS) add_subdirectory(LibWasm) add_subdirectory(LibWebSocket) -add_subdirectory(LibXML) if (ENABLE_GUI_TARGETS) add_subdirectory(LibDevTools) add_subdirectory(LibGfx) add_subdirectory(LibImageDecoderClient) add_subdirectory(LibMedia) - add_subdirectory(LibWebView) add_subdirectory(LibWeb) + add_subdirectory(LibWebView) endif() diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 99b011940c6..01d96ee5ed3 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1,18 +1,18 @@ add_subdirectory(AK) +add_subdirectory(LibCompress) +add_subdirectory(LibCrypto) +add_subdirectory(LibDiff) +add_subdirectory(LibGC) +add_subdirectory(LibJS) +add_subdirectory(LibRegex) # FIXME: Increase support for building targets on Windows if (WIN32 AND ENABLE_WINDOWS_CI) return() endif() -add_subdirectory(LibCrypto) -add_subdirectory(LibCompress) add_subdirectory(LibCore) -add_subdirectory(LibDiff) add_subdirectory(LibDNS) -add_subdirectory(LibGC) -add_subdirectory(LibJS) -add_subdirectory(LibRegex) add_subdirectory(LibTest) add_subdirectory(LibTextCodec) add_subdirectory(LibThreading) diff --git a/Tests/LibJS/CMakeLists.txt b/Tests/LibJS/CMakeLists.txt index 70e6ddab944..5ae32490f51 100644 --- a/Tests/LibJS/CMakeLists.txt +++ b/Tests/LibJS/CMakeLists.txt @@ -1,5 +1,9 @@ -serenity_testjs_test(test-js.cpp test-js LIBS LibGC) -set_tests_properties(test-js PROPERTIES ENVIRONMENT LADYBIRD_SOURCE_DIR=${SERENITY_PROJECT_ROOT}) - serenity_test(test-invalid-unicode-js.cpp LibJS LIBS LibJS LibUnicode) serenity_test(test-value-js.cpp LibJS LIBS LibJS LibUnicode) + +if (WIN32 AND ENABLE_WINDOWS_CI) + return() +endif() + +serenity_testjs_test(test-js.cpp test-js LIBS LibGC) +set_tests_properties(test-js PROPERTIES ENVIRONMENT LADYBIRD_SOURCE_DIR=${SERENITY_PROJECT_ROOT}) diff --git a/Utilities/CMakeLists.txt b/Utilities/CMakeLists.txt index dbe5044d626..4a267257515 100644 --- a/Utilities/CMakeLists.txt +++ b/Utilities/CMakeLists.txt @@ -1,3 +1,9 @@ +if(WIN32) + lagom_utility(js SOURCES js.cpp LIBS LibCrypto LibJS LibUnicode LibMain LibTextCodec LibGC Threads::Threads) +else() + lagom_utility(js SOURCES js.cpp LIBS LibCrypto LibJS LibLine LibUnicode LibMain LibTextCodec LibGC Threads::Threads) +endif() + # FIXME: Increase support for building targets on Windows if (WIN32 AND ENABLE_WINDOWS_CI) return() @@ -11,7 +17,6 @@ if (ENABLE_GUI_TARGETS) lagom_utility(image SOURCES image.cpp LIBS LibGfx LibMain) endif() -lagom_utility(js SOURCES js.cpp LIBS LibCrypto LibJS LibLine LibUnicode LibMain LibTextCodec LibGC Threads::Threads) lagom_utility(test262-runner SOURCES test262-runner.cpp LIBS LibJS LibFileSystem LibGC) if (CMAKE_SYSTEM_NAME STREQUAL "Linux")