--- old/test/hotspot/jtreg/compiler/graalunit/README.md 2019-05-20 12:49:10.278530052 -0700 +++ new/test/hotspot/jtreg/compiler/graalunit/README.md 2019-05-20 12:49:09.830530075 -0700 @@ -21,14 +21,23 @@ https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/hamcrest-core-1.3.jar java-allocation-instrumenter.jar: - https://lafo.ssw.uni-linz.ac.at/pub/java-allocation-instrumenter/java-allocation-instrumenter-8f0db117e64e.jar + https://lafo.ssw.uni-linz.ac.at/pub/java-allocation-instrumenter/java-allocation-instrumenter.jar Before running the tests you need to download these jars from above locations in build//images/test/hotspot/jtreg/graal/ -directory. Then you can pass it to jtreg as java option by using "-vmoptions:-Dgraalunit.libs=" or as environment variable -by using "-e:TEST_IMAGE_GRAAL_DIR=..." +directory. You can use 'downloadLibs.sh' script which will try to download all these libs using wget. + + +Then you can run Graal unit test(s) using 'make run-test': + +> make run-test TEST="compiler/graalunit/ApiTest.java" TEST_VM_OPTS="-server -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI" + + +If you want to use jtreg directly you need to say jtreg where to find external jars. +You can do it by passing additional option "-vmoptions:-Dgraalunit.libs=" or setting environment variable by using "-e:TEST_IMAGE_GRAAL_DIR=..." Example: -> jtreg -vt -jdk: -vmoptions:"-Dgraalunit.libs=build//images/test/hotspot/jtreg/graal" +> jtreg -vt -jdk: -vmoptions:"-server -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI" + -vmoptions:"-Dgraalunit.libs=build//images/test/hotspot/jtreg/graal" compiler/graalunit/UtilTest.java To run Graal unit tests in Graal as JIT mode pass additional -vmoptions to jtreg: --- /dev/null 2018-11-07 10:11:51.299676306 -0800 +++ new/test/hotspot/jtreg/compiler/graalunit/downloadLibs.sh 2019-05-20 12:49:10.666530032 -0700 @@ -0,0 +1,45 @@ +#!/bin/bash +# +# Copyright (c) 2019, 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 +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +if [ -z "$1" ]; then + echo use: + echo '$0 ' + echo + exit 0 +fi + +LIBS_DIR=$1 +mkdir -p ${LIBS_DIR} + +LIBS="https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/asm-5.0.4.jar" +LIBS="$LIBS https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/asm-tree-5.0.4.jar" +LIBS="$LIBS https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/junit-4.12.jar" +LIBS="$LIBS https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/hamcrest-core-1.3.jar" +LIBS="$LIBS https://lafo.ssw.uni-linz.ac.at/pub/java-allocation-instrumenter/java-allocation-instrumenter.jar" + +for l in ${LIBS} ; +do + echo "Download $l" + wget -P ${LIBS_DIR} $l +done