< prev index next >
test/jdk/internal/jimage/ExecutableTest.java
Print this page
rev 12468 : 8132704: [TESTBUG] jdk/internal/jimage/ExecutableTest.java incorrectly asserts all files to be executable
Reviewed-by: rriggs
*** 25,35 ****
--- 25,37 ----
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.PosixFilePermission;
import static java.nio.file.attribute.PosixFilePermission.*;
+ import java.util.Arrays;
import java.util.EnumSet;
+ import java.util.HashSet;
import java.util.Set;
/*
* @test
* @bug 8132475
*** 39,55 ****
--- 41,63 ----
* @author Volker Simonis
*/
public class ExecutableTest {
+ // The bin/ directory may contain non-executable files (see 8132704)
+ private static final String[] exclude = { "jmc.ini" };
+ private static final Set<String> excludeSet =
+ new HashSet<String>(Arrays.asList(exclude));
+
public static void main(String args[]) throws Throwable {
String JAVA_HOME = System.getProperty("java.home");
Path binPath = Paths.get(JAVA_HOME, "bin");
DirectoryStream<Path> stream = Files.newDirectoryStream(binPath);
EnumSet<PosixFilePermission> execPerms =
EnumSet.of(GROUP_EXECUTE, OTHERS_EXECUTE, OWNER_EXECUTE);
for (Path entry : stream) {
+ if (excludeSet.contains(entry.getFileName().toString())) continue;
if (Files.isRegularFile(entry)) {
if (!Files.isExecutable(entry)) {
throw new Error(entry + " is not executable!");
}
try {
< prev index next >