-
Bug
-
Resolution: Fixed
-
Major
-
Platform: All, OS: All
I have noticed that the HudsonTestCase sometimes does not do a proper clean up
of the temp folders. On Windows this happens every time because of a file in use
error. On Linux (debian) this sometimes happen if a test fails. As the temp
folder can contain up to 14mbs, the total size can grow quickly.
After 1 month of developing/testing my hudson test case folders consisted of
500+k files in 892 folders, amounting to 7+Gb. (Windows)
Maybe we can use the new TemporaryFolder rule that is available in JUnit 4.7, so
we can lift out stuff from our implementation? http://github.com/KentBeck/junit/raw/23ffc6baf5768057e366e183e53f4dfa86fbb005/do
c/ReleaseNotes4.7.txt
Steps to reproduce on linux:
1. Clean out all hudsonXXXX folders in the temp folder
2. Go to hudson/plugins/seleniuma
3. run "mvn test" and watch it fail
4. Check the temp folder
Expected result:
No new folder in the temp folder
Actual Result:
A folder named hudsonXXXXXXX has been created
Steps to reproduce:
1. Go to hudson/plugins/ci-game
2. run "mvn test"
3. Watch output
Expected result:
Test fails
Actual Result:
An exception is thrown during the test clean up:
java.io.IOException: Unable to delete
C:\DOCUME~1\name\LOCALS~1\Temp\hudson40664test\plugins\maven-plugin\WEB-INF\lib\
classworlds-1.1.jar
at hudson.Util.deleteFile(Util.java:225)
at hudson.Util.deleteRecursive(Util.java:257)
at hudson.Util.deleteContentsRecursive(Util.java:186)
at hudson.Util.deleteRecursive(Util.java:256)
at hudson.Util.deleteContentsRecursive(Util.java:186)
at hudson.Util.deleteRecursive(Util.java:256)
at hudson.Util.deleteContentsRecursive(Util.java:186)
at hudson.Util.deleteRecursive(Util.java:256)
at hudson.Util.deleteContentsRecursive(Util.java:186)
at hudson.Util.deleteRecursive(Util.java:256)
at hudson.Util.deleteContentsRecursive(Util.java:186)
at hudson.Util.deleteRecursive(Util.java:256)
at hudson.FilePath$9.invoke(FilePath.java:748)
at hudson.FilePath$9.invoke(FilePath.java:746)
at hudson.FilePath.act(FilePath.java:676)
at hudson.FilePath.act(FilePath.java:660)
at hudson.FilePath.deleteRecursive(FilePath.java:746)
at
org.jvnet.hudson.test.TemporaryDirectoryAllocator$1.run(TemporaryDirectoryAlloca
tor.java:90)
- is duplicated by
-
JENKINS-4249 HudsonTestCase leaves temporary directories
- Closed
- is related to
-
JENKINS-12328 Hudson test harness intermittently fails to delete temp directories
- Open
-
JENKINS-18643 Make tests run on Windows
- Resolved
- links to