Added test on redirecting stdout to a file.
authorCyrille Artho <artho@kth.se>
Thu, 20 Dec 2018 14:00:30 +0000 (15:00 +0100)
committerCyrille Artho <artho@kth.se>
Thu, 20 Dec 2018 14:00:30 +0000 (15:00 +0100)
modified:   src/tests/gov/nasa/jpf/test/java/io/FileIOTest.java

src/tests/gov/nasa/jpf/test/java/io/FileIOTest.java

index c36b60331bfdedb644bf1446d288de143943d8c2..21a7fec7174456b427613f5bdda45a8357f70129 100644 (file)
@@ -20,6 +20,7 @@ package gov.nasa.jpf.test.java.io;
 
 import gov.nasa.jpf.util.test.TestJPF;
 
 
 import gov.nasa.jpf.util.test.TestJPF;
 
+import java.io.BufferedOutputStream;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
@@ -28,6 +29,7 @@ import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.OutputStreamWriter;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.OutputStreamWriter;
+import java.io.PrintStream;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Random;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Random;
@@ -116,6 +118,20 @@ public class FileIOTest extends TestJPF {
     }
   }
 
     }
   }
 
+  @Test
+  public void testRedirection() throws IOException {
+    if (verifyNoPropertyViolation()) {
+        System.out.println("Before.");
+        FileOutputStream out = new FileOutputStream("output.txt");
+        System.setOut(new PrintStream(new BufferedOutputStream(out), true));
+        System.out.println("After.");
+        out.close();
+        FileInputStream is = new FileInputStream(new File("output.txt"));
+        assert (is.read() == (int)'A');
+        is.close();
+    }
+  }
+
   private boolean isInCurrentDirList(String fn) {
     for (String s : new File(".").list()) {
       if (fn.equals(s)) {
   private boolean isInCurrentDirList(String fn) {
     for (String s : new File(".").list()) {
       if (fn.equals(s)) {