tst.guess32.ksh revision 178476
117721Speter#
2175261Sobrien# CDDL HEADER START
3175261Sobrien#
4175261Sobrien# The contents of this file are subject to the terms of the
5175261Sobrien# Common Development and Distribution License (the "License").
6175261Sobrien# You may not use this file except in compliance with the License.
7175261Sobrien#
8175261Sobrien# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
917721Speter# or http://www.opensolaris.org/os/licensing.
1017721Speter# See the License for the specific language governing permissions
1132785Speter# and limitations under the License.
1217721Speter#
1317721Speter# When distributing Covered Code, include this CDDL HEADER in each
1432785Speter# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1517721Speter# If applicable, add the following below this CDDL HEADER, with the
1625839Speter# fields enclosed by brackets "[]" replaced with your own identifying
1717721Speter# information: Portions Copyright [yyyy] [name of copyright owner]
1817721Speter#
1917721Speter# CDDL HEADER END
2017721Speter#
2117721Speter
2217721Speter#
2317721Speter# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2417721Speter# Use is subject to license terms.
2517721Speter#
2617721Speter# ident	"%Z%%M%	%I%	%E% SMI"
2717721Speter
2817721Speterif [ $# != 1 ]; then
29128266Speter	echo expected one argument: '<'dtrace-path'>'
30128266Speter	exit 2
3117721Speterfi
3217721Speter
33128266Speterdtrace=$1
3425839SpeterDIR=/var/tmp/dtest.$$
3525839Speter
3625839Spetermkdir $DIR
3717721Spetercd $DIR
3817721Speter
3917721Spetercat > prov.d <<EOF
4017721Speterprovider test_prov {
4117721Speter	probe go();
4217721Speter};
4317721SpeterEOF
4417721Speter
4517721Speter$dtrace -h -s prov.d
4625839Speterif [ $? -ne 0 ]; then
4725839Speter	print -u2 "failed to generate header file"
4817721Speter	exit 1
4917721Speterfi
5025839Speter
5117721Spetercat > test.c <<EOF
5217721Speter#include <sys/types.h>
5317721Speter#include "prov.h"
5417721Speter
5517721Speterint
5625839Spetermain(int argc, char **argv)
5717721Speter{
5825839Speter	if (TEST_PROV_GO_ENABLED()) {
5917721Speter		TEST_PROV_GO();
6025839Speter	}
6125839Speter}
6225839SpeterEOF
6325839Speter
6425839Spetercc -xarch=generic -c test.c
6525839Speterif [ $? -ne 0 ]; then
6625839Speter	print -u2 "failed to compile test.c"
6725839Speter	exit 1
6825839Speterfi
6925839Speter$dtrace -G -s prov.d test.o
7025839Speterif [ $? -ne 0 ]; then
7125839Speter	print -u2 "failed to create DOF"
7225839Speter	exit 1
7325839Speterfi
7425839Spetercc -xarch=generic -o test test.o prov.o
7525839Speterif [ $? -ne 0 ]; then
7625839Speter	print -u2 "failed to link final executable"
7725839Speter	exit 1
7825839Speterfi
7925839Speter
8025839Speterscript()
8125839Speter{
8225839Speter	$dtrace -c ./test -qs /dev/stdin <<EOF
8325839Speter	test_prov\$target:::
8425839Speter	{
8525839Speter		printf("%s:%s:%s\n", probemod, probefunc, probename);
8625839Speter	}
8725839SpeterEOF
8825839Speter}
8925839Speter
9025839Speterscript
9125839Speterstatus=$?
9225839Speter
9325839Spetercd /
9425839Speter/usr/bin/rm -rf $DIR
9525839Speter
9625839Speterexit $status
9725839Speter