--- old/jdk/test/tools/jlink/plugins/SystemModuleDescriptors/SystemModulesTest.java 2017-04-03 15:01:45.000000000 -0700 +++ new/jdk/test/tools/jlink/plugins/SystemModuleDescriptors/SystemModulesTest.java 2017-04-03 15:01:44.000000000 -0700 @@ -71,17 +71,23 @@ .forEach(this::checkAttributes); } - // JMOD files are created with osName and osArch that may be different - // than os.name and os.arch system property + // JMOD files are created with OS name and arch matching the bundle name private boolean checkOSName(String name) { - if (name.equals(OS_NAME)) - return true; - if (OS_NAME.startsWith("Windows")) { - return name.startsWith("Windows"); - } else { - System.err.println("ERROR: " + name + " but expected: " + OS_NAME); - return false; + return name.equals("windows"); + } + + switch (OS_NAME) { + case "Linux": + return name.equals("linux"); + case "SunOS": + return name.equals("solaris"); + case "Mac OS X": + return name.equals("macos"); + default: + // skip validation on unknown platform + System.out.println("Skip checking OS name in ModuleTarget: " + name); + return true; } } @@ -94,10 +100,13 @@ case "x86": return name.equals("x86"); case "amd64": - return name.equals("x86_64"); + case "i586": + case "x86_64": + return name.equals("amd64"); default: - System.err.println("ERROR: " + name + " but expected: " + OS_ARCH); - return false; + // skip validation on unknown platform + System.out.println("Skip checking OS arch in ModuleTarget: " + name); + return true; } }