Mercurial > illumos > onarm
comparison usr/src/cmd/dtrace/test/tst/common/usdt/tst.reeval.ksh @ 0:c9caec207d52 b86
Initial porting based on b86
author | Koji Uno <koji.uno@sun.com> |
---|---|
date | Tue, 02 Jun 2009 18:56:50 +0900 |
parents | |
children | 1a15d5aaf794 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:c9caec207d52 |
---|---|
1 # | |
2 # CDDL HEADER START | |
3 # | |
4 # The contents of this file are subject to the terms of the | |
5 # Common Development and Distribution License (the "License"). | |
6 # You may not use this file except in compliance with the License. | |
7 # | |
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE | |
9 # or http://www.opensolaris.org/os/licensing. | |
10 # See the License for the specific language governing permissions | |
11 # and limitations under the License. | |
12 # | |
13 # When distributing Covered Code, include this CDDL HEADER in each | |
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. | |
15 # If applicable, add the following below this CDDL HEADER, with the | |
16 # fields enclosed by brackets "[]" replaced with your own identifying | |
17 # information: Portions Copyright [yyyy] [name of copyright owner] | |
18 # | |
19 # CDDL HEADER END | |
20 # | |
21 | |
22 # | |
23 # Copyright 2007 Sun Microsystems, Inc. All rights reserved. | |
24 # Use is subject to license terms. | |
25 # | |
26 # ident "@(#)tst.reeval.ksh 1.3 07/08/13 SMI" | |
27 | |
28 if [ $# != 1 ]; then | |
29 echo expected one argument: '<'dtrace-path'>' | |
30 exit 2 | |
31 fi | |
32 | |
33 dtrace=$1 | |
34 DIR=/var/tmp/dtest.$$ | |
35 | |
36 mkdir $DIR | |
37 cd $DIR | |
38 | |
39 cat > test.c <<EOF | |
40 #include <sys/sdt.h> | |
41 | |
42 int | |
43 main(int argc, char **argv) | |
44 { | |
45 DTRACE_PROBE(test_prov, zero); | |
46 } | |
47 EOF | |
48 | |
49 cat > prov.d <<EOF | |
50 provider test_prov { | |
51 probe zero(); | |
52 }; | |
53 EOF | |
54 | |
55 cc -c test.c | |
56 if [ $? -ne 0 ]; then | |
57 print -u2 "failed to compile test.c" | |
58 exit 1 | |
59 fi | |
60 $dtrace -G -32 -s prov.d test.o | |
61 if [ $? -ne 0 ]; then | |
62 print -u2 "failed to create DOF" | |
63 exit 1 | |
64 fi | |
65 cc -o test test.o prov.o | |
66 if [ $? -ne 0 ]; then | |
67 print -u2 "failed to link final executable" | |
68 exit 1 | |
69 fi | |
70 | |
71 script() | |
72 { | |
73 $dtrace -wZs /dev/stdin <<EOF | |
74 BEGIN | |
75 { | |
76 system("$DIR/test"); | |
77 } | |
78 | |
79 test_prov*::: | |
80 { | |
81 seen = 1; | |
82 } | |
83 | |
84 proc:::exit | |
85 /progenyof(\$pid) && execname == "test"/ | |
86 { | |
87 exit(seen ? 0 : 2); | |
88 } | |
89 EOF | |
90 } | |
91 | |
92 script | |
93 status=$? | |
94 | |
95 cd / | |
96 /usr/bin/rm -rf $DIR | |
97 | |
98 exit $status |