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
This commit is contained in:
markj 2017-05-22 20:34:51 +00:00
parent 371c3c64ac
commit ee8a80551d
3 changed files with 40 additions and 9 deletions

View File

@ -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 <markj@FreeBSD.org>
*/
#include <unistd.h>
int
main(int argc, char **argv)
{
for (;;)
sleep(1);
return (0);
}

View File

@ -52,7 +52,7 @@ script()
/curpsinfo->pr_ppid == $child && /curpsinfo->pr_ppid == $child &&
execargs == "$longsleep" && args[0] != CLD_DUMPED/ execargs == "$longsleep" && args[0] != CLD_DUMPED/
{ {
printf("Child process could did dump core."); printf("Child process could not dump core.");
exit(1); exit(1);
} }
EOF EOF
@ -62,10 +62,9 @@ sleeper()
{ {
while true; do while true; do
$longsleep & $longsleep &
/bin/sleep 1 /bin/sleep 1
kill -SEGV $! kill -SEGV $!
done done
/bin/rm -f $corefile
} }
if [ $# != 1 ]; then if [ $# != 1 ]; then
@ -74,8 +73,7 @@ if [ $# != 1 ]; then
fi fi
dtrace=$1 dtrace=$1
longsleep="/bin/sleep 10000" longsleep="./tst.exitcore.exe"
corefile=/tmp/sleep.core
sleeper & sleeper &
child=$! child=$!
@ -83,10 +81,6 @@ child=$!
script script
status=$? status=$?
#pstop $child
#pkill -P $child
kill $child kill $child
#prun $child
/bin/rm -f $corefile
exit $status exit $status

View File

@ -23,6 +23,7 @@ TESTEXES= \
CFILES= \ CFILES= \
tst.exitcore.c \
tst.sigwait.c \ tst.sigwait.c \