Testing the Interactive Shell - oilshell/oil GitHub Wiki

Interactive Shell

It would be nice to automate this, but for now we should do basic manual testing upon release:

  • Hit Tab for completions
  • Hit tab in the middle of the line
  • Hit tab on second line
  • Change the window size and hit tab again

Signals:

  • Ctrl-C, Ctrl-\ in the shell
  • sleep 5, Ctrl-Z, then fg
  • Start cat and run Ctrl-C, Ctrl-Z, Ctrl-\
  • Start cat | head and run Ctrl-C, Ctrl-Z, Ctrl-\
  • Start a builtin read and run Ctrl-C, Ctrl-Z, Ctrl-\
  • sleep 5 &, then wait
    • then Ctrl-C
  • time for i in $(seq 1000000); do true; done and Ctrl-C -- busy loop should be cancellable. (zsh has problems here.)
  • Test signal in NON-interactive shell:
    • osh -c 'sleep 5' and then Ctrl-C
    • demo/ctrl-c.sh loop, then Ctrl-C
  • User handlers: trap 'echo hi' INT, and then hit Ctrl-C
    • demo/trap.sh sigint-batch, sigterm-batch

SIGWINCH:

  • Resize window and hit tab in a directory with many entries

Other:

  • Ctrl-D to exit shell