Ensure that tailer is stopped even if test aborts
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/io/trunk@1090714 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/test/java/org/apache/commons/io/input/TailerTest.java b/src/test/java/org/apache/commons/io/input/TailerTest.java
index 7a4eee0..7755653 100644
--- a/src/test/java/org/apache/commons/io/input/TailerTest.java
+++ b/src/test/java/org/apache/commons/io/input/TailerTest.java
@@ -37,12 +37,18 @@
*/
public class TailerTest extends FileBasedTestCase {
+ private Tailer tailer;
+
public TailerTest(String name) {
super(name);
}
@Override
protected void tearDown() throws Exception {
+ if (tailer != null) {
+ tailer.stop();
+ Thread.sleep(100);
+ }
FileUtils.deleteDirectory(getTestDirectory());
}
@@ -53,7 +59,7 @@
final File file = new File(getTestDirectory(), "tailer1-test.txt");
createFile(file, 0);
final TestTailerListener listener = new TestTailerListener();
- final Tailer tailer = new Tailer(file, listener, delay, false);
+ tailer = new Tailer(file, listener, delay, false);
final Thread thread = new Thread(tailer);
thread.start();
@@ -96,6 +102,7 @@
// Stop
tailer.stop();
+ tailer=null;
thread.interrupt();
Thread.sleep(delay * 2);
write(file, "Line five");
@@ -150,9 +157,10 @@
final TestTailerListener listener = new TestTailerListener();
int delay = 100;
int idle = 50; // allow time for thread to work
- final Tailer tailer = Tailer.create(file, listener, delay, false);
+ tailer = Tailer.create(file, listener, delay, false);
Thread.sleep(idle);
tailer.stop();
+ tailer=null;
Thread.sleep(delay+idle);
assertNull("Should not generate Exception", listener.exception);
assertEquals("Expected init to be called", 1 , listener.initialised);
@@ -166,11 +174,12 @@
TestTailerListener listener = new TestTailerListener();
int delay = 100;
int idle = 50; // allow time for thread to work
- Tailer tailer = new Tailer(file, listener, delay, false);
+ tailer = new Tailer(file, listener, delay, false);
Executor exec = new ScheduledThreadPoolExecutor(1);
exec.execute(tailer);
Thread.sleep(idle);
tailer.stop();
+ tailer=null;
Thread.sleep(delay+idle);
assertNull("Should not generate Exception", listener.exception);
assertEquals("Expected init to be called", 1 , listener.initialised);