mirror of
https://github.com/ethauvin/bld.git
synced 2025-04-26 08:37:11 -07:00
Cleaned up and improved tests
This commit is contained in:
parent
d69956cf91
commit
0ad964ea4d
10 changed files with 685 additions and 304 deletions
|
@ -8,8 +8,10 @@ package rife.bld.operations;
|
|||
import org.junit.jupiter.api.Test;
|
||||
import rife.bld.operations.exceptions.ExitStatusException;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class TestJlinkOperation {
|
||||
@Test
|
||||
|
@ -18,9 +20,67 @@ public class TestJlinkOperation {
|
|||
assertThrows(ExitStatusException.class, jlink::execute);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testDisablePlugin() {
|
||||
var jlink = new JlinkOperation()
|
||||
.disablePlugin("vm")
|
||||
.disablePlugin("system-modules")
|
||||
.listPlugins();
|
||||
assertDoesNotThrow(jlink::execute);
|
||||
|
||||
assertTrue(jlink.toolArgs().containsAll(List.of("vm", "system-modules")));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testOptions() {
|
||||
var args = new HashMap<String, String>();
|
||||
args.put("--add-modules", "module-1,module-2");
|
||||
args.put("--bind-services", null);
|
||||
args.put("--compress", "zip-6");
|
||||
args.put("--endian", "big");
|
||||
args.put("--ignore-signing-information", null);
|
||||
args.put("--launcher", "name=module/mainclass");
|
||||
args.put("--limit-modules", "module-1,module-2");
|
||||
args.put("--module-path", "module-path");
|
||||
args.put("--no-header-files", null);
|
||||
args.put("--no-man-pages", null);
|
||||
args.put("--output", "output");
|
||||
args.put("--save-opts", "save-opts");
|
||||
args.put("--strip-debug", null);
|
||||
args.put("--suggest-providers", "provider-1,provider-2");
|
||||
args.put("--verbose", null);
|
||||
|
||||
var options = new JlinkOptions()
|
||||
.addModules(args.get("--add-modules").split(","))
|
||||
.bindServices(true)
|
||||
.compress(ZipCompression.ZIP_6)
|
||||
.endian(JlinkOptions.Endian.BIG)
|
||||
.ignoreSigningInformation(true)
|
||||
.launcher("name", "module", "mainclass")
|
||||
.limitModule(args.get("--limit-modules").split(","))
|
||||
.modulePath(args.get("--module-path"))
|
||||
.noHeaderFiles(true)
|
||||
.noManPages(true)
|
||||
.output(args.get("--output"))
|
||||
.saveOpts(args.get("--save-opts"))
|
||||
.stripDebug(true)
|
||||
.suggestProviders(args.get("--suggest-providers").split(","))
|
||||
.verbose(true);
|
||||
|
||||
assertEquals(options.size(), args.size(), "Wrong number of arguments");
|
||||
|
||||
for (var arg : args.entrySet()) {
|
||||
assertTrue(options.containsKey(arg.getKey()), arg.getValue() + " not found");
|
||||
assertEquals(arg.getValue(), options.get(arg.getKey()), arg.getKey());
|
||||
}
|
||||
|
||||
options.launcher("name-2", "module-2");
|
||||
assertEquals("name-2=module-2", options.get("--launcher"), "incorrect launcher");
|
||||
}
|
||||
|
||||
@Test
|
||||
void testVersion() {
|
||||
var jlink = new JlinkOperation().toolArg("--version");
|
||||
var jlink = new JlinkOperation().addArgs("--version");
|
||||
assertDoesNotThrow(jlink::execute);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,8 +8,11 @@ package rife.bld.operations;
|
|||
import org.junit.jupiter.api.Test;
|
||||
import rife.bld.operations.exceptions.ExitStatusException;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.HashMap;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class TestJmodOperation {
|
||||
@Test
|
||||
|
@ -18,9 +21,67 @@ public class TestJmodOperation {
|
|||
assertThrows(ExitStatusException.class, jmod::execute);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testOptions() {
|
||||
var args = new HashMap<String, String>();
|
||||
args.put("--class-path", "classpath");
|
||||
args.put("--cmds", "cmds");
|
||||
args.put("--compress", "zip-5");
|
||||
args.put("--config", "config");
|
||||
args.put("--date", "1997-08-29T09:14:00Z");
|
||||
args.put("--dir", "dir");
|
||||
args.put("--do-not-resolve-by-default", null);
|
||||
args.put("--dry-run", null);
|
||||
args.put("--exclude", "glob:glob,regex:regex");
|
||||
args.put("--hash-modules", "regex");
|
||||
args.put("--header-files", "header-files");
|
||||
args.put("--legal-notices", "legal-notices");
|
||||
args.put("--libs", "libs");
|
||||
args.put("--main-class", "main-class");
|
||||
args.put("--man-pages", "man-pages");
|
||||
args.put("--module-path", "module-path");
|
||||
args.put("--module-version", "module-version");
|
||||
args.put("--target-platform", "target-platform");
|
||||
args.put("--warn-if-resolved", "deprecated");
|
||||
args.put("@filename", null);
|
||||
|
||||
var options = new JmodOptions()
|
||||
.classpath(args.get("--class-path"))
|
||||
.cmds(args.get("--cmds"))
|
||||
.compress(ZipCompression.ZIP_5)
|
||||
.config(args.get("--config"))
|
||||
.date(ZonedDateTime.of(1997, 8, 29, 2, 14, 0, 0, ZoneId.of("America/Los_Angeles")))
|
||||
.dir(args.get("--dir"))
|
||||
.doNotResolveByDefault(true)
|
||||
.dryRun(true)
|
||||
.exclude(new JmodOptions.FilePattern(JmodOptions.FilePatternType.GLOB, "glob"),
|
||||
new JmodOptions.FilePattern(JmodOptions.FilePatternType.REGEX, "regex"))
|
||||
.filename("filename")
|
||||
.hashModules(args.get("--hash-modules"))
|
||||
.headerFiles(args.get("--header-files"))
|
||||
.legalNotices(args.get("--legal-notices"))
|
||||
.libs(args.get("--libs"))
|
||||
.mainClass(args.get("--main-class"))
|
||||
.manPages(args.get("--man-pages"))
|
||||
.modulePath(args.get("--module-path"))
|
||||
.moduleVersion(args.get("--module-version"))
|
||||
.targetPlatform(args.get("--target-platform"))
|
||||
.warnIfResolved(JmodOptions.ResolvedReason.DEPRECATED);
|
||||
|
||||
assertEquals(options.size(), args.size(), "Wrong number of arguments");
|
||||
|
||||
for (var arg : args.entrySet()) {
|
||||
assertTrue(options.containsKey(arg.getKey()), arg.getValue() + " not found");
|
||||
assertEquals(arg.getValue(), options.get(arg.getKey()), arg.getKey());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void testVersion() {
|
||||
var jmod = new JmodOperation().operationMode(JmodOperation.OperationMode.DESCRIBE).toolArg("--version");
|
||||
var jmod = new JmodOperation()
|
||||
.operationMode(JmodOperation.OperationMode.DESCRIBE)
|
||||
.jmodFile("foo")
|
||||
.addArgs("--version");
|
||||
assertDoesNotThrow(jmod::execute);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ import rife.bld.operations.exceptions.ExitStatusException;
|
|||
import rife.tools.FileUtils;
|
||||
|
||||
import java.nio.file.Files;
|
||||
import java.util.HashMap;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
|
@ -18,6 +19,7 @@ public class TestJpackageOperation {
|
|||
void testCreatePackage() throws Exception {
|
||||
var tmpdir = Files.createTempDirectory("bld-jpackage-test").toFile();
|
||||
tmpdir.deleteOnExit();
|
||||
|
||||
var options = new JpackageOptions()
|
||||
.input("lib/bld")
|
||||
.name("bld")
|
||||
|
@ -49,9 +51,146 @@ public class TestJpackageOperation {
|
|||
assertThrows(ExitStatusException.class, jpackage::execute);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testOptions() {
|
||||
var args = new HashMap<String, String>();
|
||||
args.put("--about-url", "about-url");
|
||||
args.put("--add-launcher", "name=path");
|
||||
args.put("--add-modules", "modules-1,modules-2");
|
||||
args.put("--app-content", "content-1,content-2");
|
||||
args.put("--app-image", "app-image");
|
||||
args.put("--app-version", "app-version");
|
||||
args.put("--arguments", "argument1 argument2");
|
||||
args.put("--copyright", "copyright");
|
||||
args.put("--description", "description");
|
||||
args.put("--dest", "dest");
|
||||
args.put("--file-associations", "file-associations");
|
||||
args.put("--icon", "icon");
|
||||
args.put("--input", "input");
|
||||
args.put("--install-dir", "install-dir");
|
||||
args.put("--java-options", "java-options");
|
||||
args.put("--jlink-options", "--strip-debug --add-modules module-1,module-2");
|
||||
args.put("--launcher-as-service", null);
|
||||
args.put("--license-file", "license-file");
|
||||
args.put("--linux-app-category", "linux-app-category");
|
||||
args.put("--linux-app-release", "linux-app-release");
|
||||
args.put("--linux-deb-maintainer", "linux-deb-maintainer");
|
||||
args.put("--linux-menu-group", "linux-menu-group");
|
||||
args.put("--linux-package-deps", null);
|
||||
args.put("--linux-package-name", "linux-package-name");
|
||||
args.put("--linux-rpm-license-type", "linux-rpm-license-type");
|
||||
args.put("--linux-shortcut", null);
|
||||
args.put("--mac-app-category", "mac-app-category");
|
||||
args.put("--mac-app-image-sign-identity", "mac-app-image-sign-identity");
|
||||
args.put("--mac-app-store", null);
|
||||
args.put("--mac-dmg-content", "mac-dmg-content");
|
||||
args.put("--mac-entitlements", "mac-entitlements");
|
||||
args.put("--mac-installer-sign-identity", "mac-installer-sign-identity");
|
||||
args.put("--mac-package-identifier", "mac-package-identifier");
|
||||
args.put("--mac-package-name", "mac-package-name");
|
||||
args.put("--mac-package-signing-prefix", "mac-package-signing-prefix");
|
||||
args.put("--mac-sign", null);
|
||||
args.put("--mac-signing-key-user-name", "mac-signing-key-user-name");
|
||||
args.put("--mac-signing-keychain", "mac-signing-keychain");
|
||||
args.put("--main-class", "main-class");
|
||||
args.put("--main-jar", "main-jar");
|
||||
args.put("--module", "module");
|
||||
args.put("--module-path", "module-path-1,module-path-2");
|
||||
args.put("--name", "name");
|
||||
args.put("--resource-dir", "resource-dir");
|
||||
args.put("--runtime-image", "runtime-image");
|
||||
args.put("--strip-debug", null);
|
||||
args.put("--temp", "temp");
|
||||
args.put("--type", "exe");
|
||||
args.put("--vendor", "vendor");
|
||||
args.put("--verbose", null);
|
||||
args.put("--win-console", null);
|
||||
args.put("--win-dir-chooser", null);
|
||||
args.put("--win-help-url", "win-help-url");
|
||||
args.put("--win-menu", null);
|
||||
args.put("--win-menu-group", "win-menu-group");
|
||||
args.put("--win-per-user-install", null);
|
||||
args.put("--win-shortcut", null);
|
||||
args.put("--win-shortcut-prompt", null);
|
||||
args.put("--win-update-url", "win-update-url");
|
||||
args.put("--win-upgrade-uuid", "win-upgrade-uuid");
|
||||
args.put("@filename", null);
|
||||
|
||||
var options = new JpackageOptions()
|
||||
.aboutUrl(args.get("--about-url"))
|
||||
.addLauncher(new JpackageOptions.Launcher("name", "path"))
|
||||
.addModules(args.get("--add-modules").split(","))
|
||||
.appContent(args.get("--app-content").split(","))
|
||||
.appImage(args.get("--app-image"))
|
||||
.appVersion(args.get("--app-version"))
|
||||
.arguments(args.get("--arguments").split(" "))
|
||||
.copyright(args.get("--copyright"))
|
||||
.description(args.get("--description"))
|
||||
.dest(args.get("--dest"))
|
||||
.fileAssociations(args.get("--file-associations").split(","))
|
||||
.icon(args.get("--icon"))
|
||||
.input(args.get("--input"))
|
||||
.installDir(args.get("--install-dir"))
|
||||
.javaOptions(args.get("--java-options").split(","))
|
||||
.jlinkOptions(new JlinkOptions().stripDebug(true).addModules("module-1", "module-2"))
|
||||
.launcherAsService(true)
|
||||
.licenseFile(args.get("--license-file"))
|
||||
.linuxAppCategory(args.get("--linux-app-category"))
|
||||
.linuxAppRelease(args.get("--linux-app-release"))
|
||||
.linuxDebMaintainer(args.get("--linux-deb-maintainer"))
|
||||
.linuxMenuGroup(args.get("--linux-menu-group"))
|
||||
.linuxPackageDeps(true)
|
||||
.linuxPackageName(args.get("--linux-package-name"))
|
||||
.linuxRpmLicenseType(args.get("--linux-rpm-license-type"))
|
||||
.linuxShortcut(true)
|
||||
.macAppCategory(args.get("--mac-app-category"))
|
||||
.macAppImageSignIdentity(args.get("--mac-app-image-sign-identity"))
|
||||
.macAppStore(true)
|
||||
.macDmgContent(args.get("--mac-dmg-content"))
|
||||
.macEntitlements(args.get("--mac-entitlements"))
|
||||
.macInstallerSignIdentity(args.get("--mac-installer-sign-identity"))
|
||||
.macPackageIdentifier(args.get("--mac-package-identifier"))
|
||||
.macPackageName(args.get("--mac-package-name"))
|
||||
.macPackageSigningPrefix(args.get("--mac-package-signing-prefix"))
|
||||
.macSign(true)
|
||||
.macSigningKeyUserName(args.get("--mac-signing-key-user-name"))
|
||||
.macSigningKeychain(args.get("--mac-signing-keychain"))
|
||||
.mainClass(args.get("--main-class"))
|
||||
.mainJar(args.get("--main-jar"))
|
||||
.module(args.get("--module"))
|
||||
.modulePath(args.get("--module-path").split(","))
|
||||
.name(args.get("--name"))
|
||||
.resourceDir(args.get("--resource-dir"))
|
||||
.runtimeImage(args.get("--runtime-image"))
|
||||
.stripDebug(true)
|
||||
.temp(args.get("--temp"))
|
||||
.type(JpackageOptions.PackageType.EXE)
|
||||
.vendor(args.get("--vendor"))
|
||||
.verbose(true)
|
||||
.winConsole(true)
|
||||
.winDirChooser(true)
|
||||
.winHelpUrl(args.get("--win-help-url"))
|
||||
.winMenu(true)
|
||||
.winMenuGroup(args.get("--win-menu-group"))
|
||||
.winPerUserInstall(true)
|
||||
.winShortcut(true)
|
||||
.winShortcutPrompt(true)
|
||||
.winUpdateUrl(args.get("--win-update-url"))
|
||||
.winUpgradeUuid(args.get("--win-upgrade-uuid"))
|
||||
.filename("filename");
|
||||
|
||||
assertEquals(options.size(), args.size(), "Wrong number of arguments");
|
||||
|
||||
for (var arg : args.entrySet()) {
|
||||
assertTrue(options.containsKey(arg.getKey()), arg.getValue() + " not found");
|
||||
assertEquals(arg.getValue(), options.get(arg.getKey()), arg.getKey());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
void testVersion() {
|
||||
var jpackage = new JpackageOperation().toolArg("--version");
|
||||
var jpackage = new JpackageOperation().addArgs("--version");
|
||||
assertDoesNotThrow(jpackage::execute);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue