diff options
Diffstat (limited to 'cmd/dtrace/test/tst/common/scripting')
33 files changed, 1900 insertions, 0 deletions
diff --git a/cmd/dtrace/test/tst/common/scripting/err.D_MACRO_UNDEF.invalidargs.d b/cmd/dtrace/test/tst/common/scripting/err.D_MACRO_UNDEF.invalidargs.d new file mode 100644 index 0000000..27d969e --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/err.D_MACRO_UNDEF.invalidargs.d @@ -0,0 +1,43 @@ +#!/usr/sbin/dtrace -qs + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * Try to print arguments not provided. + * + * SECTION: Scripting + * + */ + +BEGIN +{ + print("The arguments are %d %d\n", $1, $2); + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/err.D_OP_LVAL.rdonly.d b/cmd/dtrace/test/tst/common/scripting/err.D_OP_LVAL.rdonly.d new file mode 100644 index 0000000..5bf4675 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/err.D_OP_LVAL.rdonly.d @@ -0,0 +1,43 @@ +#!/usr/sbin/dtrace -qs + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * Try to update a read-only macro. + * + * SECTION: Scripting + * + */ + +BEGIN +{ + $pid++; + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/err.D_OP_WRITE.usepidmacro.d b/cmd/dtrace/test/tst/common/scripting/err.D_OP_WRITE.usepidmacro.d new file mode 100644 index 0000000..649cbdb --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/err.D_OP_WRITE.usepidmacro.d @@ -0,0 +1,43 @@ +#!/usr/sbin/dtrace -qs + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * Try to assign value to Macro. + * + * SECTION: Scripting + * + */ + +BEGIN +{ + pid = 1; + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/err.D_SYNTAX.concat.d b/cmd/dtrace/test/tst/common/scripting/err.D_SYNTAX.concat.d new file mode 100644 index 0000000..00a2996 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/err.D_SYNTAX.concat.d @@ -0,0 +1,45 @@ +#!/usr/sbin/dtrace -qs + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * + * Try to concat macro with user variables in provider description + * section. + * + * SECTION: Scripting + * + */ + +BEGIN +/i = 123$pid/ +{ + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/err.D_SYNTAX.desc.d b/cmd/dtrace/test/tst/common/scripting/err.D_SYNTAX.desc.d new file mode 100644 index 0000000..3dfa2b2 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/err.D_SYNTAX.desc.d @@ -0,0 +1,49 @@ +#!/usr/sbin/dtrace -qs + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * + * Try to call providers using macro variables. + * + * SECTION: Scripting + * + */ + +BEGIN +/i = 123$pid/ +{ + exit(0); +} + +pid$pid +{ + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/err.D_SYNTAX.inval.d b/cmd/dtrace/test/tst/common/scripting/err.D_SYNTAX.inval.d new file mode 100644 index 0000000..28b251c --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/err.D_SYNTAX.inval.d @@ -0,0 +1,43 @@ +#!/usr/sbin/dtrace -qs + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * Attempt to print invalid arguments. + * + * SECTION: Scripting + * + */ + +BEGIN +{ + print("The arguments are %d %d\n", $-1); + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/err.D_SYNTAX.pid.d b/cmd/dtrace/test/tst/common/scripting/err.D_SYNTAX.pid.d new file mode 100644 index 0000000..d9711d2 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/err.D_SYNTAX.pid.d @@ -0,0 +1,43 @@ +#!/usr/sbin/dtrace -qs + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * Attempt to concat and assign a macro to a variable + * + * SECTION: Scripting + * + */ + +BEGIN +{ + i = 123$pid; + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/tst.D_MACRO_UNUSED.overflow.ksh b/cmd/dtrace/test/tst/common/scripting/tst.D_MACRO_UNUSED.overflow.ksh new file mode 100644 index 0000000..0f4e145 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.D_MACRO_UNUSED.overflow.ksh @@ -0,0 +1,80 @@ +#!/bin/ksh -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + +#ident "%Z%%M% %I% %E% SMI" + +############################################################################ +# ASSERTION: +# Attempt to pass some arguments and try not to print it. +# +# SECTION: Scripting +# +############################################################################ + +if [ $# != 1 ]; then + echo expected one argument: '<'dtrace-path'>' + exit 2 +fi + +dtrace=$1 +bname=`/bin/basename $0` +dfilename=/var/tmp/$bname.$$.d + +## Create .d file +########################################################################## +cat > $dfilename <<-EOF +#!$dtrace -qs + +BEGIN +{ + exit(0); +} +EOF +########################################################################## + + +#Call dtrace -C -s <.d> + +$dtrace -x errtags -s $dfilename "this is test" 1>/dev/null \ + 2>/var/tmp/err.$$.txt + +if [ $? -ne 1 ]; then + print -u2 "Error in executing $dfilename" + exit 1 +fi + +grep "D_MACRO_UNUSED" /var/tmp/err.$$.txt >/dev/null 2>&1 +if [ $? -ne 0 ]; then + print -u2 "Expected error D_MACRO_UNUSED not returned" + /usr/bin/rm -f /var/tmp/err.$$.txt + exit 1 +fi + +/usr/bin/rm -f $dfilename +/usr/bin/rm -f /var/tmp/err.$$.txt + +exit 0 diff --git a/cmd/dtrace/test/tst/common/scripting/tst.arg0.d b/cmd/dtrace/test/tst/common/scripting/tst.arg0.d new file mode 100644 index 0000000..999dbc3 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.arg0.d @@ -0,0 +1,43 @@ +#!/usr/sbin/dtrace -s + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * print argument 0 I mean "$0" + * + * SECTION: Scripting + * + */ + +BEGIN +{ + printf("The arg0 is %s\n", $0); + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/tst.arguments.ksh b/cmd/dtrace/test/tst/common/scripting/tst.arguments.ksh new file mode 100644 index 0000000..deb644a --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.arguments.ksh @@ -0,0 +1,90 @@ +#!/bin/ksh -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + +#ident "%Z%%M% %I% %E% SMI" + +############################################################################ +# ASSERTION: +# Pass 10 arguments and try to print them. +# +# SECTION: Scripting +# +############################################################################ + +if [ $# != 1 ]; then + echo expected one argument: '<'dtrace-path'>' + exit 2 +fi + +dtrace=$1 + +bname=`/bin/basename $0` + +dfilename=/var/tmp/$bname.$$ + + +## Create .d file +########################################################################## +cat > $dfilename <<-EOF +#!$dtrace -qs + + +BEGIN +{ + printf("%d %d %d %d %d %d %d %d %d %d", \$1, \$2, \$3, \$4, \$5, \$6, + \$7, \$8, \$9, \$10); + exit(0); +} +EOF +########################################################################## + + +#Call dtrace -C -s <.d> + +chmod 555 $dfilename + + +output=`$dfilename 1 2 3 4 5 6 7 8 9 10 2>/dev/null` + +if [ $? -ne 0 ]; then + print -u2 "Error in executing $dfilename" + exit 1 +fi + +set -A outarray $output + +if [[ ${outarray[0]} != 1 || ${outarray[1]} != 2 || ${outarray[2]} != 3 || \ + ${outarray[3]} != 4 || ${outarray[4]} != 5 || ${outarray[5]} != 6 || \ + ${outarray[6]} != 7 || ${outarray[7]} != 8 || ${outarray[8]} != 9 || \ + ${outarray[9]} != 10 ]]; then + print -u2 "Error in output by $dfilename" + exit 1 +fi + +/usr/bin/rm -f $dfilename +exit 0 + diff --git a/cmd/dtrace/test/tst/common/scripting/tst.assign.d b/cmd/dtrace/test/tst/common/scripting/tst.assign.d new file mode 100644 index 0000000..5dd1740 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.assign.d @@ -0,0 +1,43 @@ +#!/usr/sbin/dtrace -qs + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * Assign macros to variables + * + * SECTION: Scripting + * + */ + +BEGIN +{ + processid = $pid; + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/tst.basic.d b/cmd/dtrace/test/tst/common/scripting/tst.basic.d new file mode 100644 index 0000000..a407f83 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.basic.d @@ -0,0 +1,42 @@ +#!/usr/sbin/dtrace -s + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * Basic script which uses exit(0) to exit. + * + * SECTION: Scripting + * + */ + +BEGIN +{ + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/tst.egid.d b/cmd/dtrace/test/tst/common/scripting/tst.egid.d new file mode 100644 index 0000000..3899d2a --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.egid.d @@ -0,0 +1,43 @@ +#!/usr/sbin/dtrace -s + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * Script which prints effective group id. + * + * SECTION: Scripting + * + */ + +BEGIN +{ + printf("The egid is %d\n", $egid); + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/tst.egid.ksh b/cmd/dtrace/test/tst/common/scripting/tst.egid.ksh new file mode 100644 index 0000000..9e1955f --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.egid.ksh @@ -0,0 +1,97 @@ +#!/bin/ksh -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + +#ident "%Z%%M% %I% %E% SMI" + +############################################################################ +# ASSERTION: +# +# To verify egid of current process +# +# +# SECTION: Scripting +# +############################################################################ + +if [ $# != 1 ]; then + echo expected one argument: '<'dtrace-path'>' + exit 2 +fi + +dtrace=$1 +bname=`/bin/basename $0` +dfilename=/var/tmp/$bname.$$.d + +## Create .d file +########################################################################## +cat > $dfilename <<-EOF +#!$dtrace -qs + + +BEGIN +/\$egid != \$1/ +{ + exit(1); +} + +BEGIN +/\$egid == \$1/ +{ + exit(0); +} +EOF +########################################################################## + + +#chmod 555 the .d file + +chmod 555 $dfilename >/dev/null 2>&1 +if [ &? -ne 0 ]; then + print -u2 "chmod $dfilename failed" + exit 1 +fi + +#Get the groupid of the calling process using ps + +groupid=`ps -o pid,gid | grep "$$ " | awk '{print $2}' 2>/dev/null` +if [ $? -ne 0 ]; then + print -u2 "unable to get uid of the current process with pid = $$" + exit 1 +fi + +#Pass groupid as argument to .d file +$dfilename $groupid >/dev/null 2>&1 + +if [ $? -ne 0 ]; then + print -u2 "Error in executing $dfilename" + exit 1 +fi + +#Cleanup leftovers + +/usr/bin/rm -f $dfilename +exit 0 diff --git a/cmd/dtrace/test/tst/common/scripting/tst.euid.d b/cmd/dtrace/test/tst/common/scripting/tst.euid.d new file mode 100644 index 0000000..e4cdaa6 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.euid.d @@ -0,0 +1,44 @@ +#!/usr/sbin/dtrace -s + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * + * Script which prints effective user id. + * + * SECTION: Scripting + * + */ + +BEGIN +{ + printf("The euid is %d\n", $euid); + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/tst.euid.ksh b/cmd/dtrace/test/tst/common/scripting/tst.euid.ksh new file mode 100644 index 0000000..7112b25 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.euid.ksh @@ -0,0 +1,86 @@ +#!/bin/ksh -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + +#ident "%Z%%M% %I% %E% SMI" + +############################################################################ +# ASSERTION: +# To verify euid of current process +# +# SECTION: Scripting +# +############################################################################ + +if [ $# != 1 ]; then + echo expected one argument: '<'dtrace-path'>' + exit 2 +fi + +dtrace=$1 +bname=`/bin/basename $0` +dfilename=/var/tmp/$bname.$$ + +## Create .d file +########################################################################## +cat > $dfilename <<-EOF +#!$dtrace -qs + + +BEGIN +/\$euid != \$1/ +{ + exit(1); +} + +BEGIN +/\$euid == \$1/ +{ + exit(0); +} +EOF +########################################################################## + + +#Call dtrace -C -s <.d> + +chmod 555 $dfilename + +userid=`ps -o pid,uid | grep "$$ " | awk '{print $2}' 2>/dev/null` +if [ $? -ne 0 ]; then + print -u2 "unable to get uid of the current process with pid = $$" + exit 1 +fi + +$dfilename $userid >/dev/null 2>&1 + +if [ $? -ne 0 ]; then + print -u2 "Error in executing $dfilename" + exit 1 +fi + +#/usr/bin/rm -f $dfilename +exit 0 diff --git a/cmd/dtrace/test/tst/common/scripting/tst.gid.d b/cmd/dtrace/test/tst/common/scripting/tst.gid.d new file mode 100644 index 0000000..c3329ce --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.gid.d @@ -0,0 +1,43 @@ +#!/usr/sbin/dtrace -s + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * Script which prints group id. + * + * SECTION: Scripting + * + */ + +BEGIN +{ + printf("The gid is %d\n", $gid); + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/tst.gid.ksh b/cmd/dtrace/test/tst/common/scripting/tst.gid.ksh new file mode 100644 index 0000000..83955db --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.gid.ksh @@ -0,0 +1,86 @@ +#!/bin/ksh -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + +#ident "%Z%%M% %I% %E% SMI" + +############################################################################ +# ASSERTION: +# To verify gid of the child process. +# +# SECTION: Scripting +# +############################################################################ + +if [ $# != 1 ]; then + echo expected one argument: '<'dtrace-path'>' + exit 2 +fi + +dtrace=$1 +bname=`/bin/basename $0` +dfilename=/var/tmp/$bname.$$ + +## Create .d file +########################################################################## +cat > $dfilename <<-EOF +#!$dtrace -qs + + +BEGIN +/\$gid != \$1/ +{ + exit(1); +} + +BEGIN +/\$gid == \$1/ +{ + exit(0); +} +EOF +########################################################################## + + +#Call dtrace -C -s <.d> + +chmod 555 $dfilename + +groupid=`ps -o pid,gid | grep "$$ " | awk '{print $2}' 2>/dev/null` +if [ $? -ne 0 ]; then + print -u2 "unable to get uid of the current process with pid = $$" + exit 1 +fi + +$dfilename $groupid >/dev/null 2>&1 + +if [ $? -ne 0 ]; then + print -u2 "Error in executing $dfilename" + exit 1 +fi + +#/usr/bin/rm -f $dfilename +exit 0 diff --git a/cmd/dtrace/test/tst/common/scripting/tst.pgid.d b/cmd/dtrace/test/tst/common/scripting/tst.pgid.d new file mode 100644 index 0000000..e01b996 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.pgid.d @@ -0,0 +1,43 @@ +#!/usr/sbin/dtrace -qs + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * Script which prints effective process group id. + * + * SECTION: Scripting + * + */ + +BEGIN +{ + printf("The pgid is %d\n", $pgid); + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/tst.pid.d b/cmd/dtrace/test/tst/common/scripting/tst.pid.d new file mode 100644 index 0000000..1364366 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.pid.d @@ -0,0 +1,43 @@ +#!/usr/sbin/dtrace -qs + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * Script which prints pid. + * + * SECTION: Scripting + * + */ + +BEGIN +{ + printf("The pid is %d\n", $pid); + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/tst.ppid.d b/cmd/dtrace/test/tst/common/scripting/tst.ppid.d new file mode 100644 index 0000000..8712cd9 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.ppid.d @@ -0,0 +1,43 @@ +#!/usr/sbin/dtrace -s + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * Script which prints parent processid + * + * SECTION: Scripting + * + */ + +BEGIN +{ + printf("The ppid is %d\n", $ppid); + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/tst.ppid.ksh b/cmd/dtrace/test/tst/common/scripting/tst.ppid.ksh new file mode 100644 index 0000000..4a74ee4 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.ppid.ksh @@ -0,0 +1,86 @@ +#!/bin/ksh -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + +#ident "%Z%%M% %I% %E% SMI" + +############################################################################ +# ASSERTION: +# To verify ppid of child process. +# +# SECTION: Scripting +# +############################################################################ + +if [ $# != 1 ]; then + echo expected one argument: '<'dtrace-path'>' + exit 2 +fi + +dtrace=$1 +bname=`/bin/basename $0` +dfilename=/var/tmp/$bname.$$.d + +## Create .d file +########################################################################## +cat > $dfilename <<-EOF +#!$dtrace -qs + + +BEGIN +/\$ppid != \$1/ +{ + exit(1); +} + +BEGIN +/\$ppid == \$1/ +{ + exit(0); +} +EOF +########################################################################## + + +#chmod the .d file to 555 + +chmod 555 $dfilename >/dev/null 2>&1 +if [ $? -ne 0 ]; then + print -u2 "chmod 555 $dfilename failed" + exit 1 +fi + +#Pass current pid (I mean parent pid for .d script). + +$dfilename $$ >/dev/null 2>&1 + +if [ $? -ne 0 ]; then + print -u2 "Error in executing $dfilename" + exit 1 +fi + +#/usr/bin/rm -f $dfilename +exit 0 diff --git a/cmd/dtrace/test/tst/common/scripting/tst.projid.d b/cmd/dtrace/test/tst/common/scripting/tst.projid.d new file mode 100644 index 0000000..a81ab8e --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.projid.d @@ -0,0 +1,43 @@ +#!/usr/sbin/dtrace -s + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * Script which prints current project id. + * + * SECTION: Scripting + * + */ + +BEGIN +{ + printf("The projid is %d\n", $projid); + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/tst.projid.ksh b/cmd/dtrace/test/tst/common/scripting/tst.projid.ksh new file mode 100644 index 0000000..da60ea1 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.projid.ksh @@ -0,0 +1,86 @@ +#!/bin/ksh -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + +#ident "%Z%%M% %I% %E% SMI" + +############################################################################ +# ASSERTION: +# To verify projid of child process. +# +# SECTION: Scripting +# +############################################################################ + +if [ $# != 1 ]; then + echo expected one argument: '<'dtrace-path'>' + exit 2 +fi + +dtrace=$1 +bname=`/bin/basename $0` +dfilename=/var/tmp/$bname.$$ + +## Create .d file +########################################################################## +cat > $dfilename <<-EOF +#!$dtrace -qs + + +BEGIN +/\$projid != \$1/ +{ + exit(1); +} + +BEGIN +/\$projid == \$1/ +{ + exit(0); +} +EOF +########################################################################## + + +#Call dtrace -C -s <.d> + +chmod 555 $dfilename + +projectid=`ps -o pid,projid | grep "$$ " | awk '{print $2}' 2>/dev/null` +if [ $? -ne 0 ]; then + print -u2 "unable to get uid of the current process with pid = $$" + exit 1 +fi + +$dfilename $projectid >/dev/null 2>&1 + +if [ $? -ne 0 ]; then + print -u2 "Error in executing $dfilename" + exit 1 +fi + +#/usr/bin/rm -f $dfilename +exit 0 diff --git a/cmd/dtrace/test/tst/common/scripting/tst.quite.d b/cmd/dtrace/test/tst/common/scripting/tst.quite.d new file mode 100644 index 0000000..c61debe --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.quite.d @@ -0,0 +1,42 @@ +#!/usr/sbin/dtrace -qs + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * Script which uses -qs in scripting line + * + * SECTION: Scripting + * + */ + +BEGIN +{ + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/tst.sid.d b/cmd/dtrace/test/tst/common/scripting/tst.sid.d new file mode 100644 index 0000000..87bab53 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.sid.d @@ -0,0 +1,43 @@ +#!/usr/sbin/dtrace -s + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * Script which prints session id. + * + * SECTION: Scripting + * + */ + +BEGIN +{ + printf("The sid is %d\n", $sid); + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/tst.sid.ksh b/cmd/dtrace/test/tst/common/scripting/tst.sid.ksh new file mode 100644 index 0000000..d1e122c --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.sid.ksh @@ -0,0 +1,86 @@ +#!/bin/ksh -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + +#ident "%Z%%M% %I% %E% SMI" + +############################################################################ +# ASSERTION: +# To verify sid of current process. +# +# SECTION: Scripting +# +############################################################################ + +if [ $# != 1 ]; then + echo expected one argument: '<'dtrace-path'>' + exit 2 +fi + +dtrace=$1 +bname=`/bin/basename $0` +dfilename=/var/tmp/$bname.$$ + +## Create .d file +########################################################################## +cat > $dfilename <<-EOF +#!$dtrace -qs + + +BEGIN +/\$sid != \$1/ +{ + exit(1); +} + +BEGIN +/\$sid == \$1/ +{ + exit(0); +} +EOF +########################################################################## + + +#Call dtrace -C -s <.d> + +chmod 555 $dfilename + +sessionid=`ps -o pid,sid | grep "$$ " | awk '{print $2}' 2>/dev/null` +if [ $? -ne 0 ]; then + print -u2 "unable to get sid of the current process with pid = $$" + exit 1 +fi + +$dfilename $sessionid >/dev/null 2>&1 + +if [ $? -ne 0 ]; then + print -u2 "Error in executing $dfilename" + exit 1 +fi + +#/usr/bin/rm -f $dfilename +exit 0 diff --git a/cmd/dtrace/test/tst/common/scripting/tst.stringmacro.ksh b/cmd/dtrace/test/tst/common/scripting/tst.stringmacro.ksh new file mode 100644 index 0000000..6903cb1 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.stringmacro.ksh @@ -0,0 +1,78 @@ +#!/bin/ksh -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + +#ident "%Z%%M% %I% %E% SMI" + +############################################################################ +# ASSERTION: +# Pass a bunch of strings as a sentence and print them +# +# SECTION: Scripting +# +############################################################################ + +if [ $# != 1 ]; then + echo expected one argument: '<'dtrace-path'>' + exit 2 +fi + +dtrace=$1 +bname=`/bin/basename $0` +dfilename=/var/tmp/$bname.$$.d + +## Create .d file +########################################################################## +cat > $dfilename <<-EOF +#!$dtrace -qs + +BEGIN +{ + printf("%s", \$\$1); + exit(0); +} +EOF +########################################################################## + + +#Call dtrace -C -s <.d> + +chmod 555 $dfilename + +output=`$dfilename 'this is test' 2>/dev/null` + +if [ $? -ne 0 ]; then + print -u2 "Error in executing $dfilename" + exit 1 +fi + +if [ "$output" != "this is test" ]; then + print -u2 "Expected output not returned" + exit 1 +fi + +/usr/bin/rm -f $dfilename +exit 0 diff --git a/cmd/dtrace/test/tst/common/scripting/tst.taskid.d b/cmd/dtrace/test/tst/common/scripting/tst.taskid.d new file mode 100644 index 0000000..617827c --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.taskid.d @@ -0,0 +1,43 @@ +#!/usr/sbin/dtrace -s + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * Script which prints taskid. + * + * SECTION: Scripting + * + */ + +BEGIN +{ + printf("The taskid is %d\n", $taskid); + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/tst.taskid.ksh b/cmd/dtrace/test/tst/common/scripting/tst.taskid.ksh new file mode 100644 index 0000000..54392d2 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.taskid.ksh @@ -0,0 +1,86 @@ +#!/bin/ksh -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + +#ident "%Z%%M% %I% %E% SMI" + +############################################################################ +# ASSERTION: +# To verify taskid of current process. +# +# SECTION: Scripting +# +############################################################################ + +if [ $# != 1 ]; then + echo expected one argument: '<'dtrace-path'>' + exit 2 +fi + +dtrace=$1 +bname=`/bin/basename $0` +dfilename=/var/tmp/$bname.$$ + +## Create .d file +########################################################################## +cat > $dfilename <<-EOF +#!$dtrace -qs + + +BEGIN +/\$taskid != \$1/ +{ + exit(1); +} + +BEGIN +/\$taskid == \$1/ +{ + exit(0); +} +EOF +########################################################################## + + +#Call dtrace -C -s <.d> + +chmod 555 $dfilename + +taskidval=`ps -o pid,taskid | grep "$$ " | awk '{print $2}' 2>/dev/null` +if [ $? -ne 0 ]; then + print -u2 "unable to get uid of the current process with pid = $$" + exit 1 +fi + +$dfilename $taskidval >/dev/null 2>&1 + +if [ $? -ne 0 ]; then + print -u2 "Error in executing $dfilename" + exit 1 +fi + +#/usr/bin/rm -f $dfilename +exit 0 diff --git a/cmd/dtrace/test/tst/common/scripting/tst.trace.d b/cmd/dtrace/test/tst/common/scripting/tst.trace.d new file mode 100644 index 0000000..34ba243 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.trace.d @@ -0,0 +1,43 @@ +#!/usr/sbin/dtrace -s + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * To use trace in a script + * + * SECTION: Scripting + * + */ + +BEGIN +{ + trace("hello"); + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/tst.uid.d b/cmd/dtrace/test/tst/common/scripting/tst.uid.d new file mode 100644 index 0000000..f3ebca6 --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.uid.d @@ -0,0 +1,43 @@ +#!/usr/sbin/dtrace -s + +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma ident "%Z%%M% %I% %E% SMI" + +/* + * ASSERTION: + * print uid in a script + * + * SECTION: Scripting + * + */ + +BEGIN +{ + printf("The uid is %d\n", $uid); + exit(0); +} diff --git a/cmd/dtrace/test/tst/common/scripting/tst.uid.ksh b/cmd/dtrace/test/tst/common/scripting/tst.uid.ksh new file mode 100644 index 0000000..2630f2f --- /dev/null +++ b/cmd/dtrace/test/tst/common/scripting/tst.uid.ksh @@ -0,0 +1,86 @@ +#!/bin/ksh -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2006 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + +#ident "%Z%%M% %I% %E% SMI" + +############################################################################ +# ASSERTION: +# To verify uid of current process. +# +# SECTION: Scripting +# +############################################################################ + +if [ $# != 1 ]; then + echo expected one argument: '<'dtrace-path'>' + exit 2 +fi + +dtrace=$1 +bname=`/bin/basename $0` +dfilename=/var/tmp/$bname.$$ + +## Create .d file +########################################################################## +cat > $dfilename <<-EOF +#!$dtrace -qs + + +BEGIN +/\$uid != \$1/ +{ + exit(1); +} + +BEGIN +/\$uid == \$1/ +{ + exit(0); +} +EOF +########################################################################## + + +#Call dtrace -C -s <.d> + +chmod 555 $dfilename + +userid=`ps -o pid,uid | grep "$$ " | awk '{print $2}' 2>/dev/null` +if [ $? -ne 0 ]; then + print -u2 "unable to get uid of the current process with pid = $$" + exit 1 +fi + +$dfilename $userid >/dev/null 2>&1 + +if [ $? -ne 0 ]; then + print -u2 "Error in executing $dfilename" + exit 1 +fi + +#/usr/bin/rm -f $dfilename +exit 0 |