38
39 public class AltProvider {
40
41 private static final String TEST_SRC =
42 Paths.get(System.getProperty("test.src")).toString();
43
44 private static final Path MOD_SRC_DIR = Paths.get(TEST_SRC, "alt");
45 private static final Path MOD_DEST_DIR = Paths.get("mods");
46
47 private static final String ktCommand = "-keystore x.jks " +
48 "-storepass changeit -storetype dummyks -list -debug";
49
50 private static final String jsCommand = "-keystore x.jks " +
51 "-storepass changeit -storetype dummyks -debug x.jar x";
52
53 public static void main(String[] args) throws Throwable {
54
55 // Compile the provider
56 CompilerUtils.compile(
57 MOD_SRC_DIR, MOD_DEST_DIR,
58 "-modulesourcepath",
59 MOD_SRC_DIR.toString());
60
61 // Create a keystore
62 tool("keytool", "-keystore x.jks -storetype jks -genkeypair" +
63 " -storepass changeit -keypass changeit -alias x -dname CN=X")
64 .shouldHaveExitValue(0);
65
66 // Create a jar file
67 JarUtils.createJar("x.jar", "x.jks");
68
69 // Test starts here
70
71 // Without new provider
72 testBoth("", 1, "DUMMYKS not found");
73
74 // legacy use (-providerPath only supported by keytool)
75 testKeytool("-providerPath mods/test.dummy " +
76 "-providerClass org.test.dummy.DummyProvider -providerArg full",
77 0, "loadProviderByClass: org.test.dummy.DummyProvider");
78
85 testBoth("-J-cp -Jmods/test.dummy " +
86 "-providerClass org.test.dummy.Dummy -providerArg full",
87 1, "Provider \"org.test.dummy.Dummy\" not found");
88
89 // Not a provider name
90 testBoth("-J-cp -Jmods/test.dummy " +
91 "-providerClass java.lang.Object -providerArg full",
92 1, "java.lang.Object not a provider");
93
94 // without arg
95 testBoth("-J-cp -Jmods/test.dummy " +
96 "-providerClass org.test.dummy.DummyProvider",
97 1, "DUMMYKS not found");
98
99 // old -provider still works
100 testBoth("-J-cp -Jmods/test.dummy " +
101 "-provider org.test.dummy.DummyProvider -providerArg full",
102 0, "loadProviderByClass: org.test.dummy.DummyProvider");
103
104 // name in a module
105 testBoth("-J-mp -Jmods " +
106 "-addprovider Dummy -providerArg full",
107 0, "loadProviderByName: Dummy");
108
109 // -providerClass does not work
110 testBoth("-J-mp -Jmods " +
111 "-providerClass org.test.dummy.DummyProvider -providerArg full",
112 1, "Provider \"org.test.dummy.DummyProvider\" not found");
113
114 // -addprovider with class does not work
115 testBoth("-J-mp -Jmods " +
116 "-addprovider org.test.dummy.DummyProvider -providerArg full",
117 1, "Provider named \"org.test.dummy.DummyProvider\" not found");
118
119 // -addprovider without arg does not work
120 testBoth("-J-mp -Jmods " +
121 "-addprovider Dummy",
122 1, "DUMMYKS not found");
123 }
124
125 // Test both tools with the same extra options
126 private static void testBoth(String args, int exitValue, String contains)
127 throws Throwable {
128 testKeytool(args, exitValue, contains);
129 testJarsigner(args, exitValue, contains);
130 }
131
132 // Test keytool with extra options and check exitValue and output
133 private static void testKeytool(String args, int exitValue, String contains)
134 throws Throwable {
135 tool("keytool", ktCommand + " " + args)
136 .shouldHaveExitValue(exitValue)
137 .shouldContain(contains);
138 }
139
140 // Test jarsigner with extra options and check exitValue and output
|
38
39 public class AltProvider {
40
41 private static final String TEST_SRC =
42 Paths.get(System.getProperty("test.src")).toString();
43
44 private static final Path MOD_SRC_DIR = Paths.get(TEST_SRC, "alt");
45 private static final Path MOD_DEST_DIR = Paths.get("mods");
46
47 private static final String ktCommand = "-keystore x.jks " +
48 "-storepass changeit -storetype dummyks -list -debug";
49
50 private static final String jsCommand = "-keystore x.jks " +
51 "-storepass changeit -storetype dummyks -debug x.jar x";
52
53 public static void main(String[] args) throws Throwable {
54
55 // Compile the provider
56 CompilerUtils.compile(
57 MOD_SRC_DIR, MOD_DEST_DIR,
58 "--module-source-path",
59 MOD_SRC_DIR.toString());
60
61 // Create a keystore
62 tool("keytool", "-keystore x.jks -storetype jks -genkeypair" +
63 " -storepass changeit -keypass changeit -alias x -dname CN=X")
64 .shouldHaveExitValue(0);
65
66 // Create a jar file
67 JarUtils.createJar("x.jar", "x.jks");
68
69 // Test starts here
70
71 // Without new provider
72 testBoth("", 1, "DUMMYKS not found");
73
74 // legacy use (-providerPath only supported by keytool)
75 testKeytool("-providerPath mods/test.dummy " +
76 "-providerClass org.test.dummy.DummyProvider -providerArg full",
77 0, "loadProviderByClass: org.test.dummy.DummyProvider");
78
85 testBoth("-J-cp -Jmods/test.dummy " +
86 "-providerClass org.test.dummy.Dummy -providerArg full",
87 1, "Provider \"org.test.dummy.Dummy\" not found");
88
89 // Not a provider name
90 testBoth("-J-cp -Jmods/test.dummy " +
91 "-providerClass java.lang.Object -providerArg full",
92 1, "java.lang.Object not a provider");
93
94 // without arg
95 testBoth("-J-cp -Jmods/test.dummy " +
96 "-providerClass org.test.dummy.DummyProvider",
97 1, "DUMMYKS not found");
98
99 // old -provider still works
100 testBoth("-J-cp -Jmods/test.dummy " +
101 "-provider org.test.dummy.DummyProvider -providerArg full",
102 0, "loadProviderByClass: org.test.dummy.DummyProvider");
103
104 // name in a module
105 testBoth("-J--module-path=mods " +
106 "-addprovider Dummy -providerArg full",
107 0, "loadProviderByName: Dummy");
108
109 // -providerClass does not work
110 testBoth("-J--module-path=mods " +
111 "-providerClass org.test.dummy.DummyProvider -providerArg full",
112 1, "Provider \"org.test.dummy.DummyProvider\" not found");
113
114 // -addprovider with class does not work
115 testBoth("-J--module-path=mods " +
116 "-addprovider org.test.dummy.DummyProvider -providerArg full",
117 1, "Provider named \"org.test.dummy.DummyProvider\" not found");
118
119 // -addprovider without arg does not work
120 testBoth("-J--module-path=mods " +
121 "-addprovider Dummy",
122 1, "DUMMYKS not found");
123 }
124
125 // Test both tools with the same extra options
126 private static void testBoth(String args, int exitValue, String contains)
127 throws Throwable {
128 testKeytool(args, exitValue, contains);
129 testJarsigner(args, exitValue, contains);
130 }
131
132 // Test keytool with extra options and check exitValue and output
133 private static void testKeytool(String args, int exitValue, String contains)
134 throws Throwable {
135 tool("keytool", ktCommand + " " + args)
136 .shouldHaveExitValue(exitValue)
137 .shouldContain(contains);
138 }
139
140 // Test jarsigner with extra options and check exitValue and output
|