1aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffinpackage org.junit.runners.model; 2aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin 3aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffinimport java.util.concurrent.TimeUnit; 4aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin 5aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin/** 6aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin * Exception thrown when a test fails on timeout. 7aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin * 8aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin * @since 4.12 9aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin * 10aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin */ 11aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffinpublic class TestTimedOutException extends Exception { 12aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin 13aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin private static final long serialVersionUID = 31935685163547539L; 14aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin 15aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin private final TimeUnit timeUnit; 16aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin private final long timeout; 17aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin 18aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin /** 19aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin * Creates exception with a standard message "test timed out after [timeout] [timeUnit]" 20aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin * 21aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin * @param timeout the amount of time passed before the test was interrupted 22aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin * @param timeUnit the time unit for the timeout value 23aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin */ 24aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin public TestTimedOutException(long timeout, TimeUnit timeUnit) { 25aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin super(String.format("test timed out after %d %s", 26aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin timeout, timeUnit.name().toLowerCase())); 27aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin this.timeUnit = timeUnit; 28aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin this.timeout = timeout; 29aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin } 30aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin 31aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin /** 32aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin * Gets the time passed before the test was interrupted 33aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin */ 34aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin public long getTimeout() { 35aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin return timeout; 36aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin } 37aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin 38aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin /** 39aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin * Gets the time unit for the timeout value 40aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin */ 41aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin public TimeUnit getTimeUnit() { 42aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin return timeUnit; 43aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin } 44aeb93fc33cae3aadbb9b46083350ad2dc9aea645Paul Duffin} 45