< 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 >