Repository: flume
Updated Branches:
  refs/heads/flume-1.6 02973a98a -> 312fbb2b1


FLUME-2486. TestExecSource fails on some environments

(Santiago M. Mola via Hari)


Project: http://git-wip-us.apache.org/repos/asf/flume/repo
Commit: http://git-wip-us.apache.org/repos/asf/flume/commit/312fbb2b
Tree: http://git-wip-us.apache.org/repos/asf/flume/tree/312fbb2b
Diff: http://git-wip-us.apache.org/repos/asf/flume/diff/312fbb2b

Branch: refs/heads/flume-1.6
Commit: 312fbb2b1f2ef81ceb8e3b8efe3cc16c5eb3ea99
Parents: 02973a9
Author: Hari Shreedharan <[email protected]>
Authored: Wed Oct 15 23:16:15 2014 -0700
Committer: Hari Shreedharan <[email protected]>
Committed: Wed Oct 15 23:17:21 2014 -0700

----------------------------------------------------------------------
 .../java/org/apache/flume/source/TestExecSource.java  | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flume/blob/312fbb2b/flume-ng-core/src/test/java/org/apache/flume/source/TestExecSource.java
----------------------------------------------------------------------
diff --git 
a/flume-ng-core/src/test/java/org/apache/flume/source/TestExecSource.java 
b/flume-ng-core/src/test/java/org/apache/flume/source/TestExecSource.java
index 289c2d2..afa93bf 100644
--- a/flume-ng-core/src/test/java/org/apache/flume/source/TestExecSource.java
+++ b/flume-ng-core/src/test/java/org/apache/flume/source/TestExecSource.java
@@ -338,28 +338,24 @@ public class TestExecSource {
       context.put("command", command);
       Configurables.configure(source, context);
       source.start();
-      File outputFile = File.createTempFile("flumeExecSourceTest_", "");
-      FileOutputStream outputStream = new FileOutputStream(outputFile);
-      if(SystemUtils.IS_OS_WINDOWS)
-           Thread.sleep(2500);
+      // Some commands might take longer to complete, specially on Windows
+      // or on slow environments (e.g. Travis CI).
+      Thread.sleep(2500);
       Transaction transaction = channel.getTransaction();
       transaction.begin();
       try {
+        List<String> output = Lists.newArrayList();
         Event event;
         while ((event = channel.take()) != null) {
-          outputStream.write(event.getBody());
-          outputStream.write('\n');
+          output.add(new String(event.getBody(), Charset.defaultCharset()));
         }
-        outputStream.close();
         transaction.commit();
-        List<String> output  = Files.readLines(outputFile, 
Charset.defaultCharset());
 //        System.out.println("command : " + command);
 //        System.out.println("output : ");
 //        for( String line : output )
 //          System.out.println(line);
         Assert.assertArrayEquals(expectedOutput, output.toArray(new 
String[]{}));
       } finally {
-        FileUtils.forceDelete(outputFile);
         transaction.close();
         source.stop();
       }

Reply via email to