Mercurial > hg > truffle
comparison test/serviceability/7170638/SDTProbesGNULinuxTest.sh @ 6858:b261523fe66c hs25-b05
Merge
author | amurillo |
---|---|
date | Fri, 12 Oct 2012 13:55:52 -0700 |
parents | 26351ce8c4b0 |
children |
comparison
equal
deleted
inserted
replaced
6829:0cc77f9b31ad | 6858:b261523fe66c |
---|---|
1 # | |
2 # Copyright (c) 2012, Red Hat, Inc. | |
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
4 # | |
5 # This code is free software; you can redistribute it and/or modify it | |
6 # under the terms of the GNU General Public License version 2 only, as | |
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 # @test SDTProbesGNULinuxTest.sh | |
25 # @bug 7170638 | |
26 # @summary Test SDT probes available on GNU/Linux when DTRACE_ENABLED | |
27 # @run shell SDTProbesGNULinuxTest.sh | |
28 | |
29 # This test only matters on GNU/Linux, others trivially PASS. | |
30 OS=`uname -s` | |
31 case "$OS" in | |
32 Linux ) | |
33 ;; | |
34 *) | |
35 echo "Not testing on anything but GNU/Linux. PASSED" | |
36 exit 0; | |
37 ;; | |
38 esac | |
39 | |
40 # Where is our java (parent) directory? | |
41 if [ "${TESTJAVA}" = "" ]; then | |
42 PARENT=$(dirname $(readlink -f $(which java))) | |
43 TESTJAVA=`dirname ${PARENT}` | |
44 echo "TESTJAVA directory not set, using " ${TESTJAVA} | |
45 fi | |
46 | |
47 # This test only matters when build with DTRACE_ENABLED. | |
48 ${TESTJAVA}/bin/java -XX:+ExtendedDTraceProbes -version | |
49 if [ "$?" != "0" ]; then | |
50 echo "Not build using DTRACE_ENABLED. PASSED" | |
51 exit 0 | |
52 fi | |
53 | |
54 # Test all available libjvm.so variants | |
55 for libjvm in $(find ${TESTJAVA} -name libjvm.so); do | |
56 echo "Testing ${libjvm}" | |
57 # Check whether the SDT probes are compiled in. | |
58 readelf -S ${libjvm} | grep '.note.stapsdt' | |
59 if [ "$?" != "0" ]; then | |
60 echo "Failed: ${libjvm} doesn't contain SDT probes." | |
61 exit 1 | |
62 fi | |
63 # We could iterate over all SDT probes and test them individually | |
64 # with readelf -n, but older readelf versions don't understand them. | |
65 done | |
66 | |
67 echo "Passed." | |
68 exit 0 |