# vim: set filetype=expect: spawn $fish expect_prompt send_line "function echo_wrap ; /bin/echo $argv ; sleep 0.1; ; end" expect_prompt set timeout 10 for {set x 0} {$x<5} {incr x} { send_line "echo_wrap 1 2 3 4 | $fish_test_helper become_foreground_then_print_stderr ; or exit 1" expect_prompt "become_foreground_then_print_stderr done" {} unmatched { puts stderr "fish_test_helper become_foreground_then_print_stderr failed"} } # 'not' because we expect to have no jobs, in which case `jobs` will return false send_line "not jobs" expect_prompt "jobs: There are no jobs" {} unmatched { puts stderr "Should be no jobs" } send_line "function inner ; command true ; end; function outer; inner; end" expect_prompt for {set x 0} {$x<5} {incr x} { send_line "outer | $fish_test_helper become_foreground_then_print_stderr ; or exit 1" expect_prompt "become_foreground_then_print_stderr done" {} unmatched { puts stderr "fish_test_helper become_foreground_then_print_stderr failed"} } send_line "not jobs" expect_prompt "jobs: There are no jobs" {} unmatched { puts stderr "Should be no jobs" }