| 1 | spec/
 | 
| 2 | ====
 | 
| 3 | 
 | 
| 4 | Updated spec test format as of 2023-06.  Each file can have metadata at the
 | 
| 5 | top.
 | 
| 6 | 
 | 
| 7 | ## How to Run
 | 
| 8 | 
 | 
| 9 | Run individual files:
 | 
| 10 | 
 | 
| 11 |     test/spec-py.sh run-file smoke
 | 
| 12 |     test/spec-cpp.sh run-file smoke
 | 
| 13 | 
 | 
| 14 | Run suites:
 | 
| 15 | 
 | 
| 16 |     test/spec-py.sh osh-all
 | 
| 17 |     test/spec-py.sh ysh-all
 | 
| 18 | 
 | 
| 19 |     test/spec-cpp.sh osh-all
 | 
| 20 |     test/spec-cpp.sh ysh-all
 | 
| 21 | 
 | 
| 22 | Faster way:
 | 
| 23 | 
 | 
| 24 |     NUM_SPEC_TASKS=2 test/spec-py.sh osh-all
 | 
| 25 |     ...
 | 
| 26 | 
 | 
| 27 | ## How to label
 | 
| 28 | 
 | 
| 29 | 
 | 
| 30 |     ## suite: osh                   # REQUIRED: one of
 | 
| 31 |                                     # {osh, ysh, tea, needs-terminal}
 | 
| 32 |                                     # last one is not used
 | 
| 33 | 
 | 
| 34 |     ## tags: dev-minimal            # OPTIONAL: define a SUBSET of files to run
 | 
| 35 |                                     # dev-minimal, interactive
 | 
| 36 | 
 | 
| 37 |     ## compare_shells: bash dash mksh  # for OSH, list of shells to compare against
 | 
| 38 |                                        # empty for YSH
 | 
| 39 | 
 | 
| 40 |     ## our_shell: osh               # shell we run with
 | 
| 41 |                                     # some ysh-* files run with osh
 | 
| 42 | 
 | 
| 43 |     ## oils_failures_allowed: 1     # number of failures we allow
 | 
| 44 | 
 | 
| 45 | TODO: Start upgrading tests to bash 5.2, etc.  Add a label for that.
 | 
| 46 | 
 | 
| 47 | ## More Docs
 | 
| 48 | 
 | 
| 49 | - <https://github.com/oilshell/oil/wiki/Spec-Tests>
 |