How to fully stop functional tests

When you start a series of functional tests through the Session Frontend in the UE Editor, after a previous run didn’t call Finish test, you get the error message:

A Functional test is already running! [(...)\UnrealEngine\Engine\Source\Runtime\Core\Private\Logging\LogMacros.cpp(92)]

After a bunch of setup logging code about an audio mixer setup, that doesn’t seem to belong in the test output

The failure to call finishTest can happen either because you press the stop button in the session front end, or because there’s an issue with the test you are writing, and it’s not yet hitting the timeout.

This fails the first test you run regardless of whether or not it was actually successful.

How do you actually fully stop all tests?

Alternatively how do you start a test in such a way that it stops previous tests that were left unfinished?

As a work-around I can run a sacrificial empty test that just calls FinishTest as soon as it starts, but that will still show up as a failed test in the case of an unclosed test, which is kind of annoying, and it’s inconvenient when you just want to run a single test.

1 Like

What was the answer to this? :stuck_out_tongue:

I’m still using the work-around of an empty “clean up” test, before other tests.

When your test part is finished, you have to explicitly call the function “Finish Test”, otherwise the automatic system would assume the test is still running.

Marvin, the entire question is about how to deal with the situation where it never manages to reach FinishTest because of something like a crash.