Windows CI: Testing examples does not exit

Hiya, has anyone got the following setup, and experienced the same problem:

Setup:

  1. Have a crate with examples.
  2. Have tests, that run the examples via cargo run --example <example_name>. (I use escargot, but the effect should be the same)
  3. Have Windows CI agents, which run the tests (cargo test) -- which should start, then close the example.

Problem:

When running the test as a regular user, the examples start and exit okay.

When running the tests in CI (that is, as a Windows service), cargo just hangs. The process list just shows many cargo.exes doing nothing (sounds like they're all "blocked"?). I couldn't see any process named after the example.

In Rust 1.32.0 stable, the tests worked (cargo test exits), but in Rust 1.33.0 stable, it started hanging. Not sure what really changed.

Additional Notes:

The tests run okay on Linux CI, i.e. the examples start and exit.

The examples all use amethyst, but since:

  • It works on Linux
  • It works on Windows as a regular user
  • One of the examples is non-interactive (takes a parameter that says "exit straightaway"), and doesn't need any graphical backend, and that still hangs on CI

then I conclude it's not likely to be amethyst


I know asking about something this specific is a stretch, but am out of ideas.