mirror of
https://repo.or.cz/socat.git
synced 2024-12-22 23:42:34 +00:00
test.sh: fixed hanging on OpenBSD-4
This commit is contained in:
parent
f123013881
commit
e4bf2b4d0e
1 changed files with 37 additions and 15 deletions
54
test.sh
54
test.sh
|
@ -11439,8 +11439,9 @@ tw="$td/test$N.wc-c"
|
||||||
# this is the size we write() in one call; data is never stored on disk, so
|
# this is the size we write() in one call; data is never stored on disk, so
|
||||||
# make it large enough to exceed any atomic write size; but higher number might
|
# make it large enough to exceed any atomic write size; but higher number might
|
||||||
# take much time
|
# take much time
|
||||||
|
# Note: in OpenBSD-4 the PIPE does not deliver EOF, thus -T
|
||||||
bytes=100000 # for Linux 2.6.? this must be >65536
|
bytes=100000 # for Linux 2.6.? this must be >65536
|
||||||
CMD0="$TRACE $SOCAT $opts -u PIPE:$tp STDOUT"
|
CMD0="$TRACE $SOCAT $opts -u -T 2 PIPE:$tp STDOUT"
|
||||||
CMD1="$TRACE $SOCAT $opts -u -b $bytes OPEN:/dev/zero,readbytes=$bytes FILE:$tp,o-nonblock"
|
CMD1="$TRACE $SOCAT $opts -u -b $bytes OPEN:/dev/zero,readbytes=$bytes FILE:$tp,o-nonblock"
|
||||||
printf "test $F_n $TEST... " $N
|
printf "test $F_n $TEST... " $N
|
||||||
$CMD0 2>"${te}0" |wc -c >"$tw" &
|
$CMD0 2>"${te}0" |wc -c >"$tw" &
|
||||||
|
@ -11450,21 +11451,41 @@ $CMD1 2>"${te}1" >"${tf}1"
|
||||||
rc1=$?
|
rc1=$?
|
||||||
wait
|
wait
|
||||||
if [ $rc1 -ne 0 ]; then
|
if [ $rc1 -ne 0 ]; then
|
||||||
$PRINTF "$NO_RESULT\n"
|
$PRINTF "$FAILED (rc1=$rc1)\n"
|
||||||
numCANT=$((numCANT+1))
|
echo "$CMD0 &"
|
||||||
listCANT="$listCANT $N"
|
cat "${te}0" >&2
|
||||||
elif [ ! -e "$tw" ]; then
|
echo "$CMD1"
|
||||||
$PRINTF "$NO_RESULT\n"
|
cat "${te}1" >&2
|
||||||
numCANT=$((numCANT+1))
|
|
||||||
listCANT="$listCANT $N"
|
|
||||||
elif [ "$bytes" -eq $(cat "$tw") ]; then
|
|
||||||
$PRINTF "$OK\n"
|
|
||||||
numOK=$((numOK+1))
|
|
||||||
else
|
|
||||||
$PRINTF "$FAILED\n"
|
|
||||||
echo "transferred only $(cat $tw) of $bytes bytes" >&2
|
|
||||||
numFAIL=$((numFAIL+1))
|
numFAIL=$((numFAIL+1))
|
||||||
listFAIL="$listFAIL $N"
|
listFAIL="$listFAIL $N"
|
||||||
|
namesFAIL="$namesFAIL $NAME"
|
||||||
|
elif [ ! -e "$tw" ]; then
|
||||||
|
$PRINTF "$NO_RESULT (no wc -c output)\n"
|
||||||
|
if [ "$VERBOSE" ]; then echo "$CMD0 &"; fi
|
||||||
|
if [ "$DEBUG" ]; then cat "${te}0" >&2; fi
|
||||||
|
if [ "$VERBOSE" ]; then echo "$CMD1"; fi
|
||||||
|
if [ "$DEBUG" ]; then cat "${te}1" >&2; fi
|
||||||
|
numCANT=$((numCANT+1))
|
||||||
|
listCANT="$listCANT $N"
|
||||||
|
namesCANT="$namesCANT $NAME"
|
||||||
|
elif [ "$bytes" -eq $(cat "$tw") ]; then
|
||||||
|
$PRINTF "$OK\n"
|
||||||
|
if [ "$VERBOSE" ]; then echo "$CMD0 &"; fi
|
||||||
|
if [ "$DEBUG" ]; then cat "${te}0" >&2; fi
|
||||||
|
if [ "$VERBOSE" ]; then echo "$CMD1"; fi
|
||||||
|
if [ "$DEBUG" ]; then cat "${te}1" >&2; fi
|
||||||
|
numOK=$((numOK+1))
|
||||||
|
listOK="$listOK $N"
|
||||||
|
else
|
||||||
|
$PRINTF "$FAILED (incomplete)\n"
|
||||||
|
echo "transferred only $(cat $tw) of $bytes bytes" >&2
|
||||||
|
echo "$CMD0 &"
|
||||||
|
cat "${te}0" >&2
|
||||||
|
echo "$CMD1"
|
||||||
|
cat "${te}1" >&2
|
||||||
|
numFAIL=$((numFAIL+1))
|
||||||
|
listFAIL="$listFAIL $N"
|
||||||
|
namesFAIL="$namesFAIL $NAME"
|
||||||
fi
|
fi
|
||||||
fi # NUMCOND
|
fi # NUMCOND
|
||||||
;;
|
;;
|
||||||
|
@ -17545,8 +17566,9 @@ tf="$td/test$N.stdout"
|
||||||
te="$td/test$N.stderr"
|
te="$td/test$N.stderr"
|
||||||
tdiff="$td/test$N.diff"
|
tdiff="$td/test$N.diff"
|
||||||
da="test$N $(date) $RANDOM"
|
da="test$N $(date) $RANDOM"
|
||||||
#CMD0="$TRACE $SOCAT $opts PIPE SHELL:\"$SOCAT\ -dddd\ -lf ${te}1\ PIPE\ PIPE\",setsid,sigint"
|
#CMD0="$TRACE $SOCAT $opts PIPE SYSTEM:\"$SOCAT\ -dddd\ -lf ${te}1\ PIPE\ PIPE\",setsid,sigint"
|
||||||
CMD0="$TRACE $SOCAT $opts SOCKETPAIR SHELL:\"$SOCAT\ -dddd\ -lf ${te}1\ PIPE\ PIPE\",setsid,sigint"
|
# -T is required on (only?) OpenBSD-4
|
||||||
|
CMD0="$TRACE $SOCAT $opts -T 2 SOCKETPAIR SYSTEM:\"$SOCAT\ -dddd\ -lf ${te}1\ PIPE\ PIPE\",setsid,sigint"
|
||||||
printf "test $F_n $TEST... " $N
|
printf "test $F_n $TEST... " $N
|
||||||
eval $CMD0 >/dev/null 2>"${te}0" &
|
eval $CMD0 >/dev/null 2>"${te}0" &
|
||||||
pid0=$!
|
pid0=$!
|
||||||
|
|
Loading…
Reference in a new issue