23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee#!/bin/ksh -p
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee#
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# CDDL HEADER START
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee#
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# The contents of this file are subject to the terms of the
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# Common Development and Distribution License (the "License").
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# You may not use this file except in compliance with the License.
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee#
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# or http://www.opensolaris.org/os/licensing.
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# See the License for the specific language governing permissions
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# and limitations under the License.
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee#
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# When distributing Covered Code, include this CDDL HEADER in each
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# If applicable, add the following below this CDDL HEADER, with the
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# fields enclosed by brackets "[]" replaced with your own identifying
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# information: Portions Copyright [yyyy] [name of copyright owner]
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee#
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# CDDL HEADER END
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee#
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee#
91cfa10a8e55050a5103c4b2e83b0bf8d783a7cbtomee# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# Use is subject to license terms.
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee#
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee#ident "%Z%%M% %I% %E% SMI"
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee############################################################################
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# ASSERTION:
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# ufunc() values sort as expected
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee#
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# SECTION: Aggregations, Printing Aggregations
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee#
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# NOTES: Assumes that the order of user function addresses will follow
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee# the function declaration order.
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee#
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee############################################################################
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomeeif [ $# != 1 ]; then
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee echo expected one argument: '<'dtrace-path'>'
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee exit 2
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomeefi
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomeedtrace=$1
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee
91cfa10a8e55050a5103c4b2e83b0bf8d783a7cbtomee$dtrace -c ./tst.ufuncsort.exe -s /dev/stdin <<EOF
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee #pragma D option quiet
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee #pragma D option aggsortkey
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee pid\$target::fN:entry
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee {
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee @[ufunc(arg0)] = count();
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee }
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomeeEOF
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomeestatus=$?
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomeeif [ "$status" -ne 0 ]; then
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee echo $tst: dtrace failed
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee exit $status
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomeefi
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomee
23b5c241225a8ade2b6b9f06ebb891ee459e3b02tomeeexit $status