mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-12-28 04:05:12 +01:00
76 lines
1.1 KiB
Text
76 lines
1.1 KiB
Text
# These are some tests for the job control code. The code chunks
|
|
# have to be run interactively. Some use files in the zsh distribution.
|
|
|
|
# Try
|
|
# ^Z
|
|
# fg
|
|
if true; then cat Src/builtin.c | less; fi
|
|
|
|
# Try
|
|
# ^Z
|
|
# fg
|
|
fn() {
|
|
if true; then cat Src/builtin.c | less; fi
|
|
}
|
|
fn
|
|
|
|
# Try
|
|
# ^Z
|
|
# fg
|
|
# ^C
|
|
# then
|
|
# ^Z
|
|
# bg
|
|
# kill
|
|
while true; do sed -e 's/foo/bar/' Src/builtin.c >/dev/null; done
|
|
|
|
# Try
|
|
# ^C
|
|
# 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
|
|
|