void (@NotNull SMTestProxy.SMRootTestProxy testsRoot) { myTotalTestCount = 0; myStartedTestCount = 0; myFinishedTestCount = 0; myFailedTestCount = 0; myIgnoredTestCount = 0; myTestsRunning = true; myLastFailed = null; setLastSelected(null); myMentionedCategories.clear(); if (myEndTime != 0) { // no need to reset when running for the first time resetTreeAndConsoleOnSubsequentTestingStarted(); myEndTime = 0; } myTreeBuilder.updateFromRoot(); // Status line myStatusLine.setStatusColor(ColorProgressBar.GREEN); // Tests tree selectAndNotify(myTestsRootNode); myStartTime = System.currentTimeMillis(); boolean printTestingStartedTime = true; if (myProperties instanceof SMTRunnerConsoleProperties) { printTestingStartedTime = ((SMTRunnerConsoleProperties)myProperties).isPrintTestingStartedTime(); } if (printTestingStartedTime) { myTestsRootNode.addSystemOutput("Testing started at " + DateFormatUtil.formatTime(myStartTime) + " ...\n"); } // update status text updateStatusLabel(false); myStatusLine.setIndeterminate(isUndefined()); fireOnTestingStarted(); }