1
0
Переглянути джерело

HADOOP-15114. Add closeStreams(...) to IOUtils (addendum).
Contributed by Ajay Kumar.

Steve Loughran 7 роки тому
батько
коміт
d689b2d99c

+ 9 - 12
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestIOUtils.java

@@ -299,13 +299,14 @@ public class TestIOUtils {
   }
 
   @Test
-  public void testCloseStreams() {
-    File tmpFile = new File("deleteMe.txt");
-    FileOutputStream fos = null;
-    BufferedOutputStream bos = null;
+  public void testCloseStreams() throws IOException {
+    File tmpFile = null;
+    FileOutputStream fos;
+    BufferedOutputStream bos;
     FileOutputStream nullStream = null;
 
     try {
+      tmpFile = new File(GenericTestUtils.getTestDir(), "testCloseStreams.txt");
       fos = new FileOutputStream(tmpFile) {
         @Override
         public void close() throws IOException {
@@ -315,19 +316,15 @@ public class TestIOUtils {
       bos = new BufferedOutputStream(
           new FileOutputStream(tmpFile)) {
         @Override
-        public void close() throws IOException {
+        public void close() {
           throw new NullPointerException();
         }
       };
-    } catch (IOException ioe) {
-      LOG.warn("Exception in TestIOUtils.testCloseStreams: ", ioe);
-    }
-    try {
+
       IOUtils.closeStreams(fos, bos, nullStream);
       IOUtils.closeStreams();
-    } catch (Exception ex) {
-      LOG.error("Expect IOUtils.closeStreams to close streams quietly.", ex);
-      throw ex;
+    } finally {
+      FileUtils.deleteQuietly(tmpFile);
     }
 
   }