From b4a3f67bd60014b398bd3b9e28aa759bff11703c Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Mon, 22 May 2017 20:34:51 +0000 Subject: [PATCH] Add a little helper program for tst.exitcore.ksh. sleep(1) is capsicumized, which means that we cannot rely on it to dump core as required by the test. MFC after: 1 week Sponsored by: Dell EMC Isilon --- .../test/tst/common/proc/tst.exitcore.c | 36 +++++++++++++++++++ .../test/tst/common/proc/tst.exitcore.ksh | 12 ++----- .../dtrace/tests/common/proc/Makefile | 1 + 3 files changed, 40 insertions(+), 9 deletions(-) create mode 100644 cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitcore.c diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitcore.c b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitcore.c new file mode 100644 index 000000000000..e72b5770b723 --- /dev/null +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitcore.c @@ -0,0 +1,36 @@ +/* + * 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 2017 Mark Johnston + */ + +#include + +int +main(int argc, char **argv) +{ + + for (;;) + sleep(1); + + return (0); +} diff --git a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitcore.ksh b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitcore.ksh index 867e4ffdf1eb..59094e3da37f 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitcore.ksh +++ b/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exitcore.ksh @@ -52,7 +52,7 @@ script() /curpsinfo->pr_ppid == $child && execargs == "$longsleep" && args[0] != CLD_DUMPED/ { - printf("Child process could did dump core."); + printf("Child process could not dump core."); exit(1); } EOF @@ -62,10 +62,9 @@ sleeper() { while true; do $longsleep & - /bin/sleep 1 + /bin/sleep 1 kill -SEGV $! done - /bin/rm -f $corefile } if [ $# != 1 ]; then @@ -74,8 +73,7 @@ if [ $# != 1 ]; then fi dtrace=$1 -longsleep="/bin/sleep 10000" -corefile=/tmp/sleep.core +longsleep="./tst.exitcore.exe" sleeper & child=$! @@ -83,10 +81,6 @@ child=$! script status=$? -#pstop $child -#pkill -P $child kill $child -#prun $child -/bin/rm -f $corefile exit $status diff --git a/cddl/usr.sbin/dtrace/tests/common/proc/Makefile b/cddl/usr.sbin/dtrace/tests/common/proc/Makefile index 5ca083fc9431..296634da3e38 100644 --- a/cddl/usr.sbin/dtrace/tests/common/proc/Makefile +++ b/cddl/usr.sbin/dtrace/tests/common/proc/Makefile @@ -23,6 +23,7 @@ TESTEXES= \ CFILES= \ + tst.exitcore.c \ tst.sigwait.c \