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.
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.
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]
23 # Copyright (c) 2011, Joyent, Inc. All rights reserved.
27 echo expected one argument
: '<'dtrace-path
'>'
42 main(int argc, char **argv)
44 DTRACE_PROBE(test_prov, probe1);
56 print
-u2 "failed to compile test.c"
59 $dtrace -G -32 -s prov.d
test.o
61 print
-u2 "failed to create DOF"
65 gcc
-m32 -o test test.o prov.o
67 print
-u2 "failed to link final executable"
73 $dtrace -Zwqs /dev
/stdin
<<EOF
82 printf("launching test\n");
89 printf("attempting re-enabling\n");
90 system("dtrace -e -x errtags -i %d", probeid);
102 script 2>&1 |
tee test.out
105 # It should be true that our probe was reaped over the course of the enabling,
106 # causing the embedded DTrace invocation to fail on an invalid probe (that is,
107 # D_PDESC_INVAL) instead of an inability to grab the underlying process
110 grep D_PDESC_INVAL
test.out
2> /dev
/null
1>&2