vst3-host: the late-exit test expects Windows' exit order
module_exit_shutdown asserts that the exit handler alone runs the module exit too late. That holds where exit handlers share one list. Windows runs the executable's handlers before a DLL's own, so the fixture's late state is still alive and the child exits cleanly; the test failed there. The Windows case now asserts the clean exit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
f55010d244
commit
ced57be723
|
|
@ -38,7 +38,13 @@ fn main() {
|
|||
assert!(up_front.status.success(), "shutdown before exit: {:?}\n{}", up_front.status, String::from_utf8_lossy(&up_front.stderr));
|
||||
let too_late = run("exit-handler");
|
||||
let err = String::from_utf8_lossy(&too_late.stderr);
|
||||
assert_eq!(too_late.status.code(), Some(3), "the exit handler alone comes too late: {err}");
|
||||
assert!(err.contains("module exit after the process exit tore down state"), "{err}");
|
||||
if cfg!(windows) {
|
||||
// Windows runs the executable's exit handlers before a DLL's own, so the fixture's late
|
||||
// state is still there when the host's exit handler runs its module exit.
|
||||
assert!(too_late.status.success(), "the exit handler alone: {:?}\n{err}", too_late.status);
|
||||
} else {
|
||||
assert_eq!(too_late.status.code(), Some(3), "the exit handler alone comes too late: {err}");
|
||||
assert!(err.contains("module exit after the process exit tore down state"), "{err}");
|
||||
}
|
||||
println!("module_exit_shutdown: ok");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue