package org.infinispan.commons.test; import java.util.concurrent.atomic.AtomicInteger; import org.jboss.logging.Logger; /** * Helper class for test listeners. * * @author Dan Berindei * @since 9.0 */ public class TestSuiteProgress { private static final Logger log = Logger.getLogger(TestSuiteProgress.class); private static AtomicInteger failed = new AtomicInteger(0); private static AtomicInteger succeeded = new AtomicInteger(0); private static AtomicInteger skipped = new AtomicInteger(0); static void testStarted(String name) { String message = "Test starting: " + name; consoleLog(message); log.info(message); } static void testFinished(String name) { String message = "Test succeeded: " + name; consoleLog(message); log.info(message); succeeded.incrementAndGet(); printStatus(); } static void testFailed(String name, Throwable exception) { String message = "Test failed: " + name; consoleLog(message); log.error(message, exception); failed.incrementAndGet(); printStatus(); } static void testIgnored(String name) { String message = "Test ignored: " + name; consoleLog(message); log.info(message); skipped.incrementAndGet(); printStatus(); } static void testAssumptionFailed(String name, Throwable exception) { String message = "Test assumption failed: " + name; consoleLog(message); log.info(message, exception); skipped.incrementAndGet(); printStatus(); } static void setupFailed(String name, Throwable exception) { String message = "Test setup failed: " + name; consoleLog(message); log.error(message, exception); failed.incrementAndGet(); printStatus(); } private static void printStatus() { String message = "Tests succeeded: " + succeeded.get() + ", failed: " + failed.get() + ", skipped: " + skipped.get(); consoleLog(message); } private static void consoleLog(String message) { System.out.println("[" + TestSuiteProgress.class.getSimpleName() + "] " + message); } }