--- old/test/hotspot/jtreg/vmTestbase/metaspace/flags/maxMetaspaceSize/TestDescription.java 2020-01-24 17:51:14.000000000 -0800 +++ new/test/hotspot/jtreg/vmTestbase/metaspace/flags/maxMetaspaceSize/TestDescription.java 2020-01-24 17:51:14.000000000 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,8 +28,27 @@ * @summary converted from VM Testbase metaspace/flags/maxMetaspaceSize. * * @library /vmTestbase /test/lib - * @run driver jdk.test.lib.FileInstaller . . * @build metaspace.flags.maxMetaspaceSize.maxMetaspaceSize - * @run shell maxMetaspaceSize.sh + * @run driver metaspace.flags.maxMetaspaceSize.TestDescription */ +package metaspace.flags.maxMetaspaceSize; +import jdk.test.lib.process.OutputAnalyzer; +import jdk.test.lib.process.ProcessTools; + +public class TestDescription { + public static void main(String[] args) throws Exception { + ProcessBuilder pb = + ProcessTools.createJavaProcessBuilder(true, "-XX:MaxMetaspaceSize=100m", + maxMetaspaceSize.class.getName()); + OutputAnalyzer out = new OutputAnalyzer(pb.start()); + + if (out.getExitValue() == 0) { + // test passed + return; + } else { + System.out.println("Non-zero exit value from child process. Could be OOM, which is OK"); + out.shouldContain("Out of Memory Error"); + } + } +}