TEST.EXE-RUN(1)                 Test.exe Manual                TEST.EXE-RUN(1)

NAME
       test.exe-run - run the tests

SYNOPSIS
       test.exe run [OPTION]…

DESCRIPTION
       Run all or only some of the tests. By default, the status of each test
       is reported as they are executed. Here's the legend for test statuses:

       • [PASS]: a successful test that was expected to succeed (good);
       • [FAIL]: a failing test that was expected to succeed (needs fixing);
       • [XFAIL]: a failing test that was expected to fail (tolerated failure);
       • [XPASS]: a successful test that was expected to fail (progress?).
       • [MISS]: a test that never ran;
       • [SKIP]: a test that is always skipped but kept around for some reason;
       • [xxxx*]: a new test for which there's no expected output yet.
         In this case, you should review the test output and run the 'approve'
         subcommand once you're satisfied with the output.


       To review the status of the tests without rerunning them, use the
       'status' subcommand.

OPTIONS
       --autoclean
           Remove test snapshots that don't match any test.

       -C DIR, --chdir=DIR
           Change the current working directory to DIR before doing any work.

       --debug
           Log information that can be useful for debugging the Testo library.

       -e KEY=VALUE, --env=KEY=VALUE
           Pass  a key/value pair to the function that creates the test suite.
           KEY   must   be   an   alphanumeric   identifier   of   the    form
           [A-Za-z_][A-Za-z_0-9]*. VALUE can be any string. This mechanism for
           passing  arbitrary runtime settings to the test suite is offered as
           a safer alternative to  environment  variables.  Multiple  -e/--env
           options  are  supported  in  the  same  command,  each defining one
           key/value pair.

       --expert
           Assume the user is familiar with Testo and don't show non-essential
           messages or tips targeted at new users.

       -j NUM, --jobs=NUM
           Specify the number of jobs to run in  parallel.  By  default,  this
           value  is  set  to the number of CPUs detected on the machine. Both
           '-j0' and '-j1' ensure sequential, non-overlapping execution of the
           tests. Unlike '-j1',  '-j0'  will  not  create  a  separate  worker
           process  to  run  the  tests. The default can be changed by passing
           '~default_workers' to the OCaml function 'Testo.interpret_argv'.

       --lazy
           Run only the tests that were not previously successful.

       --max-inline-log-bytes=LIMIT (absent=1000000)
           When displaying logs (unchecked stdout or stderr output),  show  at
           most  that  many  bytes for each test. The default limit is 1000000
           bytes. To remove the default limit, specify 'unlimited'.

       -s SUBSTRING, --filter-substring=SUBSTRING
           Select tests whose description contains  SUBSTRING.  Multiple  '-s'
           search  queries  can  be  specified  in which case only one of them
           needs to match.

       --slice=NUM/NUM_SLICES
           Divide the test suite into NUM_SLICES and work on  slice  NUM  only
           (1-based). For example, '1/4' is the first of four slices and '4/4'
           is  the last one. If multiple '--slice' options are specified, they
           are applied sequentially from left to right. If the original  suite
           defines  23  tests,  '--slice  2/4'  selects tests [7,8,9,10,11,12]
           (1-based). If additionally '--slice 1/3' is specified after  it  on
           the  same  command  line,  the  remaining tests will be [7,8]. This
           filter is meant for running  tests  in  parallel,  possibly  across
           multiple  hosts.  It  is  applied  after any other filters to as to
           divide the work more evenly.

       --stack-backtrace
           Show the full stack backtrace when a test raises an  exception.  By
           default, only the first 5 lines of the backtrace are shown.

       --strict
           Treat  flaky  tests  as  ordinary  tests. This disables the default
           behavior of ignoring failing tests that were marked as flaky by the
           programmer when determining the overall success of the test run.

       -t QUERY, --filter-tag=QUERY
           Select tests whose tags match QUERY. Filtering by tag is  generally
           more  robust  than  selecting tests by text contained in their name
           with '-s'. QUERY is a boolean  query  combining  tags  with  'and',
           'or',  'not',  and  parentheses  using  the usual precedence rules.
           Tag-like  selectors  'all'  and  'none'  are  also  supported.  For
           example,  '(foo  or bar) and not e2e' will select any test with the
           tag 'foo' or the tag 'bar' but not if it has  the  tag  'e2e'.  Run
           '/home/martin/testo/_build/default/template/tests/test.exe
           show-tags'  to  see  the  list of tags defined for the current test
           suite.

       --test-list-checksum=STR
           Internal use only. This is a checksum used to check that  the  list
           of  tests  generated  in  a worker is the same as the list of tests
           generated by the master.

       -v, --verbose
           Print  more  details  than  by  default.  This  is  equivalent   to
           '--show-output --stack-backtrace'.

       -w, --show-output
           Show the output of all tests rather than only showing the output of
           the  failed  tests.  This  excludes  the output (stdout, stderr, or
           both) that may  be  captured  explicitly  to  be  compared  against
           expectations.

       --worker
           Internal option used to launch a parallel worker.

COMMON OPTIONS
       --help[=FMT] (default=auto)
           Show  this  help  in format FMT. The value FMT must be one of auto,
           pager, groff or plain. With auto, the  format  is  pager  or  plain
           whenever the TERM env var is dumb or undefined.

EXIT STATUS
       test.exe run exits with:

       0   on success.

       123 on indiscriminate errors reported on standard error.

       124 on command line parsing errors.

       125 on unexpected internal errors (bugs).

SEE ALSO
       test.exe(1)

Test.exe                                                       TEST.EXE-RUN(1)