From cc264fb58b9da76c5bbb657613c26f6cd99f6afe Mon Sep 17 00:00:00 2001 From: Bart Schaefer Date: Sun, 1 May 2022 11:56:28 -0700 Subject: 50159: Tests for sysread, including 50101 regression --- ChangeLog | 4 ++++ Test/V14system.ztst | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) diff --git a/ChangeLog b/ChangeLog index b1f7f643d..f5da4218d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2022-05-01 Bart Schaefer + + * 50159: Test/V14system.ztst: Tests for sysread + 2022-04-30 Bart Schaefer * unposted: Etc/BUGS: remove debian #924736, fixed since 5.8 by diff --git a/Test/V14system.ztst b/Test/V14system.ztst index ffdb730a4..81253324f 100644 --- a/Test/V14system.ztst +++ b/Test/V14system.ztst @@ -147,3 +147,69 @@ F:This timing test might fail due to process scheduling issues unrelated to zsh. 0:zsystem flock successful wait test, fractional seconds ?elapsed time seems OK F:This timing test might fail due to process scheduling issues unrelated to zsh. + + unset chars REPLY + print -n a few words | sysread -i 0 -c chars + ret=$? + print -- $chars x${REPLY}x + return ret +0:sysread default +>11 xa few wordsx + + unset chars REPLY + sysread -i 9 -c chars + ret=$? + print -- $chars x${REPLY}x + return ret +2:sysread read error +>-1 xx + + REPLY="say nothing" + sysread -i 9 -c chars + ret=$? + print -- $chars x${REPLY}x + return ret +2f:sysread read error +F:The value of $REPLY should be empty or unset when nothing is read? +>-1 xx + + unset chars REPLY + print -n a few words | sysread -i 0 -o 9 -c chars + ret=$? + print -- $chars x${REPLY}x + return ret +3:sysread write error +>11 xx + + sleep 3 | sysread -i 0 -t 1 +4:sysread timeout + + sysread -i 0 11 xa few wordsx + + unset chars oration + print a few words | sysread -i 0 -o 1 -c chars oration + ret=$? + print -- $chars x${oration}x $REPLY + return ret +0:regression test: sucessful sysread with both -o and a parameter +>a few words +>12 xx + + oration="do not say these words" + print a few words | sysread -i 0 -o 1 -c chars oration + ret=$? + print -- $chars x${oration}x $REPLY + return ret +0f:successful sysread with both -o and a parameter +F:The value of $oration should be empty or unset when everything is written? +>a few words +>12 xx -- cgit 1.4.1