1 5984 jhaslam #!/bin/ksh -p 2 5984 jhaslam # 3 5984 jhaslam # CDDL HEADER START 4 5984 jhaslam # 5 5984 jhaslam # The contents of this file are subject to the terms of the 6 5984 jhaslam # Common Development and Distribution License (the "License"). 7 5984 jhaslam # You may not use this file except in compliance with the License. 8 5984 jhaslam # 9 5984 jhaslam # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 5984 jhaslam # or http://www.opensolaris.org/os/licensing. 11 5984 jhaslam # See the License for the specific language governing permissions 12 5984 jhaslam # and limitations under the License. 13 5984 jhaslam # 14 5984 jhaslam # When distributing Covered Code, include this CDDL HEADER in each 15 5984 jhaslam # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 5984 jhaslam # If applicable, add the following below this CDDL HEADER, with the 17 5984 jhaslam # fields enclosed by brackets "[]" replaced with your own identifying 18 5984 jhaslam # information: Portions Copyright [yyyy] [name of copyright owner] 19 5984 jhaslam # 20 5984 jhaslam # CDDL HEADER END 21 5984 jhaslam # 22 5984 jhaslam 23 5984 jhaslam # 24 5984 jhaslam # Copyright 2008 Sun Microsystems, Inc. All rights reserved. 25 5984 jhaslam # Use is subject to license terms. 26 5984 jhaslam # 27 5984 jhaslam # ident "%Z%%M% %I% %E% SMI" 28 5984 jhaslam 29 5984 jhaslam # 30 5984 jhaslam # This test verifies that specifying a glob in a pid provider name 31 5984 jhaslam # (e.g., p*d$target) works. 32 5984 jhaslam # 33 5984 jhaslam 34 5984 jhaslam if [ $# != 1 ]; then 35 5984 jhaslam echo expected one argument: '<'dtrace-path'>' 36 5984 jhaslam exit 2 37 5984 jhaslam fi 38 5984 jhaslam 39 5984 jhaslam dtrace=$1 40 5984 jhaslam DIR=${TMPDIR:-/tmp}/dtest.$$ 41 5984 jhaslam 42 5984 jhaslam mkdir $DIR 43 5984 jhaslam cd $DIR 44 5984 jhaslam 45 5984 jhaslam cat > Makefile <<EOF 46 5984 jhaslam all: main 47 5984 jhaslam 48 5984 jhaslam main: main.o 49 5984 jhaslam cc -o main main.o 50 5984 jhaslam 51 5984 jhaslam main.o: main.c 52 5984 jhaslam cc -c main.c 53 5984 jhaslam EOF 54 5984 jhaslam 55 5984 jhaslam cat > main.c <<EOF 56 5984 jhaslam void 57 5984 jhaslam go(void) 58 5984 jhaslam { 59 5984 jhaslam } 60 5984 jhaslam 61 5984 jhaslam int 62 5984 jhaslam main(int argc, char **argv) 63 5984 jhaslam { 64 5984 jhaslam go(); 65 5984 jhaslam 66 5984 jhaslam return (0); 67 5984 jhaslam } 68 5984 jhaslam EOF 69 5984 jhaslam 70 5984 jhaslam make > /dev/null 71 5984 jhaslam if [ $? -ne 0 ]; then 72 5984 jhaslam print -u2 "failed to build" 73 5984 jhaslam exit 1 74 5984 jhaslam fi 75 5984 jhaslam 76 5984 jhaslam cat > main.d <<'EOF' 77 5984 jhaslam p*d$target::go:entry 78 5984 jhaslam { 79 5984 jhaslam printf("%s:%s:%s\n", probemod, probefunc, probename); 80 5984 jhaslam } 81 5984 jhaslam EOF 82 5984 jhaslam 83 5984 jhaslam script() { 84 5984 jhaslam $dtrace -q -s ./main.d -c ./main 85 5984 jhaslam } 86 5984 jhaslam 87 5984 jhaslam script 88 5984 jhaslam status=$? 89 5984 jhaslam 90 5984 jhaslam cd /tmp 91 5984 jhaslam /usr/bin/rm -rf $DIR 92 5984 jhaslam 93 5984 jhaslam exit $status 94