Skip to content

Commit 5361d38

Browse files
committed
Fix libExt path tests on Windows
1 parent 57769d8 commit 5361d38

File tree

1 file changed

+31
-18
lines changed

1 file changed

+31
-18
lines changed

src/test/java/org/scijava/java3d/Java3DServiceTest.java

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,13 @@
3131
package org.scijava.java3d;
3232

3333
import static org.junit.Assert.assertEquals;
34+
import static org.junit.Assert.assertTrue;
3435

3536
import java.io.File;
3637
import java.io.IOException;
3738
import java.util.HashSet;
39+
import java.util.Set;
40+
import java.util.stream.Collectors;
3841

3942
import org.junit.After;
4043
import org.junit.Before;
@@ -65,60 +68,70 @@ public void setUp() throws IOException {
6568

6669
@After
6770
public void tearDown() {
71+
context.dispose();
6872
FileUtils.deleteRecursively(tmp1);
6973
FileUtils.deleteRecursively(tmp2);
7074
}
7175

7276
@Test
7377
public void testGetLibExtLocations() throws IOException {
74-
final HashSet<File> expected = new HashSet<File>();
78+
final HashSet<String> expected = new HashSet<>();
7579

7680
System.setProperty("java.ext.dirs", tmp1.getAbsolutePath() + ":" +
7781
tmp2.getAbsolutePath());
7882

79-
final File j3dcore1 = createFile(tmp1, "j3dcore.jar");
83+
final String j3dcore1 = createFile(tmp1, "j3dcore.jar");
8084
expected.add(j3dcore1);
81-
assertEquals(expected, libExtFiles());
85+
assertEquals(expected, libExtPaths());
8286

83-
final File j3dcore2 = createFile(tmp2, "j3dcore.jar");
87+
final String j3dcore2 = createFile(tmp2, "j3dcore.jar");
8488
expected.add(j3dcore2);
85-
assertEquals(expected, libExtFiles());
89+
assertEquals(expected, libExtPaths());
8690

87-
final File j3dutils = createFile(tmp2, "j3dutils.jar");
91+
final String j3dutils = createFile(tmp2, "j3dutils.jar");
8892
expected.add(j3dutils);
89-
final File jogl = createFile(tmp1, "jogl-2.2.0.jar");
93+
final String jogl = createFile(tmp1, "jogl-2.2.0.jar");
9094
expected.add(jogl);
91-
assertEquals(expected, libExtFiles());
95+
assertEquals(expected, libExtPaths());
9296

93-
final File vecmath = createFile(tmp1, "vecmath.jar");
97+
final String vecmath = createFile(tmp1, "vecmath.jar");
9498
createFile(tmp2, "red-herring");
9599
expected.add(vecmath);
96-
assertEquals(expected, libExtFiles());
100+
assertEquals(expected, libExtPaths());
97101

98102
System.setProperty("java.ext.dirs", tmp1.getAbsolutePath());
99103
expected.remove(j3dcore2);
100104
expected.remove(j3dutils);
101-
assertEquals(expected, libExtFiles());
105+
assertEquals(expected, libExtPaths());
102106

103107
System.setProperty("java.ext.dirs", "");
104108
expected.clear();
105-
assertEquals(expected, libExtFiles());
109+
assertEquals(expected, libExtPaths());
106110

107111
System.clearProperty("java.ext.dirs");
108-
assertEquals(expected, libExtFiles());
112+
assertEquals(expected, libExtPaths());
109113
}
110114

111115
// -- Helper methods --
112116

113-
private File createFile(final File dir, final String name) throws IOException
117+
private String createFile(final File dir, final String name) throws IOException
114118
{
115119
final File file = new File(dir, name);
116-
file.createNewFile();
117-
return file;
120+
assertTrue(file.createNewFile());
121+
return truePath(file);
118122
}
119123

120-
private HashSet<File> libExtFiles() {
121-
return new HashSet<File>(j3d.getLibExtLocations());
124+
private Set<String> libExtPaths() {
125+
return j3d.getLibExtLocations().stream()
126+
.map(f -> truePath(f))
127+
.collect(Collectors.toSet());
122128
}
123129

130+
private static String truePath(File f) {
131+
try {
132+
return f.getCanonicalPath();
133+
} catch (IOException e) {
134+
throw new RuntimeException(e);
135+
}
136+
}
124137
}

0 commit comments

Comments
 (0)