diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/snapshots/cmdexit.golden | 14 | ||||
| -rw-r--r-- | test/snapshots/cmdexit.snap | 26 |
2 files changed, 40 insertions, 0 deletions
diff --git a/test/snapshots/cmdexit.golden b/test/snapshots/cmdexit.golden new file mode 100644 index 00000000..58412752 --- /dev/null +++ b/test/snapshots/cmdexit.golden @@ -0,0 +1,14 @@ +== snap opened grid=120x31 cursor=7,3 +|Newcol Joincol Find Grep Help Changelog Tutor Dump NextColor Debug Exit +| New Tty Find Grep Joincol Delcol +| /tmp/pardes-snap/cmdexit/cwd/cmds.txt Save Tty Collapse Del +| 1 sleep 30 & echo BG''STARTED +| 2 exec </dev/null >/dev/null 2>&1; sleep 1; false +== snap background grid=120x31 cursor=7,3 +|17: /tmp/pardes-snap/cmdexit/cwd (sleep 30 & echo BG''STARTED) exit 0 Kill Save Collapse Del +|18: BGSTARTED +|19: exit 0 +== snap letgo grid=120x31 cursor=7,3 +|17: /tmp/pardes-snap/cmdexit/cwd (exec </dev/null >/dev/null 2>&1; sleep 1; false) exit 1 Kill Save Collapse Del +|20: % exec </dev/null >/dev/null 2>&1; sleep 1; false +|21: exit 1 diff --git a/test/snapshots/cmdexit.snap b/test/snapshots/cmdexit.snap new file mode 100644 index 00000000..ff60a881 --- /dev/null +++ b/test/snapshots/cmdexit.snap @@ -0,0 +1,26 @@ +# A command pane's command is over when its process exits, not when its pty +# closes. A job it leaves in the background holds the pty open, and the pane +# still says `exit 0` as soon as the command itself is done; a command that +# lets go of its terminal and runs on is not hung up at its pty's end, and +# says how it ended when it does. +file cmds.txt sleep 30 & echo BG''STARTED\nexec </dev/null >/dev/null 2>&1; sleep 1; false +config Verbose off +start 31 120 cmds.txt +wait 8000 cmds.txt +stable 700 20000 +snap opened +# line 1: `sleep 30` keeps the pty, and the pane says exit 0 regardless +press middle 7 4 +drag middle 34 4 +release middle 34 4 +wait 10000 exit 0 +stable 700 15000 +snap background +# line 2, in the same pane now its command is done: its end of file comes at +# once, and its exit a second later, from `false` +press middle 7 5 +drag middle 54 5 +release middle 54 5 +wait 10000 exit 1 +stable 700 15000 +snap letgo |
