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