ysh-completion () { run-file ysh-completion "$@" } run-file () { local spec_name=$1; shift; sh-spec spec/$spec_name.test.sh --compare-shells --oils-bin-dir $PWD/bin "$@" }
spec test index / oilshell.org
| status | osh | osh_ALT | |
| pass | 6 | 6 | |
| FAIL | 6 | 6 | |
| total | 12 | 12 | |
| case | osh | osh_ALT | description |
| 0 | pass | pass | compexport |
| 1 | pass | pass | compexport with multi-line commands |
| 2 | pass | pass | redirect completions are quoted |
| 3 | pass | pass | dir completions have trailing slash |
| 4 | pass | pass | complete -F strings are not quoted again |
| 5 | FAIL | FAIL | complete -W quoting |
| details | details | ||
| 6 | FAIL | FAIL | filenames are completed |
| details | details | ||
| 7 | FAIL | FAIL | complete both -W and -F: words and functions |
| details | details | ||
| 8 | FAIL | FAIL | -o default is an "else action", when zero are shown |
| details | details | ||
| 9 | pass | pass | git completion space issue (disabled for old git, e.g. v2.17.1) |
| 10 | FAIL | FAIL | Complete Filenames with bad characters |
| details | details | ||
| 11 | FAIL | FAIL | Complete Command with bad characters |
| details | details |
12 passed, 0 OK, 0 not implemented, 0 BUG, 6 failed, 0 timeouts, 0 cases skipped 6 failed under osh
| osh | 5 complete -W quoting [osh stdout] Expected '"q2-argv can\\\\\'t "\n"q2-argv checkout "\n"q2-argv cherry "\n' Got '"q2-argv checkout "\n"q2-argv cherry "\n\n' stdout: "q2-argv checkout " "q2-argv cherry "stderr: osh warning: complete -C not implemented |
| osh_ALT | 5 complete -W quoting [osh_ALT stdout] Expected '"q2-argv can\\\\\'t "\n"q2-argv checkout "\n"q2-argv cherry "\n' Got '"q2-argv checkout "\n"q2-argv cherry "\n\n' stdout: "q2-argv checkout " "q2-argv cherry "stderr: osh warning: complete -C not implemented |
| osh | 6 filenames are completed [osh stdout] Expected '\nTODO: Is the order reversed? I guess this is file system order, which is\nnondeterministic. YSH can sort them\n\necho baz \necho bar \n' Got '"echo baz "\n"echo bar "\n' stdout: "echo baz " "echo bar "stderr: |
| osh_ALT | 6 filenames are completed [osh_ALT stdout] Expected '\nTODO: Is the order reversed? I guess this is file system order, which is\nnondeterministic. YSH can sort them\n\necho baz \necho bar \n' Got '"echo baz "\n"echo bar "\n' stdout: "echo baz " "echo bar "stderr: |
| osh | 7 complete both -W and -F: words and functions [osh stdout] Expected 'Hm they are kinda reversed, I want to fix that. This is true even in Python\nthough, weird.\n' Got '"GIT bean "\n"GIT ale "\n"GIT dill "\n"GIT corn "\n' stdout: "GIT bean " "GIT ale " "GIT dill " "GIT corn "stderr: |
| osh_ALT | 7 complete both -W and -F: words and functions [osh_ALT stdout] Expected 'Hm they are kinda reversed, I want to fix that. This is true even in Python\nthough, weird.\n' Got '"GIT bean "\n"GIT ale "\n"GIT dill "\n"GIT corn "\n' stdout: "GIT bean " "GIT ale " "GIT dill " "GIT corn "stderr: |
| osh | 8 -o default is an "else action", when zero are shown [osh stdout] Expected 'TODO\ngit\n', got '-- nothing registered\n"GIT _tmp/"\n"GIT file2 "\n"GIT file1 "\n-- func\n"GIT bar "\n"GIT foo "\n-- func default\n"GIT bar "\n"GIT foo "\n-- empty func default\n"GIT _tmp/"\n"GIT file2 "\n"GIT file1 "\n' stdout: -- nothing registered "GIT _tmp/" "GIT file2 " "GIT file1 " -- func "GIT bar " "GIT foo " -- func default "GIT bar " "GIT foo " -- empty func default "GIT _tmp/" "GIT file2 " "GIT file1 "stderr: |
| osh_ALT | 8 -o default is an "else action", when zero are shown [osh_ALT stdout] Expected 'TODO\ngit\n', got '-- nothing registered\n"GIT _tmp/"\n"GIT file2 "\n"GIT file1 "\n-- func\n"GIT bar "\n"GIT foo "\n-- func default\n"GIT bar "\n"GIT foo "\n-- empty func default\n"GIT _tmp/"\n"GIT file2 "\n"GIT file1 "\n' stdout: -- nothing registered "GIT _tmp/" "GIT file2 " "GIT file1 " -- func "GIT bar " "GIT foo " -- func default "GIT bar " "GIT foo " -- empty func default "GIT _tmp/" "GIT file2 " "GIT file1 "stderr: |
| osh | 10 Complete Filenames with bad characters [osh stdout] Expected 'TODO\n', got '"echo hello "\nb\'echo hi\\yffthere \'\n' stdout: "echo hello " b'echo hi\yffthere 'stderr: |
| osh_ALT | 10 Complete Filenames with bad characters [osh_ALT stdout] Expected 'TODO\n', got '"echo hello "\nb\'echo hi\\yffthere \'\n' stdout: "echo hello " b'echo hi\yffthere 'stderr: |
| osh | 11 Complete Command with bad characters [osh stdout] Expected 'TODO\n', got 'b\'echo "bad \\yff byte" fooz \'\nb\'echo "bad \\yff byte" foo \'\n' stdout: b'echo "bad \yff byte" fooz ' b'echo "bad \yff byte" foo 'stderr: |
| osh_ALT | 11 Complete Command with bad characters [osh_ALT stdout] Expected 'TODO\n', got 'b\'echo "bad \\yff byte" fooz \'\nb\'echo "bad \\yff byte" foo \'\n' stdout: b'echo "bad \yff byte" fooz ' b'echo "bad \yff byte" foo 'stderr: |