srecord noeq G22SelfTests(G22Utils g22utils) { volatile bool started; volatile OKOrError result; run { set started; result = okOrError(l0 runImpl); print("Result of self tests: " + result); if (!result.isOK()) infoBox("Self-tests failed"); } void runImpl { G22LAScriptIDE.selfTest(g22utils); } S status() { ret !started ? "Not started" : result == null ? "Running" : result.isOK() ? "OK" : "Failed"; }