From 060bf4c3c66841237a5acafbbe211e360c9d920b Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Fri, 9 Apr 2021 14:05:00 +0700 Subject: [PATCH] Improve 2 tests do delete temporary files There were some problems in file handling: One file in was not deleted in case an exception was thrown during the test. Another case was a JarFile which was not closed before deletion, which might work on Linux, but not on Windows where the open file is still locked after usage. Signed-off-by: Alexander Kriegisch --- .../tools/ant/taskdefs/AjcTaskTest.java | 25 ++++++++++--------- tests/bugs/serialVersionUID/Util.java | 21 ++++++++++------ 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/taskdefs/src/test/java/org/aspectj/tools/ant/taskdefs/AjcTaskTest.java b/taskdefs/src/test/java/org/aspectj/tools/ant/taskdefs/AjcTaskTest.java index 8e9008fba..e6ae8876b 100644 --- a/taskdefs/src/test/java/org/aspectj/tools/ant/taskdefs/AjcTaskTest.java +++ b/taskdefs/src/test/java/org/aspectj/tools/ant/taskdefs/AjcTaskTest.java @@ -394,18 +394,19 @@ public class AjcTaskTest extends TestCase { checkRun(task, null); - JarFile jarFile = new JarFile(destJar); - String[] expected = {"copyMe.htm", "pack/includeme", - "pack/Pack.class", "Default.class"}; - String[] unexpected = {"doNotCopy", "skipTxtFiles.txt", "pack/something.txt"}; - for (String value : expected) { - JarEntry entry = jarFile.getJarEntry(value); - assertTrue(value + " not found", null != entry); - } - for (String s : unexpected) { - JarEntry entry = jarFile.getJarEntry(s); - assertTrue(s + " found", null == entry); - } + try (JarFile jarFile = new JarFile(destJar)) { + String[] expected = { "copyMe.htm", "pack/includeme", + "pack/Pack.class", "Default.class" }; + String[] unexpected = { "doNotCopy", "skipTxtFiles.txt", "pack/something.txt" }; + for (String value : expected) { + JarEntry entry = jarFile.getJarEntry(value); + assertTrue(value + " not found", null != entry); + } + for (String s : unexpected) { + JarEntry entry = jarFile.getJarEntry(s); + assertTrue(s + " found", null == entry); + } + } } public void testInpathDirCopyFilterError() { diff --git a/tests/bugs/serialVersionUID/Util.java b/tests/bugs/serialVersionUID/Util.java index 6d4dce279..d931ab13f 100644 --- a/tests/bugs/serialVersionUID/Util.java +++ b/tests/bugs/serialVersionUID/Util.java @@ -30,7 +30,7 @@ public class Util { Object obj; File file = new File(name); file.deleteOnExit(); - ObjectInputStream in = null; + ObjectInputStream in = null; try { in = new ObjectInputStream(new FileInputStream(file)); @@ -38,14 +38,15 @@ public class Util { System.out.println("? Util.read() obj=" + obj); } finally { - in.close(); + if (in != null) + in.close(); } - + return obj; } public static void write (String name, Object obj) throws IOException { - + File file = new File(name); // File file = File.createTempFile(name,null); ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file)); @@ -54,18 +55,22 @@ public class Util { System.out.println("? Util.write() suid=" + ObjectStreamClass.lookup(obj.getClass())); } - + public static void main (String[] args) throws Exception { String command = (args.length > 0)? args[0] : DEFAULT_COMMAND; String name = (args.length > 1)? args[1] : DEFAULT_NAME; if (command.equals("-read")) { - Object obj = read(name); - new File(name).delete(); + try { + read(name); + } + finally { + new File(name).delete(); + } } else if (command.equals("-fail")) { fail(name); - } + } // if (args.length > 0) { // } // else { -- 2.39.5