diag(nests-interop): per-test moq-relay trace capture for routing race
`NativeMoqRelayHarness` gains a `testTag` parameter on `shared` /
`resetShared` and writes the relay subprocess's combined stdout/stderr
to `nestsClient/build/relay-logs/<tag>-<seq>-<ts>.log` whenever
`-DnestsHangInteropTraceRelay=true` is set. The subprocess runs with
`RUST_LOG=info,moq_relay=trace,moq_lite=trace,moq_native=debug` so the
per-broadcast subscribe-routing path investigated in
`nestsClient/plans/2026-05-07-moq-relay-routing-investigation.md`
(Step 1) becomes visible.
`HangInteropTest` and `BrowserInteropTest` now expose a JUnit 4
`TestName` rule and forward the method name into `resetShared`, so
each scenario's per-method log is easy to locate by name when
cross-referencing with the speaker-side `Log.d("NestTx")` lines
already captured in JUnit XML's `<system-err>`.
This commit is contained in:
@@ -227,6 +227,18 @@ tasks.withType<Test>().configureEach {
|
||||
val cargoBin = hangInteropCacheDir.dir("bin").asFile
|
||||
systemProperty("nestsHangInteropSidecarsDir", sidecarRelease.absolutePath)
|
||||
systemProperty("nestsHangInteropCargoBinDir", cargoBin.absolutePath)
|
||||
// Per-method moq-relay trace log dir for the routing-race
|
||||
// investigation (plan 2026-05-07-moq-relay-routing-investigation.md).
|
||||
// Off by default; opt in via -DnestsHangInteropTraceRelay=true so a
|
||||
// routine sweep doesn't generate ~MBs of trace per run.
|
||||
if (System.getProperty("nestsHangInteropTraceRelay") == "true") {
|
||||
val relayLogDir =
|
||||
layout.buildDirectory
|
||||
.dir("relay-logs")
|
||||
.get()
|
||||
.asFile
|
||||
systemProperty("nestsHangInteropRelayLogDir", relayLogDir.absolutePath)
|
||||
}
|
||||
}
|
||||
|
||||
// ---- Cross-stack interop: BROWSER (Phase 4 of T16) --------------------------
|
||||
|
||||
Reference in New Issue
Block a user