Summary
NativeCliInstallerTests.GetInstallCommand_RemoteBootstrapsEmitProgressLinesInStageOrder fails on current v3-beta even with no local changes. Production output is correct; the assertion is wrong.
Discovered while working on #1994 (launcher → dispatcher rename). Confirmed unrelated: the same failure reproduces on a clean origin/v3-beta tree with that PR's changes stashed. Left out of #1994 on purpose so the rename PR stayed a single concern.
Root cause
Packages/src/Editor/Infrastructure/CLI/NativeCliCommandBuilder.cs still emits echo 'Downloading installer script...' (and the verify/start lines) in the POSIX remote install script.
- POSIX
ManualCommand is wrapped via BuildLoginShellPosixInstallScriptCommand.
- That wrap escapes inner single quotes through
QuotePosixShellValue, so ManualCommand contains an escaped form such as echo '"'"'Downloading installer script...' rather than the bare echo 'Downloading installer script...'.
- The test's
IndexOf("echo 'Downloading installer script...'") therefore returns -1.
- Windows passes because its
ManualCommand is not login-shell-wrapped, so no quote escaping is inserted. That also explains why the Windows-only asserts around the same progress lines stay green.
Suggested fix
Fix the test, not production strings:
- Assert against the pre-wrap POSIX command string, or
- Escape the expected substring with the same
QuotePosixShellValue rules before matching against ManualCommand.
Do not change the production echo / Write-Output progress text just to satisfy the brittle assertion. User-visible behavior is already correct; Unity progress labels consume those installer progress lines as intended.
Evidence
Summary
NativeCliInstallerTests.GetInstallCommand_RemoteBootstrapsEmitProgressLinesInStageOrderfails on currentv3-betaeven with no local changes. Production output is correct; the assertion is wrong.Discovered while working on #1994 (launcher → dispatcher rename). Confirmed unrelated: the same failure reproduces on a clean
origin/v3-betatree with that PR's changes stashed. Left out of #1994 on purpose so the rename PR stayed a single concern.Root cause
Packages/src/Editor/Infrastructure/CLI/NativeCliCommandBuilder.csstill emitsecho 'Downloading installer script...'(and the verify/start lines) in the POSIX remote install script.ManualCommandis wrapped viaBuildLoginShellPosixInstallScriptCommand.QuotePosixShellValue, soManualCommandcontains an escaped form such asecho '"'"'Downloading installer script...'rather than the bareecho 'Downloading installer script...'.IndexOf("echo 'Downloading installer script...'")therefore returns-1.ManualCommandis not login-shell-wrapped, so no quote escaping is inserted. That also explains why the Windows-only asserts around the same progress lines stay green.Suggested fix
Fix the test, not production strings:
QuotePosixShellValuerules before matching againstManualCommand.Do not change the production
echo/Write-Outputprogress text just to satisfy the brittle assertion. User-visible behavior is already correct; Unity progress labels consume those installer progress lines as intended.Evidence
NativeCliInstallerTests32 / 33 passed; only this case failed.origin/v3-betawith the rename changes stashed.