__ builtin-history shell: /home/uke/oil/bin/osh which $SH: case 0: history -a argv: /home/uke/oil/bin/osh case 1: history -r argv: /home/uke/oil/bin/osh case 2: HISTFILE is defined initially argv: /home/uke/oil/bin/osh case 3: HISTFILE must point to a file argv: /home/uke/oil/bin/osh case 4: HISTFILE set to array argv: /home/uke/oil/bin/osh case 5: HISTFILE unset argv: /home/uke/oil/bin/osh case 6: history -d to delete history item argv: /home/uke/oil/bin/osh case 7: history usage argv: /home/uke/oil/bin/osh builtin-history: note: Got 0 allowed oils failures (exit with code 0) __ interactive shell: /home/uke/oil/bin/osh which $SH: case 0: 'exit' in oshrc (regression) argv: /home/uke/oil/bin/osh case 1: fatal errors continue argv: /home/uke/oil/bin/osh case 2: interactive shell loads rcfile (when combined with -c) argv: /home/uke/oil/bin/osh case 3: interactive shell loads files in rcdir (when combined with -c) argv: /home/uke/oil/bin/osh case 4: nonexistent --rcdir is ignored argv: /home/uke/oil/bin/osh case 5: shell doesn't load rcfile/rcdir if --norc is given argv: /home/uke/oil/bin/osh case 6: interactive shell runs PROMPT_COMMAND after each command argv: /home/uke/oil/bin/osh case 7: parse error in PROMPT_COMMAND argv: /home/uke/oil/bin/osh case 8: runtime error in PROMPT_COMMAND argv: /home/uke/oil/bin/osh case 9: Error message with bad oshrc file (currently ignored) argv: /home/uke/oil/bin/osh case 10: PROMPT_COMMAND can see $?, like bash argv: /home/uke/oil/bin/osh case 11: PROMPT_COMMAND that writes to BASH_REMATCH argv: /home/uke/oil/bin/osh case 12: NO ASSERTIONS: Are startup files sourced before or after job control? argv: /home/uke/oil/bin/osh case 13: HISTFILE is written in interactive shell argv: /home/uke/oil/bin/osh case 14: HISTFILE default value argv: /home/uke/oil/bin/osh interactive: note: Got 0 allowed oils failures (exit with code 0) __ sh-options shell: /home/uke/oil/bin/osh which $SH: case 0: $- with -c argv: /home/uke/oil/bin/osh case 1: $- with pipefail argv: /home/uke/oil/bin/osh case 2: $- and more options argv: /home/uke/oil/bin/osh case 3: $- with interactive shell argv: /home/uke/oil/bin/osh case 4: pass short options like sh -e argv: /home/uke/oil/bin/osh case 5: pass long options like sh -o errexit argv: /home/uke/oil/bin/osh case 6: pass shopt options like sh -O nullglob argv: /home/uke/oil/bin/osh case 7: can continue after unknown option argv: /home/uke/oil/bin/osh case 8: set with both options and argv argv: /home/uke/oil/bin/osh case 9: set -o vi/emacs argv: /home/uke/oil/bin/osh case 10: vi and emacs are mutually exclusive argv: /home/uke/oil/bin/osh case 11: interactive shell starts with emacs mode on argv: /home/uke/oil/bin/osh case 12: nounset argv: /home/uke/oil/bin/osh case 13: -u is nounset argv: /home/uke/oil/bin/osh case 14: nounset with "$@" argv: /home/uke/oil/bin/osh case 15: set -u -- clears argv argv: /home/uke/oil/bin/osh case 16: set -u -- x y z argv: /home/uke/oil/bin/osh case 17: reset option with long flag argv: /home/uke/oil/bin/osh case 18: reset option with short flag argv: /home/uke/oil/bin/osh case 19: set -eu (flag parsing) argv: /home/uke/oil/bin/osh case 20: -n for no execution (useful with --ast-output) argv: /home/uke/oil/bin/osh case 21: pipefail argv: /home/uke/oil/bin/osh case 22: shopt -p -o prints 'set' options argv: /home/uke/oil/bin/osh case 23: shopt -o prints 'set' options argv: /home/uke/oil/bin/osh case 24: shopt -p prints 'shopt' options argv: /home/uke/oil/bin/osh case 25: shopt with no flags prints options argv: /home/uke/oil/bin/osh case 26: noclobber off argv: /home/uke/oil/bin/osh case 27: noclobber on argv: /home/uke/oil/bin/osh case 28: SHELLOPTS is updated when options are changed argv: /home/uke/oil/bin/osh case 29: SHELLOPTS is readonly argv: /home/uke/oil/bin/osh case 30: SHELLOPTS and BASHOPTS are set argv: /home/uke/oil/bin/osh case 31: set - - argv: /home/uke/oil/bin/osh case 32: set -o lists options argv: /home/uke/oil/bin/osh case 33: set without args lists variables argv: /home/uke/oil/bin/osh case 34: 'set' and 'eval' round trip argv: /home/uke/oil/bin/osh case 35: set without args and array variables (not in OSH) argv: /home/uke/oil/bin/osh case 36: set without args and assoc array variables (not in OSH) argv: /home/uke/oil/bin/osh case 37: shopt -q argv: /home/uke/oil/bin/osh case 38: shopt -q invalid argv: /home/uke/oil/bin/osh case 39: shopt -s strict:all argv: /home/uke/oil/bin/osh case 40: shopt allows for backward compatibility like bash argv: /home/uke/oil/bin/osh case 41: shopt -p validates option names argv: /home/uke/oil/bin/osh case 42: shopt -p -o validates option names argv: /home/uke/oil/bin/osh case 43: stubbed out bash options argv: /home/uke/oil/bin/osh case 44: shopt -s nounset works in Oil, not in bash argv: /home/uke/oil/bin/osh case 45: no-ops not in shopt -p output argv: /home/uke/oil/bin/osh sh-options: note: Got 3 allowed oils failures (exit with code 0) __ sh-usage shell: /home/uke/oil/bin/osh which $SH: case 0: sh -c argv: /home/uke/oil/bin/osh case 1: empty -c input argv: /home/uke/oil/bin/osh case 2: sh +c is accepted argv: /home/uke/oil/bin/osh case 3: empty stdin argv: /home/uke/oil/bin/osh case 4: shell obeys --help (regression for OSH) argv: /home/uke/oil/bin/osh case 5: args are passed argv: /home/uke/oil/bin/osh case 6: args that look like flags are passed after script argv: /home/uke/oil/bin/osh case 7: args that look like flags are passed after -c argv: /home/uke/oil/bin/osh case 8: exit with explicit arg argv: /home/uke/oil/bin/osh case 9: exit with no args argv: /home/uke/oil/bin/osh case 10: --rcfile in non-interactive shell prints warnings argv: /home/uke/oil/bin/osh case 11: accepts -l flag argv: /home/uke/oil/bin/osh case 12: accepts --login flag (dash and mksh don't accept long flags) argv: /home/uke/oil/bin/osh sh-usage: note: Got 0 allowed oils failures (exit with code 0) __ var-num shell: /home/uke/oil/bin/osh which $SH: case 0: Normal and braced argv: /home/uke/oil/bin/osh case 1: In function argv: /home/uke/oil/bin/osh case 2: $0 with -c argv: /home/uke/oil/bin/osh case 3: $0 with stdin argv: /home/uke/oil/bin/osh case 4: $0 with -i argv: /home/uke/oil/bin/osh case 5: $0 with filename argv: /home/uke/oil/bin/osh case 6: $@ with filename argv: /home/uke/oil/bin/osh var-num: note: Got 0 allowed oils failures (exit with code 0) doctools/src_tree.py spec-files _tmp/spec/interactive-osh builtin-history interactive sh-options sh-usage var-num src_tree.py: Wrote 5 HTML files -> _tmp/spec/interactive-osh done: all-tests-to-html *** All 5 tests PASSED test/spec-version.sh: line 76: yash: command not found Results: file:///home/uke/oil/_tmp/spec/interactive-osh/index.html real 0m8.713s user 0m5.187s sys 0m3.557s