Path: blob/aarch64-shenandoah-jdk8u272-b10/hotspot/test/serviceability/7170638/SDTProbesGNULinuxTest.sh
32284 views
#1# Copyright (c) 2012, Red Hat, Inc.2# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3#4# This code is free software; you can redistribute it and/or modify it5# under the terms of the GNU General Public License version 2 only, as6# published by the Free Software Foundation.7#8# This code is distributed in the hope that it will be useful, but WITHOUT9# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11# version 2 for more details (a copy is included in the LICENSE file that12# accompanied this code).13#14# You should have received a copy of the GNU General Public License version15# 2 along with this work; if not, write to the Free Software Foundation,16# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17#18# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19# or visit www.oracle.com if you need additional information or have any20# questions.21#2223# @test SDTProbesGNULinuxTest.sh24# @bug 717063825# @summary Test SDT probes available on GNU/Linux when DTRACE_ENABLED26# @run shell SDTProbesGNULinuxTest.sh2728# This test only matters on GNU/Linux, others trivially PASS.29OS=`uname -s`30case "$OS" in31Linux )32;;33*)34echo "Not testing on anything but GNU/Linux. PASSED"35exit 0;36;;37esac3839# Where is our java (parent) directory?40if [ "${TESTJAVA}" = "" ]; then41PARENT=$(dirname $(readlink -f $(which java)))42TESTJAVA=`dirname ${PARENT}`43echo "TESTJAVA directory not set, using " ${TESTJAVA}44fi4546# This test only matters when build with DTRACE_ENABLED.47${TESTJAVA}/bin/java -XX:+ExtendedDTraceProbes -version48if [ "$?" != "0" ]; then49echo "Not build using DTRACE_ENABLED. PASSED"50exit 051fi5253# Test all available libjvm.so variants54for libjvm in $(find ${TESTJAVA} -name libjvm.so); do55echo "Testing ${libjvm}"56# Check whether the SDT probes are compiled in.57readelf -S ${libjvm} | grep '.note.stapsdt'58if [ "$?" != "0" ]; then59echo "Failed: ${libjvm} doesn't contain SDT probes."60exit 161fi62# We could iterate over all SDT probes and test them individually63# with readelf -n, but older readelf versions don't understand them.64done6566echo "Passed."67exit 0686970