xref: /onnv-gate/usr/src/cmd/dtrace/test/tst/common/scripting/tst.ppid.ksh (revision 2804:e8e3422f18c2)
12633Sahl#!/bin/ksh -p
22633Sahl#
32633Sahl# CDDL HEADER START
42633Sahl#
52633Sahl# The contents of this file are subject to the terms of the
62633Sahl# Common Development and Distribution License (the "License").
72633Sahl# You may not use this file except in compliance with the License.
82633Sahl#
92633Sahl# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
102633Sahl# or http://www.opensolaris.org/os/licensing.
112633Sahl# See the License for the specific language governing permissions
122633Sahl# and limitations under the License.
132633Sahl#
142633Sahl# When distributing Covered Code, include this CDDL HEADER in each
152633Sahl# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
162633Sahl# If applicable, add the following below this CDDL HEADER, with the
172633Sahl# fields enclosed by brackets "[]" replaced with your own identifying
182633Sahl# information: Portions Copyright [yyyy] [name of copyright owner]
192633Sahl#
202633Sahl# CDDL HEADER END
212633Sahl#
222633Sahl
232633Sahl#
242633Sahl# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
252633Sahl# Use is subject to license terms.
262633Sahl#
272633Sahl
282633Sahl#ident	"%Z%%M%	%I%	%E% SMI"
292633Sahl
302633Sahl############################################################################
312633Sahl# ASSERTION:
322633Sahl#	To verify ppid of child process.
332633Sahl#
342633Sahl# SECTION: Scripting
352633Sahl#
362633Sahl############################################################################
372633Sahl
38*2804Stomeeif [ $# != 1 ]; then
39*2804Stomee	echo expected one argument: '<'dtrace-path'>'
40*2804Stomee	exit 2
41*2804Stomeefi
42*2804Stomee
43*2804Stomeedtrace=$1
442633Sahlbname=`/bin/basename $0`
452633Sahldfilename=/var/tmp/$bname.$$.d
462633Sahl
472633Sahl## Create .d file
482633Sahl##########################################################################
492633Sahlcat > $dfilename <<-EOF
50*2804Stomee#!$dtrace -qs
512633Sahl
522633Sahl
532633SahlBEGIN
542633Sahl/\$ppid != \$1/
552633Sahl{
562633Sahl	exit(1);
572633Sahl}
582633Sahl
592633SahlBEGIN
602633Sahl/\$ppid == \$1/
612633Sahl{
622633Sahl	exit(0);
632633Sahl}
642633SahlEOF
652633Sahl##########################################################################
662633Sahl
672633Sahl
682633Sahl#chmod the .d file to 555
692633Sahl
702633Sahlchmod 555 $dfilename >/dev/null 2>&1
712633Sahlif [ $? -ne 0 ]; then
722633Sahl	print -u2 "chmod 555 $dfilename failed"
732633Sahl	exit 1
742633Sahlfi
752633Sahl
762633Sahl#Pass current pid (I mean parent pid for .d script).
772633Sahl
782633Sahl$dfilename $$ >/dev/null 2>&1
79*2804Stomee
802633Sahlif [ $? -ne 0 ]; then
812633Sahl	print -u2 "Error in executing $dfilename"
822633Sahl	exit 1
832633Sahlfi
842633Sahl
852633Sahl#/usr/bin/rm -f $dfilename
862633Sahlexit 0
87