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