7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /**
25 * @test
26 * @library /lib/testlibrary
27 * @build ExecJarWithAgent Main Agent AgentHelper JarUtils jdk.testlibrary.*
28 * @run testng ExecJarWithAgent
29 * @summary Test starting agents in executable JAR files
30 */
31
32 import java.nio.file.Path;
33 import java.nio.file.Paths;
34 import java.util.jar.Attributes;
35 import java.util.jar.Manifest;
36 import java.util.stream.Stream;
37
38 import org.testng.annotations.Test;
39 import static org.testng.Assert.*;
40
41 import jdk.testlibrary.ProcessTools;
42 import jdk.testlibrary.OutputAnalyzer;
43
44 @Test
45 public class ExecJarWithAgent {
46
47 /**
48 * Basic test of java -jar with agent in the executable JAR
49 */
50 public void testBasic() throws Exception {
51 Manifest man = new Manifest();
52 Attributes attrs = man.getMainAttributes();
53 attrs.put(Attributes.Name.MANIFEST_VERSION, "1.0.0");
54 attrs.put(Attributes.Name.MAIN_CLASS, "Main");
55 attrs.put(new Attributes.Name("Launcher-Agent-Class"), "Agent");
56
57 // require all capabilities
58 attrs.put(new Attributes.Name("Can-Redefine-Classes"), "true");
59 attrs.put(new Attributes.Name("Can-Retransform-Classes"), "true");
60 attrs.put(new Attributes.Name("Can-Set-Native-Method-Prefix"), "true");
61 attrs.put(new Attributes.Name("Boot-Class-Path"), "helper.jar");
62
|
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /**
25 * @test
26 * @library /lib/testlibrary
27 * @library /test/lib
28 * @build ExecJarWithAgent Main Agent AgentHelper JarUtils jdk.testlibrary.*
29 * @run testng ExecJarWithAgent
30 * @summary Test starting agents in executable JAR files
31 */
32
33 import java.nio.file.Path;
34 import java.nio.file.Paths;
35 import java.util.jar.Attributes;
36 import java.util.jar.Manifest;
37 import java.util.stream.Stream;
38
39 import org.testng.annotations.Test;
40 import static org.testng.Assert.*;
41
42 import jdk.test.lib.process.ProcessTools;
43 import jdk.test.lib.process.OutputAnalyzer;
44
45 @Test
46 public class ExecJarWithAgent {
47
48 /**
49 * Basic test of java -jar with agent in the executable JAR
50 */
51 public void testBasic() throws Exception {
52 Manifest man = new Manifest();
53 Attributes attrs = man.getMainAttributes();
54 attrs.put(Attributes.Name.MANIFEST_VERSION, "1.0.0");
55 attrs.put(Attributes.Name.MAIN_CLASS, "Main");
56 attrs.put(new Attributes.Name("Launcher-Agent-Class"), "Agent");
57
58 // require all capabilities
59 attrs.put(new Attributes.Name("Can-Redefine-Classes"), "true");
60 attrs.put(new Attributes.Name("Can-Retransform-Classes"), "true");
61 attrs.put(new Attributes.Name("Can-Set-Native-Method-Prefix"), "true");
62 attrs.put(new Attributes.Name("Boot-Class-Path"), "helper.jar");
63
|