[Test] (P13 W5 S6): the integration peek answers the data arm and the tracker probe arms wherever the record arm is built.

This commit is contained in:
2026-10-06 13:14:58 -04:00
parent 851251671c
commit dd7fbbd7d1
2 changed files with 21 additions and 5 deletions
+10 -5
View File
@@ -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)
@@ -27,6 +27,14 @@
#include <thread>
#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 <Config.h>
#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;