An in-mesh test that times out is now cancelled, and a test that ignores that is named

In-mesh test suites run their cases one after another against the live mesh, each under a time limit. Until now, a case that ran past its limit was reported as failed, and the runner went on to the next case, but nothing told the case to stop: whatever it was waiting on kept running in the same portal process, competing with every case that followed and with the mesh itself.

This is the same defect the xunit analyzer warns about with xUnit1069 on the compiled test suites: a timeout that fires while the work it started keeps running. Moving a test in-mesh used to remove the warning without removing the defect.

What changed

The runner cannot stop what a case started without the case's cooperation. What it can do is refuse to let that go unnoticed, which is what the verdict now does.

Reconnecting…
The connection to the server was interrupted. Trying to restore it…
Trying again…
The connection could not be restored. Reloading the page…
The server was updated. Reloading the page to pick up the latest version.