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);