tst.usym.ksh revision 302408
1198090Srdivacky#
2198090Srdivacky# CDDL HEADER START
3198090Srdivacky#
4198090Srdivacky# The contents of this file are subject to the terms of the
5198090Srdivacky# Common Development and Distribution License (the "License").
6198090Srdivacky# You may not use this file except in compliance with the License.
7198090Srdivacky#
8198090Srdivacky# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9198090Srdivacky# or http://www.opensolaris.org/os/licensing.
10198090Srdivacky# See the License for the specific language governing permissions
11198090Srdivacky# and limitations under the License.
12198090Srdivacky#
13198090Srdivacky# When distributing Covered Code, include this CDDL HEADER in each
14198090Srdivacky# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15198090Srdivacky# If applicable, add the following below this CDDL HEADER, with the
16198892Srdivacky# fields enclosed by brackets "[]" replaced with your own identifying
17198090Srdivacky# information: Portions Copyright [yyyy] [name of copyright owner]
18198090Srdivacky#
19198090Srdivacky# CDDL HEADER END
20198090Srdivacky#
21198090Srdivacky
22202878Srdivacky#
23202878Srdivacky# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
24202878Srdivacky# Use is subject to license terms.
25198090Srdivacky#
26198090Srdivacky# ident	"%Z%%M%	%I%	%E% SMI"
27198090Srdivacky
28203954Srdivackyscript()
29198090Srdivacky{
30198090Srdivacky	$dtrace -qs /dev/stdin <<EOF
31198090Srdivacky	profile-1234hz
32198090Srdivacky	/arg1 != 0/
33198090Srdivacky	{
34198090Srdivacky		@[usym(arg1)] = count();
35198090Srdivacky	}
36198090Srdivacky
37198090Srdivacky	tick-100ms
38198090Srdivacky	/i++ == 20/
39198090Srdivacky	{
40198090Srdivacky		exit(0);
41198090Srdivacky	}
42198090SrdivackyEOF
43198090Srdivacky}
44198090Srdivacky
45198090Srdivackyspinny()
46198090Srdivacky{
47198090Srdivacky	while true; do
48198090Srdivacky		let i=i+1
49198090Srdivacky	done
50203954Srdivacky}
51198090Srdivacky
52203954Srdivackyif [ $# != 1 ]; then
53202878Srdivacky	echo expected one argument: '<'dtrace-path'>'
54203954Srdivacky	exit 2
55198090Srdivackyfi
56198090Srdivacky
57202878Srdivackydtrace=$1
58198090Srdivacky
59198090Srdivackyspinny &
60202878Srdivackychild=$!
61202878Srdivacky
62202878Srdivacky#
63198090Srdivacky# This test is essentially the same as that in the ufunc test; see that
64198090Srdivacky# test for the rationale.
65198090Srdivacky#
66198090Srdivackyscript | tee /dev/fd/2 | egrep 'ksh(93)?`[a-zA-Z_]' > /dev/null
67198090Srdivackystatus=$? 
68198090Srdivacky
69198090Srdivackykill $child
70198090Srdivackyexit $status
71198090Srdivacky