Failure Injection / Rollback Tests¶
Injection exists only where the scripts call it. It is lab-only.
| Platform | Mechanism | Stages that exist in code |
|---|---|---|
| Windows Native install | CLI -TestFailAt |
AfterBinaryDeploy, AfterConfig, AfterMigration, AfterServiceCreate, AfterServiceConfig, AfterFirewall, BeforeServiceStart, AfterServiceStart, LiveHealth, ReadyHealth |
| Windows Native update | CLI -TestFailAt |
AfterServiceStop, AfterBinarySwap, AfterMigration, BeforeServiceStart, AfterServiceStart, LiveHealth, ReadyHealth |
| Windows Docker update | CLI -TestFailAt |
AfterComposeUp only |
| Linux Docker update | --test-fail-at |
AfterComposeUp only |
| Linux Native | env IQV_TEST_FAIL_AT |
Health or AfterStart (in health_check) |
Automated coverage: UpdateRollback.Tests.ps1, Install.Tests.ps1, DockerDeploy.Tests.ps1 R1–R11, prebuilt_deploy_test.sh (IQV_TEST_FAIL_AT=Health), docker_deploy_test.sh rollback cases.
Documented live injection: Windows Native AfterBinarySwap on the August 2026 service E2E page. Windows/Linux Docker AfterComposeUp live injection was NOT RUN on the older Docker E2E page.
Successful rollback still returns a non-zero update exit code. Database / migration rollback is not performed.