A comprehensive test suite that compares OSH against other shells. If OSH passes these tests in BOTH Python and C++, it means that the translation works.
spec/alias.test.sh 571 spec/append.test.sh 327 spec/arith-context.test.sh 216 spec/arith-dynamic.test.sh 95 spec/arith.test.sh 1,040 spec/array-assign.test.sh 376 spec/array-assoc.test.sh 790 spec/array-basic.test.sh 45 spec/array-compat.test.sh 189 spec/array-literal.test.sh 126 spec/array-sparse.test.sh 1,224 spec/array.test.sh 1,027 spec/assign-deferred.test.sh 115 spec/assign-dialects.test.sh 149 spec/assign-extended.test.sh 986 spec/assign.test.sh 751 spec/background.test.sh 398 spec/ble-features.test.sh 387 spec/ble-idioms.test.sh 623 spec/ble-unset.test.sh 243 spec/blog-other1.test.sh 66 spec/blog1.test.sh 96 spec/blog2.test.sh 60 spec/brace-expansion.test.sh 502 spec/bugs.test.sh 436 spec/builtin-bash.test.sh 215 spec/builtin-bind.test.sh 158 spec/builtin-bracket.test.sh 767 spec/builtin-cd.test.sh 475 spec/builtin-completion.test.sh 641 spec/builtin-dirs.test.sh 243 spec/builtin-echo.test.sh 320 spec/builtin-eval-source.test.sh 349 spec/builtin-getopts.test.sh 391 spec/builtin-history.test.sh 198 spec/builtin-kill.test.sh 30 spec/builtin-meta-assign.test.sh 376 spec/builtin-meta.test.sh 365 spec/builtin-misc.test.sh 164 spec/builtin-printf.test.sh 1,286 spec/builtin-process.test.sh 612 spec/builtin-read.test.sh 775 spec/builtin-special.test.sh 310 spec/builtin-times.test.sh 16 spec/builtin-trap-bash.test.sh 657 spec/builtin-trap-err.test.sh 647 spec/builtin-trap.test.sh 366 spec/builtin-type-bash.test.sh 339 spec/builtin-type.test.sh 166 spec/builtin-vars.test.sh 707 spec/case_.test.sh 244 spec/command-parsing.test.sh 65 spec/command-sub-ksh.test.sh 109 spec/command-sub.test.sh 299 spec/command_.test.sh 195 spec/comments.test.sh 12 spec/dbracket.test.sh 494 spec/divergence.test.sh 57 spec/dparen.test.sh 208 spec/empty-bodies.test.sh 25 spec/errexit-osh.test.sh 813 spec/errexit.test.sh 532 spec/exit-status.test.sh 280 spec/explore-parsing.test.sh 43 spec/extglob-files.test.sh 384 spec/extglob-match.test.sh 392 spec/fatal-errors.test.sh 187 spec/for-expr.test.sh 173 spec/func-parsing.test.sh 106 spec/glob-bash.test.sh 144 spec/glob.test.sh 295 spec/globignore.test.sh 164 spec/globstar.test.sh 97 spec/hay-isolation.test.sh 169 spec/hay-meta.test.sh 307 spec/hay.test.sh 888 spec/here-doc.test.sh 411 spec/if_.test.sh 55 spec/interactive-parse.test.sh 37 spec/interactive.test.sh 401 spec/introspect.test.sh 287 spec/let.test.sh 23 spec/loop.test.sh 615 spec/nameref.test.sh 637 spec/nix-idioms.test.sh 196 spec/nocasematch-match.test.sh 71 spec/nul-bytes.test.sh 450 spec/osh-bugs.test.sh 31 spec/parse-errors.test.sh 221 spec/pipeline.test.sh 280 spec/posix.test.sh 161 spec/print-source-code.test.sh 63 spec/process-sub.test.sh 204 spec/prompt.test.sh 349 spec/quote.test.sh 245 spec/redir-order.test.sh 61 spec/redirect-command.test.sh 344 spec/redirect-multi.test.sh 308 spec/redirect.test.sh 502 spec/regex.test.sh 635 spec/serialize.test.sh 232 spec/sh-func.test.sh 186 spec/sh-options-bash.test.sh 153 spec/sh-options.test.sh 837 spec/sh-usage.test.sh 124 spec/shell-bugs.test.sh 36 spec/shell-grammar.test.sh 208 spec/smoke.test.sh 126 spec/spec-harness-bug.test.sh 9 spec/strict-options.test.sh 351 spec/subshell.test.sh 23 spec/temp-binding.test.sh 154 spec/tilde.test.sh 184 spec/toysh-posix.test.sh 395 spec/toysh.test.sh 140 spec/type-compat.test.sh 159 spec/unicode.test.sh 196 spec/var-num.test.sh 43 spec/var-op-bash.test.sh 536 spec/var-op-len.test.sh 221 spec/var-op-patsub.test.sh 413 spec/var-op-slice.test.sh 410 spec/var-op-strip.test.sh 358 spec/var-op-test.test.sh 829 spec/var-ref.test.sh 769 spec/var-sub-quote.test.sh 313 spec/var-sub.test.sh 64 spec/vars-bash.test.sh 31 spec/vars-special.test.sh 791 spec/whitespace.test.sh 114 spec/word-eval.test.sh 65 spec/word-split.test.sh 863 spec/xtrace.test.sh 399 spec/ysh-TODO-deprecate.test.sh 159 spec/ysh-assign.test.sh 423 spec/ysh-augmented.test.sh 245 spec/ysh-bin.test.sh 20 spec/ysh-blocks.test.sh 348 spec/ysh-bugs.test.sh 360 spec/ysh-builtin-ctx.test.sh 168 spec/ysh-builtin-error.test.sh 436 spec/ysh-builtin-eval.test.sh 859 spec/ysh-builtin-help.test.sh 124 spec/ysh-builtin-meta.test.sh 353 spec/ysh-builtin-module.test.sh 500 spec/ysh-builtin-private.test.sh 594 spec/ysh-builtin-process.test.sh 85 spec/ysh-builtin-shopt.test.sh 183 spec/ysh-builtins.test.sh 685 spec/ysh-bytecode.test.sh 18 spec/ysh-case.test.sh 245 spec/ysh-closures.test.sh 180 spec/ysh-cmd-lang.test.sh 54 spec/ysh-command-sub.test.sh 147 spec/ysh-completion.test.sh 204 spec/ysh-control-flow.test.sh 182 spec/ysh-convert.test.sh 190 spec/ysh-demo.test.sh 61 spec/ysh-dev.test.sh 163 spec/ysh-dict.test.sh 120 spec/ysh-env.test.sh 309 spec/ysh-expr-arith.test.sh 614 spec/ysh-expr-bool.test.sh 185 spec/ysh-expr-compare.test.sh 427 spec/ysh-expr-sub.test.sh 42 spec/ysh-expr.test.sh 442 spec/ysh-for.test.sh 262 spec/ysh-func-builtin.test.sh 184 spec/ysh-func.test.sh 514 spec/ysh-funcs-external.test.sh 86 spec/ysh-int-float.test.sh 220 spec/ysh-interactive.test.sh 41 spec/ysh-introspect.test.sh 388 spec/ysh-json.test.sh 1,285 spec/ysh-keywords.test.sh 37 spec/ysh-list.test.sh 271 spec/ysh-method-io.test.sh 129 spec/ysh-method-other.test.sh 151 spec/ysh-methods.test.sh 691 spec/ysh-multiline.test.sh 179 spec/ysh-namespaces.test.sh 107 spec/ysh-nul-bytes.test.sh 35 spec/ysh-object.test.sh 337 spec/ysh-options-assign.test.sh 106 spec/ysh-options.test.sh 791 spec/ysh-place.test.sh 136 spec/ysh-printing.test.sh 396 spec/ysh-proc-meta.test.sh 267 spec/ysh-proc.test.sh 865 spec/ysh-prompt.test.sh 147 spec/ysh-purity.test.sh 407 spec/ysh-regex-api.test.sh 939 spec/ysh-regex.test.sh 711 spec/ysh-reserved.test.sh 48 spec/ysh-scope.test.sh 907 spec/ysh-slice-range.test.sh 278 spec/ysh-source.test.sh 29 spec/ysh-special-vars.test.sh 50 spec/ysh-stdlib-args.test.sh 37 spec/ysh-stdlib.test.sh 25 spec/ysh-string.test.sh 559 spec/ysh-tuple.test.sh 28 spec/ysh-unicode.test.sh 184 spec/ysh-usage.test.sh 272 spec/ysh-user-feedback.test.sh 212 spec/ysh-var-sub.test.sh 45 spec/ysh-with-sh.test.sh 221 spec/ysh-word-eval.test.sh 144 spec/ysh-xtrace.test.sh 588 spec/zsh-assoc.test.sh 63 spec/zsh-idioms.test.sh 57 66,966 lines in 212 files