This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch 1.x
in repository https://gitbox.apache.org/repos/asf/commons-fileupload.git

commit 542e442d7dfce8bf7773451ad3757042b74d279d
Author: Gary Gregory <[email protected]>
AuthorDate: Sat Mar 21 15:17:18 2026 -0700

    Test should clean up after itself better.
---
 .../org/apache/commons/fileupload/DiskFileUploadTest.java     | 11 ++++++-----
 .../java/org/apache/commons/fileupload/FileUploadTest.java    |  9 +++++++++
 src/test/java/org/apache/commons/fileupload/SizesTest.java    |  3 +++
 .../java/org/apache/commons/fileupload/StreamingTest.java     |  4 ++++
 src/test/java/org/apache/commons/fileupload/Util.java         |  9 +++++++++
 .../commons/fileupload/servlet/ServletFileUploadTest.java     |  3 +++
 6 files changed, 34 insertions(+), 5 deletions(-)

diff --git 
a/src/test/java/org/apache/commons/fileupload/DiskFileUploadTest.java 
b/src/test/java/org/apache/commons/fileupload/DiskFileUploadTest.java
index 17c1638f..e6765a5a 100644
--- a/src/test/java/org/apache/commons/fileupload/DiskFileUploadTest.java
+++ b/src/test/java/org/apache/commons/fileupload/DiskFileUploadTest.java
@@ -57,14 +57,15 @@ public class DiskFileUploadTest {
                 "This is the content of the file\n" +
                 "\r\n" +
                 "-----1234--\r\n";
-       final byte[] contentBytes = content.getBytes("US-ASCII");
+         final byte[] contentBytes = content.getBytes("US-ASCII");
         final HttpServletRequest request = new 
MockHttpServletRequest(contentBytes, Constants.CONTENT_TYPE);
-        final List<FileItem> items = myUpload.parseRequest(request);
-        assertNotNull(items);
-        assertFalse(items.isEmpty());
-        final DiskFileItem dfi = (DiskFileItem) items.get(0);
+        final List<FileItem> fileItems = myUpload.parseRequest(request);
+        assertNotNull(fileItems);
+        assertFalse(fileItems.isEmpty());
+        final DiskFileItem dfi = (DiskFileItem) fileItems.get(0);
         final File out = File.createTempFile("install", ".tmp");
         dfi.write(out);
+        Util.deleteFileItems(fileItems);
     }
 
     @Test
diff --git a/src/test/java/org/apache/commons/fileupload/FileUploadTest.java 
b/src/test/java/org/apache/commons/fileupload/FileUploadTest.java
index 803eb424..5d8ee684 100644
--- a/src/test/java/org/apache/commons/fileupload/FileUploadTest.java
+++ b/src/test/java/org/apache/commons/fileupload/FileUploadTest.java
@@ -105,6 +105,7 @@ public class FileUploadTest {
         assertEquals("... contents of file1.txt ...", file.getString());
         assertEquals("text/plain", file.getContentType());
         assertEquals("file1.txt", file.getName());
+        Util.deleteFileItems(fileItems);
     }
 
     /**
@@ -126,6 +127,7 @@ public class FileUploadTest {
         assertFalse(file.isFormField());
         assertEquals("", file.getString());
         assertEquals("", file.getName());
+        Util.deleteFileItems(fileItems);
     }
 
     @ParameterizedTest
@@ -145,6 +147,7 @@ public class FileUploadTest {
         final FileItem file = fileItems.get(0);
         assertEquals("FiLe", file.getFieldName());
         assertEquals("FOO.tab", file.getName());
+        Util.deleteFileItems(fileItems);
     }
 
     @ParameterizedTest
@@ -194,6 +197,7 @@ public class FileUploadTest {
         assertEquals("multi", multi1.getFieldName());
         assertTrue(multi1.isFormField());
         assertEquals("value2", multi1.getString());
+        Util.deleteFileItems(fileItems);
     }
 
     /**
@@ -248,6 +252,7 @@ public class FileUploadTest {
 
         final FileItem multi1 = fileItems.get(3);
         assertHeaders(headerNames, headerValues, multi1, 3);
+        Util.deleteFileItems(fileItems);
     }
 
     /**
@@ -292,6 +297,7 @@ public class FileUploadTest {
         assertEquals("pics", item2.getFieldName());
         assertEquals("file2.gif", item2.getName());
         assertEquals("...contents of file2.gif...", new String(item2.get()));
+        Util.deleteFileItems(fileItems);
     }
 
     /**
@@ -344,6 +350,7 @@ public class FileUploadTest {
         assertEquals("multi", multi1.getFieldName());
         assertTrue(multi1.isFormField());
         assertEquals("value2", multi1.getString());
+        Util.deleteFileItems(fileItems);
     }
 
     /**
@@ -394,6 +401,7 @@ public class FileUploadTest {
         assertEquals("field2", field2.getFieldName());
         assertTrue(field2.isFormField());
         assertEquals("fieldValue2", field2.getString());
+        Util.deleteFileItems(fileItems);
     }
 
     /**
@@ -474,6 +482,7 @@ public class FileUploadTest {
         assertEquals("some text/plain content", part2.getString());
         assertEquals("text/plain", part2.getContentType());
         assertNull(part2.getName());
+        Util.deleteFileItems(fileItems);
     }
 
 
diff --git a/src/test/java/org/apache/commons/fileupload/SizesTest.java 
b/src/test/java/org/apache/commons/fileupload/SizesTest.java
index 875fe1da..6ec35564 100644
--- a/src/test/java/org/apache/commons/fileupload/SizesTest.java
+++ b/src/test/java/org/apache/commons/fileupload/SizesTest.java
@@ -78,6 +78,7 @@ public class SizesTest {
         } catch (final FileUploadBase.FileSizeLimitExceededException e) {
             assertEquals(30, e.getPermittedSize());
         }
+        Util.deleteFileItems(fileItems);
     }
 
     /** Checks, whether a faked Content-Length header is detected.
@@ -133,6 +134,7 @@ public class SizesTest {
         } catch (final FileUploadBase.FileSizeLimitExceededException e) {
             assertEquals(15, e.getPermittedSize());
         }
+        Util.deleteFileItems(fileItems);
     }
 
     /**
@@ -177,6 +179,7 @@ public class SizesTest {
             }
         }
         assertTrue(!fileIter.hasNext());
+        Util.deleteFileItems(fileItems);
     }
 
     /** Checks, whether the maxSize works.
diff --git a/src/test/java/org/apache/commons/fileupload/StreamingTest.java 
b/src/test/java/org/apache/commons/fileupload/StreamingTest.java
index e260abaa..4cce0e4d 100644
--- a/src/test/java/org/apache/commons/fileupload/StreamingTest.java
+++ b/src/test/java/org/apache/commons/fileupload/StreamingTest.java
@@ -142,6 +142,7 @@ public class StreamingTest {
             }
         }
         assertTrue(!fileIter.hasNext());
+        Util.deleteFileItems(fileItems);
     }
 
     /**
@@ -163,7 +164,9 @@ public class StreamingTest {
             assertEquals((byte) '2', bytes[1]);
             assertEquals((byte) '3', bytes[2]);
             assertTrue(!fileIter.hasNext());
+            Util.deleteFileItems(fileItems);
         }
+        
     }
 
     /**
@@ -219,6 +222,7 @@ public class StreamingTest {
         assertEquals(fileName, e.getName());
         assertTrue(e.getMessage().indexOf(fileName) == -1);
         assertTrue(e.getMessage().indexOf("foo.exe\\0.png") != -1);
+        Util.deleteFileItems(fileItems);
     }
 
     /**
diff --git a/src/test/java/org/apache/commons/fileupload/Util.java 
b/src/test/java/org/apache/commons/fileupload/Util.java
index e793ea1a..7181256e 100644
--- a/src/test/java/org/apache/commons/fileupload/Util.java
+++ b/src/test/java/org/apache/commons/fileupload/Util.java
@@ -19,6 +19,7 @@ package org.apache.commons.fileupload;
 import java.io.UnsupportedEncodingException;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -34,6 +35,14 @@ import 
org.apache.commons.fileupload.servlet.ServletRequestContext;
  */
 public class Util {
 
+    public static void deleteFileItems(final List<FileItem> fileItems) {
+        fileItems.forEach(FileItem::delete);
+    }
+
+    public static void deleteFileItems(final Map<String, List<FileItem>> 
mappedParameters) {
+        
mappedParameters.values().stream().flatMap(List::stream).forEach(FileItem::delete);
+    }
+
     /**
      * Return a list of {@link FileUpload} implementations for parameterized 
tests.
      * @return a list of {@link FileUpload} implementations
diff --git 
a/src/test/java/org/apache/commons/fileupload/servlet/ServletFileUploadTest.java
 
b/src/test/java/org/apache/commons/fileupload/servlet/ServletFileUploadTest.java
index f4b4c7e4..8d8c77c3 100644
--- 
a/src/test/java/org/apache/commons/fileupload/servlet/ServletFileUploadTest.java
+++ 
b/src/test/java/org/apache/commons/fileupload/servlet/ServletFileUploadTest.java
@@ -27,6 +27,7 @@ import org.apache.commons.fileupload.Constants;
 import org.apache.commons.fileupload.FileItem;
 import org.apache.commons.fileupload.FileUploadTest;
 import org.apache.commons.fileupload.MockHttpServletRequest;
+import org.apache.commons.fileupload.Util;
 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
 import org.junit.jupiter.api.Test;
 
@@ -57,6 +58,7 @@ public class ServletFileUploadTest {
         final List<FileItem> fileItems = upload.parseRequest(request);
         final FileItem fileItem = fileItems.get(0);
         assertTrue(fileItem.getString().contains("co�te�t"), 
fileItem.getString());
+        Util.deleteFileItems(fileItems);
     }
 
 
@@ -98,5 +100,6 @@ public class ServletFileUploadTest {
 
         assertTrue(mappedParameters.containsKey("multi"));
         assertEquals(2, mappedParameters.get("multi").size());
+        Util.deleteFileItems(mappedParameters);
     }
 }

Reply via email to