1178476Sjb#
2178476Sjb# CDDL HEADER START
3178476Sjb#
4178476Sjb# The contents of this file are subject to the terms of the
5178476Sjb# Common Development and Distribution License (the "License").
6178476Sjb# You may not use this file except in compliance with the License.
7178476Sjb#
8178476Sjb# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9178476Sjb# or http://www.opensolaris.org/os/licensing.
10178476Sjb# See the License for the specific language governing permissions
11178476Sjb# and limitations under the License.
12178476Sjb#
13178476Sjb# When distributing Covered Code, include this CDDL HEADER in each
14178476Sjb# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15178476Sjb# If applicable, add the following below this CDDL HEADER, with the
16178476Sjb# fields enclosed by brackets "[]" replaced with your own identifying
17178476Sjb# information: Portions Copyright [yyyy] [name of copyright owner]
18178476Sjb#
19178476Sjb# CDDL HEADER END
20178476Sjb#
21178476Sjb
22178476Sjb#
23178476Sjb# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
24178476Sjb# Use is subject to license terms.
25178476Sjb#
26178476Sjb#ident	"%Z%%M%	%I%	%E% SMI"
27178476Sjb
28178476Sjbppriv -s A=basic,dtrace_proc,dtrace_user $$
29178476Sjb
30178476Sjb/usr/sbin/dtrace -q -s /dev/stdin <<"EOF"
31178476SjbBEGIN {
32178476Sjb	errorcount = 0;
33178476Sjb	expected_errorcount = 7;
34178476Sjb}
35178476Sjb
36178476Sjb/* BYREF */
37178476SjbBEGIN { trace(`utsname); }
38178476SjbBEGIN { trace(`kmem_flags); }
39178476Sjb
40178476Sjb/* DIF_OP_SCMP */
41178476SjbBEGIN /`initname == "/sbin/init"/ { trace("bad"); }
42178476Sjb
43178476Sjb/* DIF_OP_COPYS */
44178476SjbBEGIN { p = `p0; trace(p); }
45178476Sjb
46178476Sjb/* DIF_OP_STTS */
47178476SjbBEGIN { self->p = `p0; trace(self->p); }
48178476Sjb
49178476Sjb/* DIF_OP_STGAA */
50178476SjbBEGIN { a[stringof(`initname)] = 42; trace(a["/sbin/init"]); }
51178476Sjb
52178476Sjb/* DIF_OP_STTAA */
53178476SjbBEGIN { self->a[stringof(`initname)] = 42; trace(self->a["/sbin/init"]); }
54178476Sjb
55178476SjbERROR {
56178476Sjb	errorcount++;
57178476Sjb}
58178476Sjb
59178476SjbBEGIN /errorcount == expected_errorcount/ {
60178476Sjb	trace("pass");
61178476Sjb	exit(0);
62178476Sjb}
63178476Sjb
64178476SjbBEGIN /errorcount != expected_errorcount/ {
65178476Sjb	printf("fail: expected %d.  saw %d.", expected_errorcount, errorcount);
66178476Sjb	exit(1);
67178476Sjb}
68178476SjbEOF
69178476Sjb
70178476Sjbexit $?
71