From dd7fbbd7d1cdeddb9f32ba83124285d897ee7d1f Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Tue, 6 Oct 2026 13:14:58 -0400 Subject: [PATCH] [Test] (P13 W5 S6): the integration peek answers the data arm and the tracker probe arms wherever the record arm is built. --- MobileGL/MG_IntegrationTest/CMakeLists.txt | 15 ++++++++++----- .../Harness/SplitRuntimePeek.cpp | 11 +++++++++++ 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/MobileGL/MG_IntegrationTest/CMakeLists.txt b/MobileGL/MG_IntegrationTest/CMakeLists.txt index 92a991b8..e1d11640 100644 --- a/MobileGL/MG_IntegrationTest/CMakeLists.txt +++ b/MobileGL/MG_IntegrationTest/CMakeLists.txt @@ -1934,6 +1934,10 @@ endif() # none of which a message edit can move - and every Split case skips, naming the first one that is # not true. All this file has to decide now is whether that peek can be COMPILED, which is exactly # "did this build compile MG_Remote", which is exactly the build option. +# P13 W5: the record arm's half of the peek (dataArmIsRecord) needs no transport. +if (MOBILEGL_BUILD_RECORD_ARM) + target_compile_definitions(MobileGLIntegrationTest PRIVATE -DMGITEST_RECORD_ARM_PEEK=1) +endif() if (MOBILEGL_BUILD_DISAGGREGATED) target_compile_definitions(MobileGLIntegrationTest PRIVATE -DMGITEST_SPLIT_RUNTIME_PEEK=1) message(STATUS "Integration tests: the DirectGLES.Split. lanes arm from the RUNNING PROCESS - " @@ -1958,11 +1962,12 @@ endif() # Package b1's client-side persistent-map tracker, which is what Harness/PersistentMapPeek.cpp # asks the membership question of (b1-v1.md 4.1 item 2). TWO halves, and both are needed: -# MOBILEGL_BUILD_DISAGGREGATED because a build that never compiled MG_Remote cannot LINK the call, -# and the content probe because b1 may not have landed it yet. __has_include in the peek would -# answer yes in a pull build - the header is in the source tree of every build - and turn a -# healthy pull build into a link error, which is why this decision is made here. -if (MOBILEGL_BUILD_DISAGGREGATED) +# MOBILEGL_BUILD_RECORD_ARM because a build that never compiled the record arm cannot LINK the call +# (P13 W5: the tracker is record core, MG_Record, and no longer needs MG_Remote), and the content +# probe because b1 may not have landed it yet. __has_include in the peek would answer yes in a +# build without it - the header is in the source tree of every build - and turn a healthy build +# into a link error, which is why this decision is made here. +if (MOBILEGL_BUILD_RECORD_ARM) mgl_itest_probe_for_symbol(MGL_ITEST_PERSISTENT_MAP_TRACKER "${MGL_ITEST_ROOT}/MobileGL/MG_State/GLState/BufferState" "IsLivePersistentMap") if (MGL_ITEST_PERSISTENT_MAP_TRACKER) diff --git a/MobileGL/MG_IntegrationTest/Harness/SplitRuntimePeek.cpp b/MobileGL/MG_IntegrationTest/Harness/SplitRuntimePeek.cpp index 69f3d5ac..f915f63f 100644 --- a/MobileGL/MG_IntegrationTest/Harness/SplitRuntimePeek.cpp +++ b/MobileGL/MG_IntegrationTest/Harness/SplitRuntimePeek.cpp @@ -27,6 +27,14 @@ #include #define MGITEST_SPLIT_RUNTIME_PEEK_LIVE 1 #endif +// P13 W5: THE RECORD-ARM HALF OF THE PEEK, which needs no transport. A library built with the +// record arm and without MG_Remote (the FCL shape) still answers dataArmIsRecord, so the scenarios +// that branch on it assert the arm the process really runs rather than the frontend arm a missing +// peek would imply. +#if defined(MGITEST_RECORD_ARM_PEEK) && !defined(__ANDROID__) +#include +#define MGITEST_RECORD_ARM_PEEK_LIVE 1 +#endif namespace MGITest { @@ -118,6 +126,9 @@ namespace MGITest { SplitRuntimeState PeekSplitRuntime() { SplitRuntimeState state; +#if defined(MGITEST_RECORD_ARM_PEEK_LIVE) + state.dataArmIsRecord = MobileGL::MG_Config::DataArmIsRecord(); +#endif #if defined(MGITEST_SPLIT_RUNTIME_PEEK_LIVE) using MobileGL::MG_Config::TransportMode; state.peekAvailable = true;