mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-11-07 01:53:24 +09:00
[tools] (P7): a spawn retrace with no server log is a fatal, not a clean census
Fable review of the B3 rework, should-fix: run_trace_case.cmake read the
server log only `if(EXISTS ...)`. Under spawn the server process writes its
own file, and the lines the runner counts out of it - the applier Fatal{
lines and the MGWIRE-FLOOR unsound-serial-complete line, which only the
server's VulkanRenderer::OnSubmitsCompletedUpTo emits - are nowhere else,
so a server that died before its first line read as "0 lines" and went
green. The client log was already fail-closed, and so was the tcp arm's
forwarded server log; plain spawn was not.
The plain-spawn branch of the transport block now FATALs when
mobilegl.server.log does not exist, beside the tcp arm's identical check.
Demonstration: the SPAWN ctest command line with TRACE_REPLAY_EXE replaced
by a wrapper that runs the real replay and then deletes
output/mobilegl.server.log (541 lines):
runner at aab01275 -> rc 0, "Fatal{ lines across ... : 0",
"MGWIRE-FLOOR unsound-serial-complete lines: 0" (green, half unseen)
this runner -> rc 1:
CMake Error at run_trace_case.cmake:321 (message):
OpenRA DirectVulkan: MOBILEGL_TRANSPORT=spawn but the run wrote no
.../output/mobilegl.server.log, so the server role's Fatal{ and
MGWIRE-FLOOR lines cannot be counted. A spawn retrace with no
server log cannot be counted as a clean one.
MobileGLTraceReplay.OpenRA.DirectVulkan.SPLIT / .SPAWN unmodified: both
pass, ssim 1.000000, 0 px, 0 MGWIRE-FLOOR lines.
This commit is contained in:
@@ -311,6 +311,19 @@ if(DEFINED ENV{MOBILEGL_TRANSPORT} AND NOT "$ENV{MOBILEGL_TRANSPORT}" STREQUAL "
|
||||
endif()
|
||||
else()
|
||||
set(split_expected_second "spawn ARMED - the server role runs in pid ")
|
||||
# FAIL-CLOSED LIKE THE CLIENT LOG ABOVE AND THE TCP ARM'S SERVER LOG. Under spawn
|
||||
# the server process writes its own file, and the lines this runner counts out of
|
||||
# it - every applier Fatal{, and the MGWIRE-FLOOR line, which only the server's
|
||||
# VulkanRenderer::OnSubmitsCompletedUpTo emits - exist nowhere else. A server that
|
||||
# died before its first line leaves no file, and "no file" read as "0 lines" is a
|
||||
# green census of the half of the session that was never seen.
|
||||
if(NOT EXISTS "${mobilegl_server_log}")
|
||||
message(FATAL_ERROR
|
||||
"${split_case}: MOBILEGL_TRANSPORT=spawn but the run wrote no "
|
||||
"${mobilegl_server_log}, so the server role's Fatal{ and MGWIRE-FLOOR "
|
||||
"lines cannot be counted. A spawn retrace with no server log cannot be "
|
||||
"counted as a clean one.")
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
message(FATAL_ERROR
|
||||
|
||||
Reference in New Issue
Block a user