summaryrefslogtreecommitdiff
path: root/Misc/job-control-tests
diff options
context:
space:
mode:
Diffstat (limited to 'Misc/job-control-tests')
-rw-r--r--Misc/job-control-tests45
1 files changed, 45 insertions, 0 deletions
diff --git a/Misc/job-control-tests b/Misc/job-control-tests
index 7e35fba0b..ecb9a7694 100644
--- a/Misc/job-control-tests
+++ b/Misc/job-control-tests
@@ -29,3 +29,48 @@ while true; do sed -e 's/foo/bar/' Src/builtin.c >/dev/null; done
# ignoring the error messages from sed.
# ^Z is more of a problem since you have to catch the sed.
while true; do sed -e 's/foo/bar/' non-existent-file >/dev/null; done
+
+# Try
+# ^Z
+# fg
+# ^Z
+# fg
+fn() {
+ local a
+ while read a; do :; done
+ less "$@"
+}
+cat foo | fn bar
+
+# Try
+# ^Z
+# fg
+fn() {
+ cat builtin.c
+}
+fn | while read a; do :; done
+
+# Try
+# ^Z
+# fg
+# q
+# ^Z
+# fg
+# q
+fn() {
+ less builtin.c
+ echo done
+}
+x=2; while (( x-- )); do f; done
+
+# Try
+# ^C
+# This won't work because zcat doesn't tell us that it received a signal.
+# But
+# ^Z
+# fg
+# ^C (probably a second ^C is needed: if the continued zcat is still running)
+# works.
+# (See also the file Etc/BUGS)
+while true; do zcat foo.gz > /dev/null; done
+