cargo-mutants icon indicating copy to clipboard operation
cargo-mutants copied to clipboard

`hangs_when_mutated` test sometimes leaves a rustc process hanging

Open sourcefrog opened this issue 6 months ago • 0 comments

There's a test that is meant to check that we kill child processes after a timeout. However it seems sometimes the child is not properly killed but instead left hanging, perhaps if the tests are interrupted. Probably the child should exit on its own accord after a while.

Specifically the dangling process looks like

rustc --crate-name cargo_mutants_testdata_hang_when_mutated --edition=2018 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test --check-cfg cfg(docsrs,test) --check-cfg cfg(feature, values()) -C metadata=c289be54df988f24 -C extra-filename=-a29554bf8d09b7c5 --out-dir /tmp/cargo-mutants-cargo-mutants-testdata-hang_when_mutated-wpbawH-vFj5bY.tmp/target/debug/deps -C linker=clang -C incremental=/tmp/cargo-mutants-cargo-mutants-testdata-hang_when_mutated-wpbawH-vFj5bY.tmp/target/debug/incremental -L dependency=/tmp/cargo-mutants-cargo-mutants-testdata-hang_when_mutated-wpbawH-vFj5bY.tmp/target/debug/deps --extern mutants=/tmp/cargo-mutants-cargo-mutants-testdata-hang_when_mutated-wpbawH-vFj5bY.tmp/target/debug/deps/libmutants-be4795c1db9d28eb.so --cap-lints=warn

As a first step it'd be good to split things expected to hang the compiler from other hang tests.

Note that this has --cap-lints=warn so I guess this was meant to be killed by a timeout.

sourcefrog avatar Jun 19 '25 15:06 sourcefrog