diff --git a/MobileGL/MG_IntegrationTest/CMakeLists.txt b/MobileGL/MG_IntegrationTest/CMakeLists.txt index 5c20995c..8a498f7b 100644 --- a/MobileGL/MG_IntegrationTest/CMakeLists.txt +++ b/MobileGL/MG_IntegrationTest/CMakeLists.txt @@ -2131,7 +2131,10 @@ if (MOBILEGL_BUILD_DISAGGREGATED) # A single supervisor serves one session at a time. Fixture teardown also reaps a # child left behind by a failed client; the resource lock serializes this lane. - set(MOBILEGL_ITEST_TCP_ENDPOINT "tcp://127.0.0.1:40613" CACHE STRING "Loopback TCP integration endpoint") + # Below Linux's ephemeral range (32768-60999): thousands of loopback client connections run + # in this lane, and an outgoing socket that happens to own the port makes the supervisor's + # bind fail (TcpServer.Start.* red in 0.07 s on a hosted runner). + set(MOBILEGL_ITEST_TCP_ENDPOINT "tcp://127.0.0.1:30613" CACHE STRING "Loopback TCP integration endpoint") set(MOBILEGL_ITEST_TCP_DEVICE_ENDPOINT "" CACHE STRING "Optional device TCP integration endpoint") set(MOBILEGL_ITEST_TCP_DEVICE_TOKEN "" CACHE STRING "Token for the device TCP integration endpoint") find_package(Python3 REQUIRED COMPONENTS Interpreter) diff --git a/MobileGL/MG_IntegrationTest/P8Coverage.cmake b/MobileGL/MG_IntegrationTest/P8Coverage.cmake index 51df907c..4203ec46 100644 --- a/MobileGL/MG_IntegrationTest/P8Coverage.cmake +++ b/MobileGL/MG_IntegrationTest/P8Coverage.cmake @@ -139,7 +139,7 @@ mgl_itest_register_split_arms("${mglP8aAmbientFilter}" "") # on its own port, started by its own fixture with the knob in the fixture's ENVIRONMENT. # # THE PORTS: the lane endpoint's port + MOBILEGL_ITEST_TCP_KNOB_PORT_OFFSET + the lane's index. -# The default offset (1000) keeps the five clear of every per-tree lane endpoint in use (40613 +# The default offset (1000) keeps the five clear of every per-tree lane endpoint in use (30613 # CI, 407xx / 409xx split and verify builds, 484x0 package trees). One overlap remains: a tree # whose split and verify builds sit one port apart (409x3 / 409x4) gets knob ports one apart as # well, so the two builds must not run integration-tcp at the same moment - set the cache diff --git a/MobileGL/MG_Test/Pipe/CMakeLists.txt b/MobileGL/MG_Test/Pipe/CMakeLists.txt index 3bfa550c..d4ac85be 100644 --- a/MobileGL/MG_Test/Pipe/CMakeLists.txt +++ b/MobileGL/MG_Test/Pipe/CMakeLists.txt @@ -221,8 +221,11 @@ include(GoogleTest) gtest_discover_tests(PipeCatalogueTest DISCOVERY_TIMEOUT 30 PROPERTIES LABELS unit) # This source scanner must inspect the configured checkout, including in out-of-tree builds. # Apply the override after GoogleTest's deferred discovery, and only to this one test. +# CTestTestfile scripts run with no policy settings, so IN_LIST (CMP0057) is not available here +# on CMake 3.x: use list(FIND) instead. file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/PipeCatalogueSourceRoot.cmake" CONTENT -"if(\"PipeCatalogue.FrontendNeverTakesAnApplierAddress\" IN_LIST PipeCatalogueTest_TESTS) +"list(FIND PipeCatalogueTest_TESTS \"PipeCatalogue.FrontendNeverTakesAnApplierAddress\" _mglSourceRootTest) +if(NOT _mglSourceRootTest EQUAL -1) set_tests_properties(PipeCatalogue.FrontendNeverTakesAnApplierAddress PROPERTIES WORKING_DIRECTORY [==[${MGL_ROOT}]==]) endif()