HarnessObserver.startingTestRun is called after the Harness starts reading tests. It's actually called quite late in Harness.runTests. This makes it difficult to do some setup operations in startingTestRun. It should be called earlier, for example, round about the time of this call.
workDir.log(i18n, "harness.starting");
workDir.log(i18n, "harness.starting");