--- old/test/jdk/tools/jpackage/helpers/JPackagePath.java 2019-11-18 20:26:40.243319700 -0500 +++ new/test/jdk/tools/jpackage/helpers/JPackagePath.java 2019-11-18 20:26:38.814795100 -0500 @@ -22,22 +22,14 @@ */ import java.io.File; +import java.nio.file.Path; /** - * Helper class which contains functions to get different system dependent paths used by tests + * Helper class which contains functions to get different system + * dependent paths used by tests */ public class JPackagePath { - // Path to Windows "Program Files" folder - // Probably better to figure this out programattically - private static final String WIN_PROGRAM_FILES = "C:\\Program Files"; - - // Path to Windows Start menu items - private static final String WIN_START_MENU = "C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs"; - - // Path to Windows public desktop location - private static final String WIN_PUBLIC_DESKTOP = "C:\\Users\\Public\\Desktop"; - // Return path to test src adjusted to location of caller public static String getTestSrcRoot() { return JPackageHelper.TEST_SRC_ROOT; @@ -50,70 +42,44 @@ // Returns path to generate test application public static String getApp() { - if (JPackageHelper.isWindows()) { - return "output" + File.separator + "test" + File.separator + "test.exe"; - } else if (JPackageHelper.isOSX()) { - return "output" + File.separator + "test.app" + File.separator + "Contents" - + File.separator + "MacOS" + File.separator + "test"; - } else if (JPackageHelper.isLinux()) { - return "output" + File.separator + "test" + File.separator + "test"; - } else { - throw new AssertionError("Cannot detect platform"); - } + return getApp("test"); + } + + public static String getApp(String name) { + return getAppSL(name, name); } // Returns path to generate test application icon public static String getAppIcon() { - if (JPackageHelper.isWindows()) { - return "output" + File.separator + "test" + File.separator + "test.ico"; - } else if (JPackageHelper.isOSX()) { - return "output" + File.separator + "test.app" + File.separator + "Contents" - + File.separator + "Resources" + File.separator + "test.icns"; - } else if (JPackageHelper.isLinux()) { - return "output" + File.separator + "test" + File.separator - + File.separator + "resources"+ File.separator + "test.png"; - } else { - throw new AssertionError("Cannot detect platform"); - } + return getAppIcon("test"); } - // Returns path to generate test application without --name argument - public static String getAppNoName() { + public static String getAppIcon(String name) { if (JPackageHelper.isWindows()) { - return "output" + File.separator + "Hello" + File.separator + "Hello.exe"; + return Path.of("output", name, name + ".ico").toString(); } else if (JPackageHelper.isOSX()) { - return "output" + File.separator + "Hello.app" + File.separator + "Contents" - + File.separator + "MacOS" + File.separator + "Hello"; + return Path.of("output", name + ".app", + "Contents", "Resources", name + ".icns").toString(); } else if (JPackageHelper.isLinux()) { - return "output" + File.separator + "Hello" + File.separator + "Hello"; + return Path.of("output", name, "lib", name + ".png").toString(); } else { throw new AssertionError("Cannot detect platform"); } } - // Returns path to generate secondary launcher of test application - public static String getAppSL() { - if (JPackageHelper.isWindows()) { - return "output" + File.separator + "test" + File.separator + "test2.exe"; - } else if (JPackageHelper.isOSX()) { - return "output" + File.separator + "test.app" + File.separator + "Contents" - + File.separator + "MacOS" + File.separator + "test2"; - } else if (JPackageHelper.isLinux()) { - return "output" + File.separator + "test" + File.separator + "test2"; - } else { - throw new AssertionError("Cannot detect platform"); - } + // Returns path to generate secondary launcher of given application + public static String getAppSL(String sl) { + return getAppSL("test", sl); } - // Returns path to app working directory (where test application generates its output) - public static String getAppWorkingDir() { - if (JPackageHelper.isWindows()) { - return "output" + File.separator + "test" + File.separator + "app"; + public static String getAppSL(String app, String sl) { + if (JPackageHelper.isWindows()) { + return Path.of("output", app, sl + ".exe").toString(); } else if (JPackageHelper.isOSX()) { - return "output" + File.separator + "test.app" + File.separator + "Contents" - + File.separator + "Java"; + return Path.of("output", app + ".app", + "Contents", "MacOS", sl).toString(); } else if (JPackageHelper.isLinux()) { - return "output" + File.separator + "test" + File.separator + "app"; + return Path.of("output", app, "bin", sl).toString(); } else { throw new AssertionError("Cannot detect platform"); } @@ -121,29 +87,17 @@ // Returns path to test application cfg file public static String getAppCfg() { - if (JPackageHelper.isWindows()) { - return "output" + File.separator + "test" + File.separator + "app" + File.separator - + "test.cfg"; - } else if (JPackageHelper.isOSX()) { - return "output" + File.separator + "test.app" + File.separator + "Contents" - + File.separator + "Java" + File.separator + "test.cfg"; - } else if (JPackageHelper.isLinux()) { - return "output" + File.separator + "test" + File.separator + "app" + File.separator - + "test.cfg"; - } else { - throw new AssertionError("Cannot detect platform"); - } + return getAppCfg("test"); } - // Returns path to app working directory without --name (where test application generates its output) - public static String getAppWorkingDirNoName() { + public static String getAppCfg(String name) { if (JPackageHelper.isWindows()) { - return "output" + File.separator + "Hello" + File.separator + "app"; + return Path.of("output", name, "app", name + ".cfg").toString(); } else if (JPackageHelper.isOSX()) { - return "output" + File.separator + "Hello.app" + File.separator + "Contents" - + File.separator + "Java"; + return Path.of("output", name + ".app", + "Contents", "app", name + ".cfg").toString(); } else if (JPackageHelper.isLinux()) { - return "output" + File.separator + "Hello" + File.separator + "app"; + return Path.of("output", name, "lib", "app", name + ".cfg").toString(); } else { throw new AssertionError("Cannot detect platform"); } @@ -151,22 +105,14 @@ // Returns path including executable to java in image runtime folder public static String getRuntimeJava() { + return getRuntimeJava("test"); + } + + public static String getRuntimeJava(String name) { if (JPackageHelper.isWindows()) { - return "output" + File.separator + "test" - + File.separator + "runtime" + File.separator - + "bin" + File.separator + "java.exe"; - } else if (JPackageHelper.isOSX()) { - return "output" + File.separator + "test.app" + File.separator - + "Contents" + File.separator - + "runtime" + File.separator + "Contents" + File.separator - + "Home" + File.separator + "bin" + File.separator + "java"; - } else if (JPackageHelper.isLinux()) { - return "output" + File.separator + "test" - + File.separator + "runtime" + File.separator - + "bin" + File.separator + "java"; - } else { - throw new AssertionError("Cannot detect platform"); + return Path.of(getRuntimeBin(name), "java.exe").toString(); } + return Path.of(getRuntimeBin(name), "java").toString(); } // Returns output file name generate by test application @@ -176,117 +122,46 @@ // Returns path to bin folder in image runtime public static String getRuntimeBin() { + return getRuntimeBin("test"); + } + + public static String getRuntimeBin(String name) { if (JPackageHelper.isWindows()) { - return "output" + File.separator + "test" - + File.separator + "runtime" + File.separator + "bin"; + return Path.of("output", name, "runtime", "bin").toString(); } else if (JPackageHelper.isOSX()) { - return "output" + File.separator + "test.app" - + File.separator + "Contents" - + File.separator + "runtime" - + File.separator + "Contents" - + File.separator + "Home" + File.separator + "bin"; + return Path.of("output", name + ".app", + "Contents", "runtime", + "Contents", "Home", "bin").toString(); } else if (JPackageHelper.isLinux()) { - return "output" + File.separator + "test" - + File.separator + "runtime" + File.separator + "bin"; + return Path.of("output", name, "lib", "runtime", "bin").toString(); } else { throw new AssertionError("Cannot detect platform"); } } - public static String getWinProgramFiles() { - return WIN_PROGRAM_FILES; - } - - public static String getWinUserLocal() { - return System.getProperty("user.home") + File.separator + "AppData" - + File.separator + "Local"; - } - - public static String getWinStartMenu() { - return WIN_START_MENU; - } - - public static String getWinPublicDesktop() { - return WIN_PUBLIC_DESKTOP; - } - - public static String getWinUserLocalStartMenu() { - return System.getProperty("user.home") + File.separator + "AppData" - + File.separator + "Roaming" + File.separator + "Microsoft" - + File.separator + "Windows" + File.separator + "Start Menu" - + File.separator + "Programs"; - - } - - public static String getWinInstalledApp(String testName) { - return getWinProgramFiles() + File.separator + testName + File.separator - + testName + ".exe"; - } - - public static String getWinInstalledApp(String installDir, String testName) { - return getWinProgramFiles() + File.separator + installDir + File.separator - + testName + ".exe"; - } - public static String getOSXInstalledApp(String testName) { - return File.separator + "Applications" + File.separator + testName - + ".app" + File.separator + "Contents" + File.separator - + "MacOS" + File.separator + testName; - } - - public static String getLinuxInstalledApp(String testName) { - return File.separator + "opt" + File.separator + testName + - File.separator + testName; + return File.separator + "Applications" + + File.separator + testName + ".app" + + File.separator + "Contents" + + File.separator + "MacOS" + + File.separator + testName; } public static String getOSXInstalledApp(String subDir, String testName) { - return File.separator + "Applications" + File.separator + subDir - + File.separator + testName + ".app" + File.separator - + "Contents" + File.separator + "MacOS" + File.separator - + testName; - } - - public static String getLinuxInstalledApp(String subDir, String testName) { - return File.separator + "opt" + File.separator + subDir + File.separator - + testName + File.separator + testName; - } - - public static String getWinInstallFolder(String testName) { - return getWinProgramFiles() + File.separator + testName; - } - - public static String getLinuxInstallFolder(String testName) { - return File.separator + "opt" + File.separator + testName; - } - - public static String getLinuxInstallFolder(String subDir, String testName) { - if (testName == null) { - return File.separator + "opt" + File.separator + subDir; - } else { - return File.separator + "opt" + File.separator + subDir - + File.separator + testName; - } - } - - public static String getWinUserLocalInstalledApp(String testName) { - return getWinUserLocal() + File.separator + testName + File.separator + testName + ".exe"; - } - - public static String getWinUserLocalInstallFolder(String testName) { - return getWinUserLocal() + File.separator + testName; + return File.separator + "Applications" + + File.separator + subDir + + File.separator + testName + ".app" + + File.separator + "Contents" + + File.separator + "MacOS" + + File.separator + testName; } // Returs path to test license file public static String getLicenseFilePath() { - String path = JPackagePath.getTestSrcRoot() + File.separator + "resources" + String path = JPackagePath.getTestSrcRoot() + + File.separator + "resources" + File.separator + "license.txt"; return path; } - - // Returns path to app folder of installed application - public static String getWinInstalledAppFolder(String testName) { - return getWinProgramFiles() + File.separator + testName + File.separator - + "app"; - } }