From b3e2380183b33a3b1131ad7a5f118e876914f810 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Van=C4=9Bk?= Date: Thu, 16 Feb 2023 15:01:56 +0000 Subject: [PATCH] 8301143: [TESTBUG] jfr/event/sampling/TestNative was backported to JDK8u without proper native wrapper Reviewed-by: sgehwolf, phh --- .../jdk/jfr/event/sampling/TestNative.java | 2 +- jdk/test/jdk/jfr/event/sampling/TestNative.sh | 63 +++++++++++++++++++ 2 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 jdk/test/jdk/jfr/event/sampling/TestNative.sh diff --git a/jdk/test/jdk/jfr/event/sampling/TestNative.java b/jdk/test/jdk/jfr/event/sampling/TestNative.java index b2227b8a7cd..02d69973917 100644 --- a/jdk/test/jdk/jfr/event/sampling/TestNative.java +++ b/jdk/test/jdk/jfr/event/sampling/TestNative.java @@ -43,7 +43,7 @@ * * @library /lib / * - * @run main/native jdk.jfr.event.sampling.TestNative + * @run shell TestNative.sh */ public class TestNative { diff --git a/jdk/test/jdk/jfr/event/sampling/TestNative.sh b/jdk/test/jdk/jfr/event/sampling/TestNative.sh new file mode 100644 index 00000000000..b39d309b2e7 --- /dev/null +++ b/jdk/test/jdk/jfr/event/sampling/TestNative.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +set -ex + +OS=`uname -s` +if [ "${OS}" != "Linux" -a "${OS}" != "Darwin" ]; then + echo "This is a Linux/MacOSX only test" + exit 0; +fi + +if [ "x$TESTGCC" = "x" ]; then + TESTGCC=$(readlink -f $(which gcc)) +fi + +if [ "x$TESTGCC" = "x" ]; then + echo "WARNING: gcc not found. Cannot execute test." 2>&1 + exit 1; +fi + +if [ "x$TESTROOT" = "x" ]; then + echo "TESTROOT pointintg to top level sources is not set. that is fatal" + exit 2; +fi + +if [ "x$TESTJAVA" = "x" ]; then + TESTJAVA=$(dirname $(dirname $(readlink -f $(which java)))) +fi + +JDK_TOPDIR="${TESTROOT}/.." +JAVAC="${TESTJAVA}/bin/javac" +JAVA="${TESTJAVA}/bin/java" +TEST_ENV_SH="${JDK_TOPDIR}/../hotspot/test/test_env.sh" + +ls -l "${TEST_ENV_SH}" +set +e + source "${TEST_ENV_SH}" +set -e + +"${TESTGCC}" \ + -shared \ + ${CFLAGBITS} \ + -o ${TESTCLASSES}/libTestNative.so \ + -I${JDK_TOPDIR}/src/share/bin \ + -I${JDK_TOPDIR}/src/share/javavm/export \ + -I${JDK_TOPDIR}/src/macosx/javavm/export \ + -I${JDK_TOPDIR}/src/solaris/bin \ + ${TESTSRC}/libTestNative.c + +"${JAVAC}" -d ${TESTCLASSES} \ + ${TESTROOT}/lib/jdk/test/lib/Utils.java \ + ${TESTROOT}/lib/jdk/test/lib/JDKToolLauncher.java \ + ${TESTROOT}/lib/jdk/test/lib/Platform.java \ + ${TESTROOT}/lib/jdk/test/lib/Asserts.java \ + ${TESTROOT}/lib/jdk/test/lib/jfr/EventNames.java \ + ${TESTROOT}/lib/jdk/test/lib/JDKToolFinder.java \ + ${TESTROOT}/lib/jdk/test/lib/process/*.java + +"${JAVAC}" -cp ${TESTCLASSPATH}:${TESTCLASSES} -d ${TESTCLASSES} ${TESTSRC}/TestNative.java + +"${JAVA}" -Dtest.jdk=${TESTJAVA} \ + -Dtest.nativepath=${TESTCLASSES} \ + -Djava.library.path=${TESTCLASSES} \ + -cp ${TESTCLASSPATH}:${TESTCLASSES} jdk.jfr.event.sampling.TestNative