During the development of the Nim bindings we started doing automated headless testing.
We noticed there's a way to exit the simulator from Lua, but there isn't one in the C API.
I know it’s a half joke, but the reason this doesn’t work is that exit codes matter. In this case, the simulator is running tests, so the build needs to fail if the tests fail. Exit codes are currently how that failure is communicated from inside the simulator to the container.
The code could be adjusted to create a file based flag that gets written after the tests pass, but this is more complicated, indirect, and less obvious behavior.
Alright. I’ll try to find where I put my sense of humor.