Apply pending Windows binary replacements
ci / test (push) Canceled after 0s
ci / fuzz-smoke (push) Canceled after 0s
ci / macos-client (macos-aarch64, macos-14) (push) Canceled after 0s
ci / macos-client (macos-x86_64, macos-13) (push) Canceled after 0s
ci / windows-client (push) Canceled after 0s
ci / package-release (linux-x86_64, ubuntu-latest, , , ) (push) Canceled after 0s
ci / package-release (macos-aarch64, macos-14, , , ) (push) Canceled after 0s
ci / package-release (macos-x86_64, macos-13, , , ) (push) Canceled after 0s
ci / package-release (windows-aarch64, windows-latest, aarch64, windows, aarch64-pc-windows-msvc) (push) Canceled after 0s
ci / package-release (windows-x86_64, windows-latest, , , ) (push) Canceled after 0s
ci / remote-bench (push) Canceled after 0s
ci / publish-gitea-release (push) Canceled after 0s

This commit is contained in:
DuProcess
2026-07-16 22:45:41 -04:00
parent 5a9d9df4ae
commit 478ecdfb24
2 changed files with 37 additions and 0 deletions
+12
View File
@@ -325,6 +325,7 @@ fn windows_prebuilt_install_requires_client_but_not_bench() {
fn windows_installer_stages_locked_binary_replacements() {
let ps1 = include_str!("../install.ps1");
assert!(ps1.contains("function Start-DeferredBinaryReplacement"));
assert!(ps1.contains("function Apply-PendingBinaryReplacements"));
assert!(ps1.contains("$pending = \"$Destination.pending.$PID\""));
assert!(ps1.contains("Move-Item -LiteralPath $tmp -Destination $pending -Force"));
assert!(ps1.contains("Start-DeferredBinaryReplacement $pending $Destination"));
@@ -335,6 +336,17 @@ fn windows_installer_stages_locked_binary_replacements() {
));
assert!(ps1.contains("[System.Text.Encoding]::Unicode.GetBytes($script)"));
assert!(ps1.contains("Start-Process -FilePath $ps"));
assert!(ps1.contains("Get-ChildItem -LiteralPath $Dir -File -Filter \"*.pending.*\""));
assert!(ps1.contains("$marker = \".pending.\""));
assert!(ps1.contains("$destinationName = $name.Substring(0, $index)"));
assert!(ps1.contains("Move-Item -LiteralPath $pending -Destination $destination -Force"));
assert!(ps1.contains("Apply-PendingBinaryReplacements $bindir"));
let recovery = ps1.find("Apply-PendingBinaryReplacements $bindir").unwrap();
let install = ps1.find("if ($UsePrebuilt)").unwrap();
assert!(
recovery < install,
"pending binary replacements must be recovered before installing new binaries"
);
}
#[test]