xref: /illumos-gate/usr/src/cmd/dtrace/test/tst/common/privs/tst.noprivrestrict.ksh (revision b6805bf78d2bbbeeaea8909a05623587b42d58b3)
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 (c) 2011, Joyent, Inc. All rights reserved.
24#
25
26ppriv -s A=basic,dtrace_user $$
27
28#
29# We expect at least one of these tick probes to error out because only
30# dtrace_user is set, and we are attempting to access arguments.  Note that
31# this test will fail if something is stuck on CPU that whomever is running
32# the test happens to own.
33#
34/usr/sbin/dtrace -q -s /dev/stdin <<EOF
35BEGIN
36{
37	start = timestamp;
38}
39
40tick-1000hz
41{
42	@[arg0] = count();
43}
44
45ERROR
46{
47	errcnt++;
48}
49
50tick-10ms
51{
52	ticks++;
53}
54
55tick-10ms
56/ticks > 100/
57{
58	printf("error count is %d\n", errcnt);
59	exit(errcnt != 0 ? 0 : 1);
60}
61EOF
62