Building Test (buildtest build)

This reference guide will get you familiar with buildtest command line interface. Once you complete this section, you can proceed to writing buildspecs section where we will cover how to write buildspecs.

When you clone buildtest, you also get a set of buildspecs that you can run on your system. The buildtest build command is used for building and running tests. Buildtest will read one or more buildspecs file that adheres to one of the buildtest schemas. For a complete list of build options please run buildtest build --help.

Note

buildtest bd is an alias for buildtest build command.

Build Usage

buildtest build --help
$ buildtest build --help
usage: buildtest [options] [COMMANDS] build [-h] [-b BUILDSPEC] [-x EXCLUDE]
                                            [-n NAME] [-e EXECUTOR]
                                            [-xt EXCLUDE_TAGS] [-t TAGS]
                                            [--rerun] [-f FILTER]
                                            [--helpfilter] [-et {local,batch}]
                                            [--module-purge] [-m MODULES]
                                            [-u UNLOAD_MODULES]
                                            [--account ACCOUNT]
                                            [--maxpendtime MAXPENDTIME]
                                            [--pollinterval POLLINTERVAL]
                                            [--procs PROCS [PROCS ...]]
                                            [--nodes NODES [NODES ...]]
                                            [--dry-run] [--limit LIMIT]
                                            [--max-jobs MAX_JOBS]
                                            [--profile PROFILE]
                                            [--remove-stagedir]
                                            [--rebuild REBUILD]
                                            [--retry RETRY]
                                            [--save-profile SAVE_PROFILE]
                                            [--strict] [--testdir TESTDIR]
                                            [--timeout TIMEOUT] [--validate]
                                            [--write-config-file WRITE_CONFIG_FILE]

optional arguments:
  -h, --help            show this help message and exit

discover:
  Select buildspec file to run based on file, tag, executor

  -b BUILDSPEC, --buildspec BUILDSPEC
                        Specify a buildspec (file or directory) to build. A
                        buildspec must end in '.yml' extension.
  -x EXCLUDE, --exclude EXCLUDE
                        Exclude one or more buildspecs (file or directory)
                        from processing. A buildspec must end in '.yml'
                        extension.
  -n NAME, --name NAME  Specify a name of test to run
  -e EXECUTOR, --executor EXECUTOR
                        Discover buildspecs by executor name found in
                        buildspec cache
  -xt EXCLUDE_TAGS, --exclude-tags EXCLUDE_TAGS
                        Exclude tests by one or more tagnames found in
                        buildspec cache
  -t TAGS, --tags TAGS  Discover buildspecs by tags found in buildspec cache
  --rerun               Rerun last successful buildtest build command.

filter:
  Filter tests after selection

  -f FILTER, --filter FILTER
                        Filter buildspec based on tags, type, or maintainers.
                        Usage: --filter
                        key1=val1,val2;key2=val3;key3=val4,val5
  --helpfilter          Show available filter fields used with --filter option
  -et {local,batch}, --executor-type {local,batch}
                        Filter tests by executor type (local, batch)

module:
  Module Selection option

  --module-purge        Run 'module purge' before running any test
  -m MODULES, --modules MODULES
                        Specify a list of modules to load during test
                        execution, to specify multiple modules each one must
                        be comma separated for instance if you want to load
                        'gcc' and 'python' module you can do '-m gcc,python'
  -u UNLOAD_MODULES, --unload-modules UNLOAD_MODULES
                        Specify a list of modules to unload during test
                        execution

batch:
  Batch Submission options

  --account ACCOUNT     Specify project account used to charge batch jobs
                        (applicable for batch jobs only)
  --maxpendtime MAXPENDTIME
                        Specify Maximum Pending Time (sec) for job before
                        cancelling job. This only applies for batch job
                        submission.
  --pollinterval POLLINTERVAL
                        Specify Poll Interval (sec) for polling batch jobs
  --procs PROCS [PROCS ...]
                        Specify number of processes to run tests (only
                        applicable with batch jobs). Multiple values can be
                        specified comma separated.
  --nodes NODES [NODES ...]
                        Specify number of nodes to run tests (only applicable
                        with batch jobs). Multiple values can be specified
                        comma separated.

extra:
  All extra options

  --dry-run             Show a list of tests that will potentially be run
                        without actually running them.
  --limit LIMIT         Limit number of tests that can be run.
  --max-jobs MAX_JOBS   Maximum number of jobs that can be run concurrently.
  --profile PROFILE     Specify a profile to load from configuration file
  --remove-stagedir     Remove stage directory after job completion.
  --rebuild REBUILD     Rebuild test X number of times. Must be a positive
                        number between [1-50]
  --retry RETRY         Retry failed jobs
  --save-profile SAVE_PROFILE
                        Save buildtest command options into a profile and
                        update configuration file
  --strict              Enable strict mode for test by setting 'set -eo
                        pipefail' in test script
  --testdir TESTDIR     Specify a custom test directory where to write tests.
                        This overrides configuration file and default
                        location.
  --timeout TIMEOUT     Specify test timeout in number of seconds
  --validate            Validate given buildspecs and control behavior of
                        buildtest build to stop execution after parsing the
                        YAML files.
  --write-config-file WRITE_CONFIG_FILE
                        Specify path to configuration file to write changes
                        when saving profile

Building a Test (buildtest build --buildspec)

To build a test, we use the --buildspec or short option -b to specify the path to buildspec file. Let’s see some examples, first we specify a full path to buildspec file. In this example, buildtest will discover buildspecs followed by parsing the test with appropriate schema and generate a shell script that is run by buildtest. You can learn more about build and test process.

buildtest build -b $BUILDTEST_ROOT/tutorials/vars.yml
$ buildtest build -b $BUILDTEST_ROOT/tutorials/vars.yml
Buildspec Paths: ['/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials', '/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/general_tests']
Updating buildspec cache file: /tmp/tmpqzxycqdh/var/buildspecs/cache.json
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:57:33                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/vars.yml                                                            ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/vars.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ variable │ script │ generic. │ None     │ None  │ None  │ Declare  │ /home/d │
│ s_bash/4 │        │ local.ba │          │       │       │ shell    │ ocs/che │
│ 7ac0f3e  │        │ sh       │          │       │       │ variable │ ckouts/ │
│          │        │          │          │       │       │ s in     │ readthe │
│          │        │          │          │       │       │ bash     │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /vars.y │
│          │        │          │          │       │       │          │ ml      │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
variables_bash/47ac0f3e: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/47ac0f3e
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
variables_bash/47ac0f3e does not have any dependencies adding test to queue
 Builders Eligible to Run  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                 ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ variables_bash/47ac0f3e │
└─────────────────────────┘
variables_bash/47ac0f3e: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/47ac0f3e/stage
variables_bash/47ac0f3e: Running Test via command: bash variables_bash_build.sh
────────────────── Output Message for variables_bash/47ac0f3e ──────────────────
1+2=3
 this is a literal string
 \'singlequote\'
 "doublequote"
 current user: docs
 number of files: 4
 Hello my name is Bob 
  I am 30 years old

variables_bash/47ac0f3e: Test completed in 0.067026 seconds with returncode: 0
variables_bash/47ac0f3e: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/47ac0f3e/variables_bash.out
variables_bash/47ac0f3e: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/47ac0f3e/variables_bash.err
variables_bash/47ac0f3e: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/47ac0f3e/stage/variables_bash_postrun.sh
variables_bash/47ac0f3e: Post run script exit code: 1
─────────────── variables_bash/47ac0f3e: Post Run Script Output ────────────────

──────────────── variables_bash/47ac0f3e: Post Run Script Error ────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/47ac0f3e/stage/variables_bash_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ variables_bash/47ac0f3e │ generic.local.bash │ PASS   │ 0          │ 0.067   │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 1/1 Percentage: 100.000%
Failed Tests: 0/1 Percentage: 0.000%


Adding 1 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_ctlfe6r7.log

Note

buildtest will only read buildspecs with .yml extension, if you specify a .yaml it will be ignored by buildtest.

The --buildspec option can be used to specify a file or directory path. If you want to build multiple buildspecs in a directory you can specify the directory path and buildtest will recursively search for all .yml files. In the next example, we build all tests in directory general_tests/configuration.

buildtest build -b $BUILDTEST_ROOT/general_tests/configuration/
$ buildtest build -b $BUILDTEST_ROOT/general_tests/configuration/
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:19                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/g ║
║ eneral_tests/configuration/kernel_state.yml                                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/g ║
║ eneral_tests/configuration/systemd-default-target.yml                        ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/g ║
║ eneral_tests/configuration/ulimits.yml                                       ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/g ║
║ eneral_tests/configuration/disk_usage.yml                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 4                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  4
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  4
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 4
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/general_tests/configuration/kernel_state.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/general_tests/configuration/systemd-default-target.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/general_tests/configuration/ulimits.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/general_tests/configuration/disk_usage.yml: VALID
Total builder objects created: 9
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ kernel_s │ script │ generic. │ None     │ None  │ None  │ Retrieve │ /home/d │
│ wapusage │        │ local.ba │          │       │       │ Kernel   │ ocs/che │
│ /7e25b48 │        │ sh       │          │       │       │ Swap     │ ckouts/ │
│ 3        │        │          │          │       │       │ Usage    │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/ke │
│          │        │          │          │       │       │          │ rnel_st │
│          │        │          │          │       │       │          │ ate.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ systemd_ │ script │ generic. │ None     │ None  │ None  │ check if │ /home/d │
│ default_ │        │ local.ba │          │       │       │ default  │ ocs/che │
│ target/0 │        │ sh       │          │       │       │ target   │ ckouts/ │
│ 79faf76  │        │          │          │       │       │ is       │ readthe │
│          │        │          │          │       │       │ multi-us │ docs.or │
│          │        │          │          │       │       │ er.targe │ g/user_ │
│          │        │          │          │       │       │ t        │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/sy │
│          │        │          │          │       │       │          │ stemd-d │
│          │        │          │          │       │       │          │ efault- │
│          │        │          │          │       │       │          │ target. │
│          │        │          │          │       │       │          │ yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_f │ script │ generic. │ None     │ None  │ None  │ Check if │ /home/d │
│ ilelock_ │        │ local.ba │          │       │       │ file     │ ocs/che │
│ unlimite │        │ sh       │          │       │       │ lock is  │ ckouts/ │
│ d/508d53 │        │          │          │       │       │ set to   │ readthe │
│ b6       │        │          │          │       │       │ unlimite │ docs.or │
│          │        │          │          │       │       │ d in     │ g/user_ │
│          │        │          │          │       │       │ ulimits  │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/ul │
│          │        │          │          │       │       │          │ imits.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_c │ script │ generic. │ None     │ None  │ None  │ Check if │ /home/d │
│ putime_u │        │ local.ba │          │       │       │ cputime  │ ocs/che │
│ nlimited │        │ sh       │          │       │       │ is set   │ ckouts/ │
│ /729e923 │        │          │          │       │       │ to       │ readthe │
│ 4        │        │          │          │       │       │ unlimite │ docs.or │
│          │        │          │          │       │       │ d in     │ g/user_ │
│          │        │          │          │       │       │ ulimits  │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/ul │
│          │        │          │          │       │       │          │ imits.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_s │ script │ generic. │ None     │ None  │ None  │ Check if │ /home/d │
│ tacksize │        │ local.ba │          │       │       │ stack    │ ocs/che │
│ _unlimit │        │ sh       │          │       │       │ size is  │ ckouts/ │
│ ed/c1e80 │        │          │          │       │       │ set to   │ readthe │
│ d68      │        │          │          │       │       │ unlimite │ docs.or │
│          │        │          │          │       │       │ d in     │ g/user_ │
│          │        │          │          │       │       │ ulimits  │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/ul │
│          │        │          │          │       │       │          │ imits.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_v │ script │ generic. │ None     │ None  │ None  │ Check    │ /home/d │
│ msize_un │        │ local.ba │          │       │       │ virtual  │ ocs/che │
│ limited/ │        │ sh       │          │       │       │ memory   │ ckouts/ │
│ 034de2d2 │        │          │          │       │       │ size and │ readthe │
│          │        │          │          │       │       │ check if │ docs.or │
│          │        │          │          │       │       │ its set  │ g/user_ │
│          │        │          │          │       │       │ to       │ builds/ │
│          │        │          │          │       │       │ unlimite │ buildte │
│          │        │          │          │       │       │ d        │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/ul │
│          │        │          │          │       │       │          │ imits.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_f │ script │ generic. │ None     │ None  │ None  │ Check if │ /home/d │
│ iledescr │        │ local.ba │          │       │       │ open     │ ocs/che │
│ iptor_40 │        │ sh       │          │       │       │ file     │ ckouts/ │
│ 96/c878d │        │          │          │       │       │ descript │ readthe │
│ 1e8      │        │          │          │       │       │ ors      │ docs.or │
│          │        │          │          │       │       │ limit is │ g/user_ │
│          │        │          │          │       │       │ set to   │ builds/ │
│          │        │          │          │       │       │ 4096     │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/ul │
│          │        │          │          │       │       │          │ imits.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_m │ script │ generic. │ None     │ None  │ None  │ Check    │ /home/d │
│ ax_user_ │        │ local.ba │          │       │       │ max      │ ocs/che │
│ process_ │        │ sh       │          │       │       │ number   │ ckouts/ │
│ 2048/980 │        │          │          │       │       │ of user  │ readthe │
│ 047c5    │        │          │          │       │       │ process  │ docs.or │
│          │        │          │          │       │       │ limit is │ g/user_ │
│          │        │          │          │       │       │ set to   │ builds/ │
│          │        │          │          │       │       │ 2048     │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/ul │
│          │        │          │          │       │       │          │ imits.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ root_dis │ script │ generic. │ None     │ None  │ None  │ Check    │ /home/d │
│ k_usage/ │        │ local.ba │          │       │       │ root     │ ocs/che │
│ fd27bee8 │        │ sh       │          │       │       │ disk     │ ckouts/ │
│          │        │          │          │       │       │ usage    │ readthe │
│          │        │          │          │       │       │ and      │ docs.or │
│          │        │          │          │       │       │ report   │ g/user_ │
│          │        │          │          │       │       │ if it    │ builds/ │
│          │        │          │          │       │       │ exceeds  │ buildte │
│          │        │          │          │       │       │ threshol │ st/chec │
│          │        │          │          │       │       │ d        │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/di │
│          │        │          │          │       │       │          │ sk_usag │
│          │        │          │          │       │       │          │ e.yml   │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
kernel_swapusage/7e25b483: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/7e25b483
systemd_default_target/079faf76: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/079faf76
ulimit_filelock_unlimited/508d53b6: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/508d53b6
ulimit_cputime_unlimited/729e9234: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/729e9234
ulimit_stacksize_unlimited/c1e80d68: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/c1e80d68
ulimit_vmsize_unlimited/034de2d2: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/034de2d2
ulimit_filedescriptor_4096/c878d1e8: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/c878d1e8
ulimit_max_user_process_2048/980047c5: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/980047c5
root_disk_usage/fd27bee8: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/fd27bee8
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
root_disk_usage/fd27bee8 does not have any dependencies adding test to queue
ulimit_filedescriptor_4096/c878d1e8 does not have any dependencies adding test to queue
ulimit_stacksize_unlimited/c1e80d68 does not have any dependencies adding test to queue
ulimit_cputime_unlimited/729e9234 does not have any dependencies adding test to queue
ulimit_vmsize_unlimited/034de2d2 does not have any dependencies adding test to queue
ulimit_max_user_process_2048/980047c5 does not have any dependencies adding test to queue
systemd_default_target/079faf76 does not have any dependencies adding test to queue
ulimit_filelock_unlimited/508d53b6 does not have any dependencies adding test to queue
kernel_swapusage/7e25b483 does not have any dependencies adding test to queue
        Builders Eligible to Run         
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                               ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ root_disk_usage/fd27bee8              │
│ ulimit_filedescriptor_4096/c878d1e8   │
│ ulimit_stacksize_unlimited/c1e80d68   │
│ ulimit_cputime_unlimited/729e9234     │
│ ulimit_vmsize_unlimited/034de2d2      │
│ ulimit_max_user_process_2048/980047c5 │
│ systemd_default_target/079faf76       │
│ ulimit_filelock_unlimited/508d53b6    │
│ kernel_swapusage/7e25b483             │
└───────────────────────────────────────┘
root_disk_usage/fd27bee8: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/fd27bee8/stage
root_disk_usage/fd27bee8: Running Test via command: bash root_disk_usage_build.sh
───────────────── Output Message for root_disk_usage/fd27bee8 ──────────────────
[OK] Root disk is below threshold of 90%

root_disk_usage/fd27bee8: Test completed in 0.011198 seconds with returncode: 0
root_disk_usage/fd27bee8: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/fd27bee8/root_disk_usage.out
root_disk_usage/fd27bee8: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/fd27bee8/root_disk_usage.err
root_disk_usage/fd27bee8: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/fd27bee8/stage/root_disk_usage_postrun.sh
root_disk_usage/fd27bee8: Post run script exit code: 1
─────────────── root_disk_usage/fd27bee8: Post Run Script Output ───────────────

─────────────── root_disk_usage/fd27bee8: Post Run Script Error ────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/fd27bee8/stage/root_disk_usage_postrun.sh not found.
ulimit_filedescriptor_4096/c878d1e8: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/c878d1e8/stage
ulimit_filedescriptor_4096/c878d1e8: Running Test via command: bash ulimit_filedescriptor_4096_build.sh
──────────── Output Message for ulimit_filedescriptor_4096/c878d1e8 ────────────
1048576

ulimit_filedescriptor_4096/c878d1e8: Test completed in 0.006641 seconds with returncode: 0
ulimit_filedescriptor_4096/c878d1e8: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/c878d1e8/ulimit_filedescriptor_4096.out
ulimit_filedescriptor_4096/c878d1e8: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/c878d1e8/ulimit_filedescriptor_4096.err
ulimit_filedescriptor_4096/c878d1e8: performing regular expression - '^4096$' on file: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/c878d1e8/ulimit_filedescriptor_4096.out
ulimit_filedescriptor_4096/c878d1e8: Regular Expression Match - Failed!
ulimit_filedescriptor_4096/c878d1e8: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/c878d1e8/stage/ulimit_filedescriptor_4096_postrun.sh
ulimit_filedescriptor_4096/c878d1e8: Post run script exit code: 1
───────── ulimit_filedescriptor_4096/c878d1e8: Post Run Script Output ──────────

────────── ulimit_filedescriptor_4096/c878d1e8: Post Run Script Error ──────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/c878d1e8/stage/ulimit_filedescriptor_4096_postrun.sh not found.
ulimit_stacksize_unlimited/c1e80d68: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/c1e80d68/stage
ulimit_stacksize_unlimited/c1e80d68: Running Test via command: bash ulimit_stacksize_unlimited_build.sh
──────────── Output Message for ulimit_stacksize_unlimited/c1e80d68 ────────────
8192

ulimit_stacksize_unlimited/c1e80d68: Test completed in 0.006721 seconds with returncode: 0
ulimit_stacksize_unlimited/c1e80d68: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/c1e80d68/ulimit_stacksize_unlimited.out
ulimit_stacksize_unlimited/c1e80d68: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/c1e80d68/ulimit_stacksize_unlimited.err
ulimit_stacksize_unlimited/c1e80d68: performing regular expression - '^unlimited$' on file: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/c1e80d68/ulimit_stacksize_unlimited.out
ulimit_stacksize_unlimited/c1e80d68: Regular Expression Match - Failed!
ulimit_stacksize_unlimited/c1e80d68: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/c1e80d68/stage/ulimit_stacksize_unlimited_postrun.sh
ulimit_stacksize_unlimited/c1e80d68: Post run script exit code: 1
───────── ulimit_stacksize_unlimited/c1e80d68: Post Run Script Output ──────────

────────── ulimit_stacksize_unlimited/c1e80d68: Post Run Script Error ──────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/c1e80d68/stage/ulimit_stacksize_unlimited_postrun.sh not found.
ulimit_cputime_unlimited/729e9234: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/729e9234/stage
ulimit_cputime_unlimited/729e9234: Running Test via command: bash ulimit_cputime_unlimited_build.sh
───────────── Output Message for ulimit_cputime_unlimited/729e9234 ─────────────
unlimited

ulimit_cputime_unlimited/729e9234: Test completed in 0.006547 seconds with returncode: 0
ulimit_cputime_unlimited/729e9234: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/729e9234/ulimit_cputime_unlimited.out
ulimit_cputime_unlimited/729e9234: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/729e9234/ulimit_cputime_unlimited.err
ulimit_cputime_unlimited/729e9234: performing regular expression - '^unlimited$' on file: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/729e9234/ulimit_cputime_unlimited.out
ulimit_cputime_unlimited/729e9234: Regular Expression Match - Success!
ulimit_cputime_unlimited/729e9234: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/729e9234/stage/ulimit_cputime_unlimited_postrun.sh
ulimit_cputime_unlimited/729e9234: Post run script exit code: 1
────────── ulimit_cputime_unlimited/729e9234: Post Run Script Output ───────────

─────────── ulimit_cputime_unlimited/729e9234: Post Run Script Error ───────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/729e9234/stage/ulimit_cputime_unlimited_postrun.sh not found.
ulimit_vmsize_unlimited/034de2d2: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/034de2d2/stage
ulimit_vmsize_unlimited/034de2d2: Running Test via command: bash ulimit_vmsize_unlimited_build.sh
───────────── Output Message for ulimit_vmsize_unlimited/034de2d2 ──────────────
unlimited

ulimit_vmsize_unlimited/034de2d2: Test completed in 0.006549 seconds with returncode: 0
ulimit_vmsize_unlimited/034de2d2: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/034de2d2/ulimit_vmsize_unlimited.out
ulimit_vmsize_unlimited/034de2d2: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/034de2d2/ulimit_vmsize_unlimited.err
ulimit_vmsize_unlimited/034de2d2: performing regular expression - '^unlimited$' on file: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/034de2d2/ulimit_vmsize_unlimited.out
ulimit_vmsize_unlimited/034de2d2: Regular Expression Match - Success!
ulimit_vmsize_unlimited/034de2d2: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/034de2d2/stage/ulimit_vmsize_unlimited_postrun.sh
ulimit_vmsize_unlimited/034de2d2: Post run script exit code: 1
─────────── ulimit_vmsize_unlimited/034de2d2: Post Run Script Output ───────────

─────────── ulimit_vmsize_unlimited/034de2d2: Post Run Script Error ────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/034de2d2/stage/ulimit_vmsize_unlimited_postrun.sh not found.
ulimit_max_user_process_2048/980047c5: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/980047c5/stage
ulimit_max_user_process_2048/980047c5: Running Test via command: bash ulimit_max_user_process_2048_build.sh
─────────── Output Message for ulimit_max_user_process_2048/980047c5 ───────────
unlimited

ulimit_max_user_process_2048/980047c5: Test completed in 0.00814 seconds with returncode: 0
ulimit_max_user_process_2048/980047c5: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/980047c5/ulimit_max_user_process_2048.out
ulimit_max_user_process_2048/980047c5: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/980047c5/ulimit_max_user_process_2048.err
ulimit_max_user_process_2048/980047c5: performing regular expression - '^2048$' on file: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/980047c5/ulimit_max_user_process_2048.out
ulimit_max_user_process_2048/980047c5: Regular Expression Match - Failed!
ulimit_max_user_process_2048/980047c5: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/980047c5/stage/ulimit_max_user_process_2048_postrun.sh
ulimit_max_user_process_2048/980047c5: Post run script exit code: 1
──────── ulimit_max_user_process_2048/980047c5: Post Run Script Output ─────────

───────── ulimit_max_user_process_2048/980047c5: Post Run Script Error ─────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/980047c5/stage/ulimit_max_user_process_2048_postrun.sh not found.
systemd_default_target/079faf76: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/079faf76/stage
systemd_default_target/079faf76: Running Test via command: bash systemd_default_target_build.sh
────────────── Output Message for systemd_default_target/079faf76 ──────────────
multi-user is not the default target

systemd_default_target/079faf76: failed to submit job with returncode: 1
────────────── Error Message for systemd_default_target/079faf76 ───────────────

systemd_default_target/079faf76: Detected failure in running test, will attempt to retry test: 1 times
systemd_default_target/079faf76: Run - 1/1
systemd_default_target/079faf76: Running Test via command: bash systemd_default_target_build.sh
systemd_default_target/079faf76: failed to submit job with returncode: 1
systemd_default_target/079faf76: Test completed in 0.020817 seconds with returncode: 1
systemd_default_target/079faf76: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/079faf76/systemd_default_target.out
systemd_default_target/079faf76: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/079faf76/systemd_default_target.err
systemd_default_target/079faf76: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/079faf76/stage/systemd_default_target_postrun.sh
systemd_default_target/079faf76: Post run script exit code: 1
─────────── systemd_default_target/079faf76: Post Run Script Output ────────────

──────────── systemd_default_target/079faf76: Post Run Script Error ────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/079faf76/stage/systemd_default_target_postrun.sh not found.
ulimit_filelock_unlimited/508d53b6: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/508d53b6/stage
ulimit_filelock_unlimited/508d53b6: Running Test via command: bash ulimit_filelock_unlimited_build.sh
──────────── Output Message for ulimit_filelock_unlimited/508d53b6 ─────────────
unlimited

ulimit_filelock_unlimited/508d53b6: Test completed in 0.00802 seconds with returncode: 0
ulimit_filelock_unlimited/508d53b6: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/508d53b6/ulimit_filelock_unlimited.out
ulimit_filelock_unlimited/508d53b6: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/508d53b6/ulimit_filelock_unlimited.err
ulimit_filelock_unlimited/508d53b6: performing regular expression - '^unlimited$' on file: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/508d53b6/ulimit_filelock_unlimited.out
ulimit_filelock_unlimited/508d53b6: Regular Expression Match - Success!
ulimit_filelock_unlimited/508d53b6: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/508d53b6/stage/ulimit_filelock_unlimited_postrun.sh
ulimit_filelock_unlimited/508d53b6: Post run script exit code: 1
────────── ulimit_filelock_unlimited/508d53b6: Post Run Script Output ──────────

────────── ulimit_filelock_unlimited/508d53b6: Post Run Script Error ───────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/508d53b6/stage/ulimit_filelock_unlimited_postrun.sh not found.
kernel_swapusage/7e25b483: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/7e25b483/stage
kernel_swapusage/7e25b483: Running Test via command: bash kernel_swapusage_build.sh
───────────────── Output Message for kernel_swapusage/7e25b483 ─────────────────

kernel_swapusage/7e25b483: failed to submit job with returncode: 255
───────────────── Error Message for kernel_swapusage/7e25b483 ──────────────────
sysctl: cannot stat /proc/sys/kernel/swapusage: No such file or directory

kernel_swapusage/7e25b483: Detected failure in running test, will attempt to retry test: 1 times
kernel_swapusage/7e25b483: Run - 1/1
kernel_swapusage/7e25b483: Running Test via command: bash kernel_swapusage_build.sh
kernel_swapusage/7e25b483: failed to submit job with returncode: 255
kernel_swapusage/7e25b483: Test completed in 0.017013 seconds with returncode: 255
kernel_swapusage/7e25b483: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/7e25b483/kernel_swapusage.out
kernel_swapusage/7e25b483: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/7e25b483/kernel_swapusage.err
kernel_swapusage/7e25b483: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/7e25b483/stage/kernel_swapusage_postrun.sh
kernel_swapusage/7e25b483: Post run script exit code: 1
────────────── kernel_swapusage/7e25b483: Post Run Script Output ───────────────

─────────────── kernel_swapusage/7e25b483: Post Run Script Error ───────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/7e25b483/stage/kernel_swapusage_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ ulimit_max_user_process │ generic.local.bash │ FAIL   │ 0          │ 0.008   │
│ _2048/980047c5          │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ kernel_swapusage/7e25b4 │ generic.local.bash │ FAIL   │ 255        │ 0.017   │
│ 83                      │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ root_disk_usage/fd27bee │ generic.local.bash │ PASS   │ 0          │ 0.011   │
│ 8                       │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ systemd_default_target/ │ generic.local.bash │ FAIL   │ 1          │ 0.021   │
│ 079faf76                │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ ulimit_vmsize_unlimited │ generic.local.bash │ PASS   │ 0          │ 0.007   │
│ /034de2d2               │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ ulimit_stacksize_unlimi │ generic.local.bash │ FAIL   │ 0          │ 0.007   │
│ ted/c1e80d68            │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ ulimit_cputime_unlimite │ generic.local.bash │ PASS   │ 0          │ 0.007   │
│ d/729e9234              │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ ulimit_filelock_unlimit │ generic.local.bash │ PASS   │ 0          │ 0.008   │
│ ed/508d53b6             │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ ulimit_filedescriptor_4 │ generic.local.bash │ FAIL   │ 0          │ 0.007   │
│ 096/c878d1e8            │                    │        │            │         │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 4/9 Percentage: 44.444%
Failed Tests: 5/9 Percentage: 55.556%


Adding 9 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_zt5w___i.log

Building Multiple Buildspecs

You can append -b option to build multiple buildspecs in the same command. Buildtest will discover buildspecs for every argument (-b) and accumulate a list of buildspecs to run. In this example, we instruct buildtest to build a buildspec file and all buildspecs in a directory path.

buildtest build -b $BUILDTEST_ROOT/general_tests/configuration/ -b $BUILDTEST_ROOT/tutorials/vars.yml
$ buildtest build -b $BUILDTEST_ROOT/general_tests/configuration/ -b $BUILDTEST_ROOT/tutorials/vars.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:21                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/vars.yml                                                            ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/g ║
║ eneral_tests/configuration/disk_usage.yml                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/g ║
║ eneral_tests/configuration/ulimits.yml                                       ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/g ║
║ eneral_tests/configuration/kernel_state.yml                                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/g ║
║ eneral_tests/configuration/systemd-default-target.yml                        ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 5                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  5
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  5
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 5
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/vars.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/general_tests/configuration/disk_usage.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/general_tests/configuration/ulimits.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/general_tests/configuration/kernel_state.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/general_tests/configuration/systemd-default-target.yml: VALID
Total builder objects created: 10
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ variable │ script │ generic. │ None     │ None  │ None  │ Declare  │ /home/d │
│ s_bash/9 │        │ local.ba │          │       │       │ shell    │ ocs/che │
│ 3d78086  │        │ sh       │          │       │       │ variable │ ckouts/ │
│          │        │          │          │       │       │ s in     │ readthe │
│          │        │          │          │       │       │ bash     │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /vars.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ root_dis │ script │ generic. │ None     │ None  │ None  │ Check    │ /home/d │
│ k_usage/ │        │ local.ba │          │       │       │ root     │ ocs/che │
│ 1b32ee65 │        │ sh       │          │       │       │ disk     │ ckouts/ │
│          │        │          │          │       │       │ usage    │ readthe │
│          │        │          │          │       │       │ and      │ docs.or │
│          │        │          │          │       │       │ report   │ g/user_ │
│          │        │          │          │       │       │ if it    │ builds/ │
│          │        │          │          │       │       │ exceeds  │ buildte │
│          │        │          │          │       │       │ threshol │ st/chec │
│          │        │          │          │       │       │ d        │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/di │
│          │        │          │          │       │       │          │ sk_usag │
│          │        │          │          │       │       │          │ e.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_f │ script │ generic. │ None     │ None  │ None  │ Check if │ /home/d │
│ ilelock_ │        │ local.ba │          │       │       │ file     │ ocs/che │
│ unlimite │        │ sh       │          │       │       │ lock is  │ ckouts/ │
│ d/9eb5c0 │        │          │          │       │       │ set to   │ readthe │
│ 6e       │        │          │          │       │       │ unlimite │ docs.or │
│          │        │          │          │       │       │ d in     │ g/user_ │
│          │        │          │          │       │       │ ulimits  │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/ul │
│          │        │          │          │       │       │          │ imits.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_c │ script │ generic. │ None     │ None  │ None  │ Check if │ /home/d │
│ putime_u │        │ local.ba │          │       │       │ cputime  │ ocs/che │
│ nlimited │        │ sh       │          │       │       │ is set   │ ckouts/ │
│ /8a3a828 │        │          │          │       │       │ to       │ readthe │
│ 6        │        │          │          │       │       │ unlimite │ docs.or │
│          │        │          │          │       │       │ d in     │ g/user_ │
│          │        │          │          │       │       │ ulimits  │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/ul │
│          │        │          │          │       │       │          │ imits.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_s │ script │ generic. │ None     │ None  │ None  │ Check if │ /home/d │
│ tacksize │        │ local.ba │          │       │       │ stack    │ ocs/che │
│ _unlimit │        │ sh       │          │       │       │ size is  │ ckouts/ │
│ ed/c844c │        │          │          │       │       │ set to   │ readthe │
│ 920      │        │          │          │       │       │ unlimite │ docs.or │
│          │        │          │          │       │       │ d in     │ g/user_ │
│          │        │          │          │       │       │ ulimits  │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/ul │
│          │        │          │          │       │       │          │ imits.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_v │ script │ generic. │ None     │ None  │ None  │ Check    │ /home/d │
│ msize_un │        │ local.ba │          │       │       │ virtual  │ ocs/che │
│ limited/ │        │ sh       │          │       │       │ memory   │ ckouts/ │
│ ac029b3b │        │          │          │       │       │ size and │ readthe │
│          │        │          │          │       │       │ check if │ docs.or │
│          │        │          │          │       │       │ its set  │ g/user_ │
│          │        │          │          │       │       │ to       │ builds/ │
│          │        │          │          │       │       │ unlimite │ buildte │
│          │        │          │          │       │       │ d        │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/ul │
│          │        │          │          │       │       │          │ imits.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_f │ script │ generic. │ None     │ None  │ None  │ Check if │ /home/d │
│ iledescr │        │ local.ba │          │       │       │ open     │ ocs/che │
│ iptor_40 │        │ sh       │          │       │       │ file     │ ckouts/ │
│ 96/de339 │        │          │          │       │       │ descript │ readthe │
│ 785      │        │          │          │       │       │ ors      │ docs.or │
│          │        │          │          │       │       │ limit is │ g/user_ │
│          │        │          │          │       │       │ set to   │ builds/ │
│          │        │          │          │       │       │ 4096     │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/ul │
│          │        │          │          │       │       │          │ imits.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_m │ script │ generic. │ None     │ None  │ None  │ Check    │ /home/d │
│ ax_user_ │        │ local.ba │          │       │       │ max      │ ocs/che │
│ process_ │        │ sh       │          │       │       │ number   │ ckouts/ │
│ 2048/b27 │        │          │          │       │       │ of user  │ readthe │
│ 709a1    │        │          │          │       │       │ process  │ docs.or │
│          │        │          │          │       │       │ limit is │ g/user_ │
│          │        │          │          │       │       │ set to   │ builds/ │
│          │        │          │          │       │       │ 2048     │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/ul │
│          │        │          │          │       │       │          │ imits.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ kernel_s │ script │ generic. │ None     │ None  │ None  │ Retrieve │ /home/d │
│ wapusage │        │ local.ba │          │       │       │ Kernel   │ ocs/che │
│ /b8d0dd7 │        │ sh       │          │       │       │ Swap     │ ckouts/ │
│ 1        │        │          │          │       │       │ Usage    │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/ke │
│          │        │          │          │       │       │          │ rnel_st │
│          │        │          │          │       │       │          │ ate.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ systemd_ │ script │ generic. │ None     │ None  │ None  │ check if │ /home/d │
│ default_ │        │ local.ba │          │       │       │ default  │ ocs/che │
│ target/4 │        │ sh       │          │       │       │ target   │ ckouts/ │
│ 18ab2de  │        │          │          │       │       │ is       │ readthe │
│          │        │          │          │       │       │ multi-us │ docs.or │
│          │        │          │          │       │       │ er.targe │ g/user_ │
│          │        │          │          │       │       │ t        │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/sy │
│          │        │          │          │       │       │          │ stemd-d │
│          │        │          │          │       │       │          │ efault- │
│          │        │          │          │       │       │          │ target. │
│          │        │          │          │       │       │          │ yml     │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
variables_bash/93d78086: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/93d78086
root_disk_usage/1b32ee65: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/1b32ee65
ulimit_filelock_unlimited/9eb5c06e: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/9eb5c06e
ulimit_cputime_unlimited/8a3a8286: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/8a3a8286
ulimit_stacksize_unlimited/c844c920: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/c844c920
ulimit_vmsize_unlimited/ac029b3b: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/ac029b3b
ulimit_filedescriptor_4096/de339785: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/de339785
ulimit_max_user_process_2048/b27709a1: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/b27709a1
kernel_swapusage/b8d0dd71: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/b8d0dd71
systemd_default_target/418ab2de: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/418ab2de
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
ulimit_max_user_process_2048/b27709a1 does not have any dependencies adding test to queue
systemd_default_target/418ab2de does not have any dependencies adding test to queue
ulimit_stacksize_unlimited/c844c920 does not have any dependencies adding test to queue
ulimit_cputime_unlimited/8a3a8286 does not have any dependencies adding test to queue
kernel_swapusage/b8d0dd71 does not have any dependencies adding test to queue
ulimit_filelock_unlimited/9eb5c06e does not have any dependencies adding test to queue
ulimit_filedescriptor_4096/de339785 does not have any dependencies adding test to queue
root_disk_usage/1b32ee65 does not have any dependencies adding test to queue
variables_bash/93d78086 does not have any dependencies adding test to queue
ulimit_vmsize_unlimited/ac029b3b does not have any dependencies adding test to queue
        Builders Eligible to Run         
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                               ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ ulimit_max_user_process_2048/b27709a1 │
│ systemd_default_target/418ab2de       │
│ ulimit_stacksize_unlimited/c844c920   │
│ ulimit_cputime_unlimited/8a3a8286     │
│ ulimit_filelock_unlimited/9eb5c06e    │
│ ulimit_filedescriptor_4096/de339785   │
│ ulimit_vmsize_unlimited/ac029b3b      │
│ root_disk_usage/1b32ee65              │
│ variables_bash/93d78086               │
│ kernel_swapusage/b8d0dd71             │
└───────────────────────────────────────┘
ulimit_max_user_process_2048/b27709a1: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/b27709a1/stage
ulimit_max_user_process_2048/b27709a1: Running Test via command: bash ulimit_max_user_process_2048_build.sh
─────────── Output Message for ulimit_max_user_process_2048/b27709a1 ───────────
unlimited

ulimit_max_user_process_2048/b27709a1: Test completed in 0.007388 seconds with returncode: 0
ulimit_max_user_process_2048/b27709a1: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/b27709a1/ulimit_max_user_process_2048.out
ulimit_max_user_process_2048/b27709a1: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/b27709a1/ulimit_max_user_process_2048.err
ulimit_max_user_process_2048/b27709a1: performing regular expression - '^2048$' on file: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/b27709a1/ulimit_max_user_process_2048.out
ulimit_max_user_process_2048/b27709a1: Regular Expression Match - Failed!
ulimit_max_user_process_2048/b27709a1: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/b27709a1/stage/ulimit_max_user_process_2048_postrun.sh
ulimit_max_user_process_2048/b27709a1: Post run script exit code: 1
──────── ulimit_max_user_process_2048/b27709a1: Post Run Script Output ─────────

───────── ulimit_max_user_process_2048/b27709a1: Post Run Script Error ─────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/b27709a1/stage/ulimit_max_user_process_2048_postrun.sh not found.
systemd_default_target/418ab2de: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/418ab2de/stage
systemd_default_target/418ab2de: Running Test via command: bash systemd_default_target_build.sh
────────────── Output Message for systemd_default_target/418ab2de ──────────────
multi-user is not the default target

systemd_default_target/418ab2de: failed to submit job with returncode: 1
────────────── Error Message for systemd_default_target/418ab2de ───────────────

systemd_default_target/418ab2de: Detected failure in running test, will attempt to retry test: 1 times
systemd_default_target/418ab2de: Run - 1/1
systemd_default_target/418ab2de: Running Test via command: bash systemd_default_target_build.sh
systemd_default_target/418ab2de: failed to submit job with returncode: 1
systemd_default_target/418ab2de: Test completed in 0.019588 seconds with returncode: 1
systemd_default_target/418ab2de: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/418ab2de/systemd_default_target.out
systemd_default_target/418ab2de: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/418ab2de/systemd_default_target.err
systemd_default_target/418ab2de: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/418ab2de/stage/systemd_default_target_postrun.sh
systemd_default_target/418ab2de: Post run script exit code: 1
─────────── systemd_default_target/418ab2de: Post Run Script Output ────────────

──────────── systemd_default_target/418ab2de: Post Run Script Error ────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/418ab2de/stage/systemd_default_target_postrun.sh not found.
ulimit_stacksize_unlimited/c844c920: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/c844c920/stage
ulimit_stacksize_unlimited/c844c920: Running Test via command: bash ulimit_stacksize_unlimited_build.sh
──────────── Output Message for ulimit_stacksize_unlimited/c844c920 ────────────
8192

ulimit_stacksize_unlimited/c844c920: Test completed in 0.006713 seconds with returncode: 0
ulimit_stacksize_unlimited/c844c920: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/c844c920/ulimit_stacksize_unlimited.out
ulimit_stacksize_unlimited/c844c920: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/c844c920/ulimit_stacksize_unlimited.err
ulimit_stacksize_unlimited/c844c920: performing regular expression - '^unlimited$' on file: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/c844c920/ulimit_stacksize_unlimited.out
ulimit_stacksize_unlimited/c844c920: Regular Expression Match - Failed!
ulimit_stacksize_unlimited/c844c920: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/c844c920/stage/ulimit_stacksize_unlimited_postrun.sh
ulimit_stacksize_unlimited/c844c920: Post run script exit code: 1
───────── ulimit_stacksize_unlimited/c844c920: Post Run Script Output ──────────

────────── ulimit_stacksize_unlimited/c844c920: Post Run Script Error ──────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/c844c920/stage/ulimit_stacksize_unlimited_postrun.sh not found.
ulimit_cputime_unlimited/8a3a8286: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/8a3a8286/stage
ulimit_cputime_unlimited/8a3a8286: Running Test via command: bash ulimit_cputime_unlimited_build.sh
───────────── Output Message for ulimit_cputime_unlimited/8a3a8286 ─────────────
unlimited

ulimit_cputime_unlimited/8a3a8286: Test completed in 0.006571 seconds with returncode: 0
ulimit_cputime_unlimited/8a3a8286: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/8a3a8286/ulimit_cputime_unlimited.out
ulimit_cputime_unlimited/8a3a8286: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/8a3a8286/ulimit_cputime_unlimited.err
ulimit_cputime_unlimited/8a3a8286: performing regular expression - '^unlimited$' on file: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/8a3a8286/ulimit_cputime_unlimited.out
ulimit_cputime_unlimited/8a3a8286: Regular Expression Match - Success!
ulimit_cputime_unlimited/8a3a8286: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/8a3a8286/stage/ulimit_cputime_unlimited_postrun.sh
ulimit_cputime_unlimited/8a3a8286: Post run script exit code: 1
────────── ulimit_cputime_unlimited/8a3a8286: Post Run Script Output ───────────

─────────── ulimit_cputime_unlimited/8a3a8286: Post Run Script Error ───────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/8a3a8286/stage/ulimit_cputime_unlimited_postrun.sh not found.
ulimit_filelock_unlimited/9eb5c06e: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/9eb5c06e/stage
ulimit_filelock_unlimited/9eb5c06e: Running Test via command: bash ulimit_filelock_unlimited_build.sh
──────────── Output Message for ulimit_filelock_unlimited/9eb5c06e ─────────────
unlimited

ulimit_filelock_unlimited/9eb5c06e: Test completed in 0.006593 seconds with returncode: 0
ulimit_filelock_unlimited/9eb5c06e: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/9eb5c06e/ulimit_filelock_unlimited.out
ulimit_filelock_unlimited/9eb5c06e: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/9eb5c06e/ulimit_filelock_unlimited.err
ulimit_filelock_unlimited/9eb5c06e: performing regular expression - '^unlimited$' on file: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/9eb5c06e/ulimit_filelock_unlimited.out
ulimit_filelock_unlimited/9eb5c06e: Regular Expression Match - Success!
ulimit_filelock_unlimited/9eb5c06e: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/9eb5c06e/stage/ulimit_filelock_unlimited_postrun.sh
ulimit_filelock_unlimited/9eb5c06e: Post run script exit code: 1
────────── ulimit_filelock_unlimited/9eb5c06e: Post Run Script Output ──────────

────────── ulimit_filelock_unlimited/9eb5c06e: Post Run Script Error ───────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/9eb5c06e/stage/ulimit_filelock_unlimited_postrun.sh not found.
ulimit_filedescriptor_4096/de339785: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/de339785/stage
ulimit_filedescriptor_4096/de339785: Running Test via command: bash ulimit_filedescriptor_4096_build.sh
──────────── Output Message for ulimit_filedescriptor_4096/de339785 ────────────
1048576

ulimit_filedescriptor_4096/de339785: Test completed in 0.006757 seconds with returncode: 0
ulimit_filedescriptor_4096/de339785: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/de339785/ulimit_filedescriptor_4096.out
ulimit_filedescriptor_4096/de339785: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/de339785/ulimit_filedescriptor_4096.err
ulimit_filedescriptor_4096/de339785: performing regular expression - '^4096$' on file: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/de339785/ulimit_filedescriptor_4096.out
ulimit_filedescriptor_4096/de339785: Regular Expression Match - Failed!
ulimit_filedescriptor_4096/de339785: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/de339785/stage/ulimit_filedescriptor_4096_postrun.sh
ulimit_filedescriptor_4096/de339785: Post run script exit code: 1
───────── ulimit_filedescriptor_4096/de339785: Post Run Script Output ──────────

────────── ulimit_filedescriptor_4096/de339785: Post Run Script Error ──────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/de339785/stage/ulimit_filedescriptor_4096_postrun.sh not found.
ulimit_vmsize_unlimited/ac029b3b: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/ac029b3b/stage
ulimit_vmsize_unlimited/ac029b3b: Running Test via command: bash ulimit_vmsize_unlimited_build.sh
───────────── Output Message for ulimit_vmsize_unlimited/ac029b3b ──────────────
unlimited

ulimit_vmsize_unlimited/ac029b3b: Test completed in 0.006775 seconds with returncode: 0
ulimit_vmsize_unlimited/ac029b3b: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/ac029b3b/ulimit_vmsize_unlimited.out
ulimit_vmsize_unlimited/ac029b3b: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/ac029b3b/ulimit_vmsize_unlimited.err
ulimit_vmsize_unlimited/ac029b3b: performing regular expression - '^unlimited$' on file: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/ac029b3b/ulimit_vmsize_unlimited.out
ulimit_vmsize_unlimited/ac029b3b: Regular Expression Match - Success!
ulimit_vmsize_unlimited/ac029b3b: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/ac029b3b/stage/ulimit_vmsize_unlimited_postrun.sh
ulimit_vmsize_unlimited/ac029b3b: Post run script exit code: 1
─────────── ulimit_vmsize_unlimited/ac029b3b: Post Run Script Output ───────────

─────────── ulimit_vmsize_unlimited/ac029b3b: Post Run Script Error ────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/ac029b3b/stage/ulimit_vmsize_unlimited_postrun.sh not found.
root_disk_usage/1b32ee65: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/1b32ee65/stage
root_disk_usage/1b32ee65: Running Test via command: bash root_disk_usage_build.sh
───────────────── Output Message for root_disk_usage/1b32ee65 ──────────────────
[OK] Root disk is below threshold of 90%

root_disk_usage/1b32ee65: Test completed in 0.01079 seconds with returncode: 0
root_disk_usage/1b32ee65: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/1b32ee65/root_disk_usage.out
root_disk_usage/1b32ee65: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/1b32ee65/root_disk_usage.err
root_disk_usage/1b32ee65: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/1b32ee65/stage/root_disk_usage_postrun.sh
root_disk_usage/1b32ee65: Post run script exit code: 1
─────────────── root_disk_usage/1b32ee65: Post Run Script Output ───────────────

─────────────── root_disk_usage/1b32ee65: Post Run Script Error ────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/1b32ee65/stage/root_disk_usage_postrun.sh not found.
variables_bash/93d78086: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/93d78086/stage
variables_bash/93d78086: Running Test via command: bash variables_bash_build.sh
────────────────── Output Message for variables_bash/93d78086 ──────────────────
1+2=3
 this is a literal string
 \'singlequote\'
 "doublequote"
 current user: docs
 number of files: 4
 Hello my name is Bob 
  I am 30 years old

variables_bash/93d78086: Test completed in 0.012796 seconds with returncode: 0
variables_bash/93d78086: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/93d78086/variables_bash.out
variables_bash/93d78086: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/93d78086/variables_bash.err
variables_bash/93d78086: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/93d78086/stage/variables_bash_postrun.sh
variables_bash/93d78086: Post run script exit code: 1
─────────────── variables_bash/93d78086: Post Run Script Output ────────────────

──────────────── variables_bash/93d78086: Post Run Script Error ────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/93d78086/stage/variables_bash_postrun.sh not found.
kernel_swapusage/b8d0dd71: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/b8d0dd71/stage
kernel_swapusage/b8d0dd71: Running Test via command: bash kernel_swapusage_build.sh
───────────────── Output Message for kernel_swapusage/b8d0dd71 ─────────────────

kernel_swapusage/b8d0dd71: failed to submit job with returncode: 255
───────────────── Error Message for kernel_swapusage/b8d0dd71 ──────────────────
sysctl: cannot stat /proc/sys/kernel/swapusage: No such file or directory

kernel_swapusage/b8d0dd71: Detected failure in running test, will attempt to retry test: 1 times
kernel_swapusage/b8d0dd71: Run - 1/1
kernel_swapusage/b8d0dd71: Running Test via command: bash kernel_swapusage_build.sh
kernel_swapusage/b8d0dd71: failed to submit job with returncode: 255
kernel_swapusage/b8d0dd71: Test completed in 0.018786 seconds with returncode: 255
kernel_swapusage/b8d0dd71: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/b8d0dd71/kernel_swapusage.out
kernel_swapusage/b8d0dd71: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/b8d0dd71/kernel_swapusage.err
kernel_swapusage/b8d0dd71: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/b8d0dd71/stage/kernel_swapusage_postrun.sh
kernel_swapusage/b8d0dd71: Post run script exit code: 1
────────────── kernel_swapusage/b8d0dd71: Post Run Script Output ───────────────

─────────────── kernel_swapusage/b8d0dd71: Post Run Script Error ───────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/b8d0dd71/stage/kernel_swapusage_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ ulimit_filelock_unlimit │ generic.local.bash │ PASS   │ 0          │ 0.007   │
│ ed/9eb5c06e             │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ ulimit_cputime_unlimite │ generic.local.bash │ PASS   │ 0          │ 0.007   │
│ d/8a3a8286              │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ ulimit_vmsize_unlimited │ generic.local.bash │ PASS   │ 0          │ 0.007   │
│ /ac029b3b               │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ variables_bash/93d78086 │ generic.local.bash │ PASS   │ 0          │ 0.013   │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ root_disk_usage/1b32ee6 │ generic.local.bash │ PASS   │ 0          │ 0.011   │
│ 5                       │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ ulimit_stacksize_unlimi │ generic.local.bash │ FAIL   │ 0          │ 0.007   │
│ ted/c844c920            │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ ulimit_filedescriptor_4 │ generic.local.bash │ FAIL   │ 0          │ 0.007   │
│ 096/de339785            │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ kernel_swapusage/b8d0dd │ generic.local.bash │ FAIL   │ 255        │ 0.019   │
│ 71                      │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ ulimit_max_user_process │ generic.local.bash │ FAIL   │ 0          │ 0.007   │
│ _2048/b27709a1          │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ systemd_default_target/ │ generic.local.bash │ FAIL   │ 1          │ 0.020   │
│ 418ab2de                │                    │        │            │         │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 5/10 Percentage: 50.000%
Failed Tests: 5/10 Percentage: 50.000%


Adding 10 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_rftmxqx7.log

Excluding Buildspecs (buildtest build --exclude)

So far we learned how to build buildspecs by file and directory path using the -b option. Next, we will discuss how one may exclude buildspecs which behaves similar to -b option. You can exclude buildspecs via --exclude or short option -x which can be useful when you want to exclude certain files or sub directory.

For example we can build all buildspecs in tutorials but exclude file tutorials/vars.yml by running:

$ buildtest build -b tutorials -x tutorials/vars.yml

buildtest will discover all buildspecs and then exclude any buildspecs specified by -x option. You can specify -x multiple times just like -b option.

For example, we can undo discovery by passing same option to -b and -x as follows

buildtest bd -b tutorials/ -x tutorials/
$ buildtest bd -b tutorials/ -x tutorials/
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:23                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
Unable to detect any buildspec files to process.

Buildtest will stop immediately if there are no Buildspecs to process, this is true if you were to specify files instead of directory.

In this example, we build all buildspecs in a directory but exclude a file. Buildtest will report the excluded buildspecs in the output and -x option can be appended multiple times. The -x can be a file or a directory and behaves similar to -b option.

buildtest bd -b general_tests/configuration/ -x general_tests/configuration/ulimits.yml
$ buildtest bd -b general_tests/configuration/ -x general_tests/configuration/ulimits.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:23                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/g ║
║ eneral_tests/configuration/systemd-default-target.yml                        ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/g ║
║ eneral_tests/configuration/disk_usage.yml                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/g ║
║ eneral_tests/configuration/ulimits.yml                                       ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/g ║
║ eneral_tests/configuration/kernel_state.yml                                  ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 4                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
                              Excluded buildspecs                               
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/g ║
║ eneral_tests/configuration/ulimits.yml                                       ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  4
Total Excluded Buildspecs:  1
Detected Buildspecs after exclusion:  3
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 3
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/general_tests/configuration/systemd-default-target.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/general_tests/configuration/disk_usage.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/general_tests/configuration/kernel_state.yml: VALID
Total builder objects created: 3
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ systemd_ │ script │ generic. │ None     │ None  │ None  │ check if │ /home/d │
│ default_ │        │ local.ba │          │       │       │ default  │ ocs/che │
│ target/4 │        │ sh       │          │       │       │ target   │ ckouts/ │
│ b9c7f00  │        │          │          │       │       │ is       │ readthe │
│          │        │          │          │       │       │ multi-us │ docs.or │
│          │        │          │          │       │       │ er.targe │ g/user_ │
│          │        │          │          │       │       │ t        │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/sy │
│          │        │          │          │       │       │          │ stemd-d │
│          │        │          │          │       │       │          │ efault- │
│          │        │          │          │       │       │          │ target. │
│          │        │          │          │       │       │          │ yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ root_dis │ script │ generic. │ None     │ None  │ None  │ Check    │ /home/d │
│ k_usage/ │        │ local.ba │          │       │       │ root     │ ocs/che │
│ e1a668b1 │        │ sh       │          │       │       │ disk     │ ckouts/ │
│          │        │          │          │       │       │ usage    │ readthe │
│          │        │          │          │       │       │ and      │ docs.or │
│          │        │          │          │       │       │ report   │ g/user_ │
│          │        │          │          │       │       │ if it    │ builds/ │
│          │        │          │          │       │       │ exceeds  │ buildte │
│          │        │          │          │       │       │ threshol │ st/chec │
│          │        │          │          │       │       │ d        │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/di │
│          │        │          │          │       │       │          │ sk_usag │
│          │        │          │          │       │       │          │ e.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ kernel_s │ script │ generic. │ None     │ None  │ None  │ Retrieve │ /home/d │
│ wapusage │        │ local.ba │          │       │       │ Kernel   │ ocs/che │
│ /07935d0 │        │ sh       │          │       │       │ Swap     │ ckouts/ │
│ 4        │        │          │          │       │       │ Usage    │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/ge │
│          │        │          │          │       │       │          │ neral_t │
│          │        │          │          │       │       │          │ ests/co │
│          │        │          │          │       │       │          │ nfigura │
│          │        │          │          │       │       │          │ tion/ke │
│          │        │          │          │       │       │          │ rnel_st │
│          │        │          │          │       │       │          │ ate.yml │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
systemd_default_target/4b9c7f00: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/4b9c7f00
root_disk_usage/e1a668b1: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/e1a668b1
kernel_swapusage/07935d04: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/07935d04
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
kernel_swapusage/07935d04 does not have any dependencies adding test to queue
root_disk_usage/e1a668b1 does not have any dependencies adding test to queue
systemd_default_target/4b9c7f00 does not have any dependencies adding test to queue
     Builders Eligible to Run      
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                         ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ kernel_swapusage/07935d04       │
│ root_disk_usage/e1a668b1        │
│ systemd_default_target/4b9c7f00 │
└─────────────────────────────────┘
kernel_swapusage/07935d04: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/07935d04/stage
kernel_swapusage/07935d04: Running Test via command: bash kernel_swapusage_build.sh
───────────────── Output Message for kernel_swapusage/07935d04 ─────────────────

kernel_swapusage/07935d04: failed to submit job with returncode: 255
───────────────── Error Message for kernel_swapusage/07935d04 ──────────────────
sysctl: cannot stat /proc/sys/kernel/swapusage: No such file or directory

kernel_swapusage/07935d04: Detected failure in running test, will attempt to retry test: 1 times
kernel_swapusage/07935d04: Run - 1/1
kernel_swapusage/07935d04: Running Test via command: bash kernel_swapusage_build.sh
kernel_swapusage/07935d04: failed to submit job with returncode: 255
kernel_swapusage/07935d04: Test completed in 0.016975 seconds with returncode: 255
kernel_swapusage/07935d04: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/07935d04/kernel_swapusage.out
kernel_swapusage/07935d04: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/07935d04/kernel_swapusage.err
kernel_swapusage/07935d04: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/07935d04/stage/kernel_swapusage_postrun.sh
kernel_swapusage/07935d04: Post run script exit code: 1
────────────── kernel_swapusage/07935d04: Post Run Script Output ───────────────

─────────────── kernel_swapusage/07935d04: Post Run Script Error ───────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/kernel_state/kernel_swapusage/07935d04/stage/kernel_swapusage_postrun.sh not found.
root_disk_usage/e1a668b1: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/e1a668b1/stage
root_disk_usage/e1a668b1: Running Test via command: bash root_disk_usage_build.sh
───────────────── Output Message for root_disk_usage/e1a668b1 ──────────────────
[OK] Root disk is below threshold of 90%

root_disk_usage/e1a668b1: Test completed in 0.01029 seconds with returncode: 0
root_disk_usage/e1a668b1: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/e1a668b1/root_disk_usage.out
root_disk_usage/e1a668b1: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/e1a668b1/root_disk_usage.err
root_disk_usage/e1a668b1: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/e1a668b1/stage/root_disk_usage_postrun.sh
root_disk_usage/e1a668b1: Post run script exit code: 1
─────────────── root_disk_usage/e1a668b1: Post Run Script Output ───────────────

─────────────── root_disk_usage/e1a668b1: Post Run Script Error ────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/disk_usage/root_disk_usage/e1a668b1/stage/root_disk_usage_postrun.sh not found.
systemd_default_target/4b9c7f00: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/4b9c7f00/stage
systemd_default_target/4b9c7f00: Running Test via command: bash systemd_default_target_build.sh
────────────── Output Message for systemd_default_target/4b9c7f00 ──────────────
multi-user is not the default target

systemd_default_target/4b9c7f00: failed to submit job with returncode: 1
────────────── Error Message for systemd_default_target/4b9c7f00 ───────────────

systemd_default_target/4b9c7f00: Detected failure in running test, will attempt to retry test: 1 times
systemd_default_target/4b9c7f00: Run - 1/1
systemd_default_target/4b9c7f00: Running Test via command: bash systemd_default_target_build.sh
systemd_default_target/4b9c7f00: failed to submit job with returncode: 1
systemd_default_target/4b9c7f00: Test completed in 0.019372 seconds with returncode: 1
systemd_default_target/4b9c7f00: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/4b9c7f00/systemd_default_target.out
systemd_default_target/4b9c7f00: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/4b9c7f00/systemd_default_target.err
systemd_default_target/4b9c7f00: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/4b9c7f00/stage/systemd_default_target_postrun.sh
systemd_default_target/4b9c7f00: Post run script exit code: 1
─────────── systemd_default_target/4b9c7f00: Post Run Script Output ────────────

──────────── systemd_default_target/4b9c7f00: Post Run Script Error ────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/4b9c7f00/stage/systemd_default_target_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ kernel_swapusage/07935d │ generic.local.bash │ FAIL   │ 255        │ 0.017   │
│ 04                      │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ systemd_default_target/ │ generic.local.bash │ FAIL   │ 1          │ 0.019   │
│ 4b9c7f00                │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ root_disk_usage/e1a668b │ generic.local.bash │ PASS   │ 0          │ 0.010   │
│ 1                       │                    │        │            │         │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 1/3 Percentage: 33.333%
Failed Tests: 2/3 Percentage: 66.667%


Adding 3 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_o_7z7hys.log

Building By Tags (buildtest build --tags)

buildtest can perform builds by tags by using --tags or short option (-t). In order to use this feature, buildtest must load buildspecs in cache which can be run via buildtest buildspec find. If you are unsure of the available tags you can run buildtest buildspec find --tags or let buildtest tab-complete the available tags. For more details see Querying buildspec tags.

Let’s assume you want to build by tag name network, buildtest will attempt to find all tests that contain tags: ['network'] in the buildspec which is loaded in the buildcache cache. If a test matches the tag name, the test will be picked up during the discover process.

buildtest build -t network
$ buildtest build -t network
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:24                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/tags_example.yml                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
                           Buildspecs By Tag=network                            
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/tags_example.yml                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/tags_example.yml: VALID
Total builder objects created: 2
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ string_t │ script │ generic. │ None     │ None  │ None  │ tags can │ /home/d │
│ ag/c9ec3 │        │ local.ba │          │       │       │ be a     │ ocs/che │
│ b37      │        │ sh       │          │       │       │ string   │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /tags_e │
│          │        │          │          │       │       │          │ xample. │
│          │        │          │          │       │       │          │ yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ list_of_ │ script │ generic. │ None     │ None  │ None  │ tags can │ /home/d │
│ strings_ │        │ local.ba │          │       │       │ be a     │ ocs/che │
│ tags/c32 │        │ sh       │          │       │       │ list of  │ ckouts/ │
│ f7d21    │        │          │          │       │       │ strings  │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /tags_e │
│          │        │          │          │       │       │          │ xample. │
│          │        │          │          │       │       │          │ yml     │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
string_tag/c9ec3b37: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/string_tag/c9ec3b37
list_of_strings_tags/c32f7d21: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/list_of_strings_tags/c32f7d21
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
list_of_strings_tags/c32f7d21 does not have any dependencies adding test to queue
string_tag/c9ec3b37 does not have any dependencies adding test to queue
    Builders Eligible to Run     
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                       ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ list_of_strings_tags/c32f7d21 │
│ string_tag/c9ec3b37           │
└───────────────────────────────┘
list_of_strings_tags/c32f7d21: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/list_of_strings_tags/c32f7d21/stage
list_of_strings_tags/c32f7d21: Running Test via command: bash list_of_strings_tags_build.sh
─────────────── Output Message for list_of_strings_tags/c32f7d21 ───────────────
PING www.google.com (142.250.190.36) 56(84) bytes of data.
 64 bytes from ord37s33-in-f4.1e100.net (142.250.190.36): icmp_seq=1 ttl=100 time=16.9 ms
 64 bytes from ord37s33-in-f4.1e100.net (142.250.190.36): icmp_seq=2 ttl=100 time=16.9 ms
 64 bytes from ord37s33-in-f4.1e100.net (142.250.190.36): icmp_seq=3 ttl=100 time=16.9 ms
 64 bytes from ord37s33-in-f4.1e100.net (142.250.190.36): icmp_seq=4 ttl=100 time=16.9 ms
 --- www.google.com ping statistics ---
 4 packets transmitted, 4 received, 0% packet loss, time 3005ms
 rtt min/avg/max/mdev = 16.865/16.876/16.900/0.013 ms

list_of_strings_tags/c32f7d21: Test completed in 3.03333 seconds with returncode: 0
list_of_strings_tags/c32f7d21: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/list_of_strings_tags/c32f7d21/list_of_strings_tags.out
list_of_strings_tags/c32f7d21: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/list_of_strings_tags/c32f7d21/list_of_strings_tags.err
list_of_strings_tags/c32f7d21: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/list_of_strings_tags/c32f7d21/stage/list_of_strings_tags_postrun.sh
list_of_strings_tags/c32f7d21: Post run script exit code: 1
──────────── list_of_strings_tags/c32f7d21: Post Run Script Output ─────────────

───────────── list_of_strings_tags/c32f7d21: Post Run Script Error ─────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/list_of_strings_tags/c32f7d21/stage/list_of_strings_tags_postrun.sh not found.
string_tag/c9ec3b37: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/string_tag/c9ec3b37/stage
string_tag/c9ec3b37: Running Test via command: bash string_tag_build.sh
──────────────────── Output Message for string_tag/c9ec3b37 ────────────────────
build-24413852-project-280831-buildtest

string_tag/c9ec3b37: Test completed in 0.007359 seconds with returncode: 0
string_tag/c9ec3b37: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/string_tag/c9ec3b37/string_tag.out
string_tag/c9ec3b37: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/string_tag/c9ec3b37/string_tag.err
string_tag/c9ec3b37: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/string_tag/c9ec3b37/stage/string_tag_postrun.sh
string_tag/c9ec3b37: Post run script exit code: 1
───────────────── string_tag/c9ec3b37: Post Run Script Output ──────────────────

────────────────── string_tag/c9ec3b37: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/string_tag/c9ec3b37/stage/string_tag_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ list_of_strings_tags/c3 │ generic.local.bash │ PASS   │ 0          │ 3.033   │
│ 2f7d21                  │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ string_tag/c9ec3b37     │ generic.local.bash │ PASS   │ 0          │ 0.007   │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 2/2 Percentage: 100.000%
Failed Tests: 0/2 Percentage: 0.000%


Adding 2 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_shntd58_.log

You can build by multiple tags by specifying --tags multiple times. In next example we build all tests with tag name pass and python.

buildtest build -t python -t pass
$ buildtest build -t python -t pass
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:28                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/pass_returncode.yml                                     ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-hello.yml                                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-shell.yml                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 3                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
                            Buildspecs By Tag=python                            
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-hello.yml                                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-shell.yml                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 2                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
                             Buildspecs By Tag=pass                             
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/pass_returncode.yml                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  3
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  3
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 3
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/python-hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/python-shell.yml: VALID
Total builder objects created: 6
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_fa │ script │ generic. │ None     │ None  │ None  │ exit 1   │ /home/d │
│ il/7148e │        │ local.ba │          │       │       │ by       │ ocs/che │
│ e13      │        │ sh       │          │       │       │ default  │ ckouts/ │
│          │        │          │          │       │       │ is FAIL  │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_pa │ script │ generic. │ None     │ None  │ None  │ report   │ /home/d │
│ ss/4e940 │        │ local.ba │          │       │       │ exit 1   │ ocs/che │
│ d70      │        │ sh       │          │       │       │ as PASS  │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit 2   │ /home/d │
│ de_list_ │        │ local.ba │          │       │       │ failed   │ ocs/che │
│ mismatch │        │ sh       │          │       │       │ since it │ ckouts/ │
│ /7efbfdb │        │          │          │       │       │ failed   │ readthe │
│ d        │        │          │          │       │       │ to match │ docs.or │
│          │        │          │          │       │       │ returnco │ g/user_ │
│          │        │          │          │       │       │ de 1     │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit 128 │ /home/d │
│ de_int_m │        │ local.ba │          │       │       │ matches  │ ocs/che │
│ atch/5b1 │        │ sh       │          │       │       │ returnco │ ckouts/ │
│ afe53    │        │          │          │       │       │ de 128   │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ python_h │ script │ generic. │ None     │ None  │ None  │ Hello    │ /home/d │
│ ello/02a │        │ local.ba │          │       │       │ World    │ ocs/che │
│ 52bff    │        │ sh       │          │       │       │ python   │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /python │
│          │        │          │          │       │       │          │ -hello. │
│          │        │          │          │       │       │          │ yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ circle_a │ script │ generic. │ None     │ None  │ None  │ Calculat │ /home/d │
│ rea/a5e5 │        │ local.ba │          │       │       │ e circle │ ocs/che │
│ 0c37     │        │ sh       │          │       │       │ of area  │ ckouts/ │
│          │        │          │          │       │       │ given a  │ readthe │
│          │        │          │          │       │       │ radius   │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /python │
│          │        │          │          │       │       │          │ -shell. │
│          │        │          │          │       │       │          │ yml     │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
exit1_fail/7148ee13: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/7148ee13
exit1_pass/4e940d70: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/4e940d70
returncode_list_mismatch/7efbfdbd: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/7efbfdbd
returncode_int_match/5b1afe53: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/5b1afe53
python_hello/02a52bff: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/02a52bff
circle_area/a5e50c37: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/a5e50c37
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
python_hello/02a52bff does not have any dependencies adding test to queue
exit1_pass/4e940d70 does not have any dependencies adding test to queue
returncode_int_match/5b1afe53 does not have any dependencies adding test to queue
exit1_fail/7148ee13 does not have any dependencies adding test to queue
returncode_list_mismatch/7efbfdbd does not have any dependencies adding test to queue
circle_area/a5e50c37 does not have any dependencies adding test to queue
      Builders Eligible to Run       
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ python_hello/02a52bff             │
│ exit1_pass/4e940d70               │
│ returncode_int_match/5b1afe53     │
│ exit1_fail/7148ee13               │
│ returncode_list_mismatch/7efbfdbd │
│ circle_area/a5e50c37              │
└───────────────────────────────────┘
python_hello/02a52bff: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/02a52bff/stage
python_hello/02a52bff: Running Test via command: bash python_hello_build.sh
─────────────────── Output Message for python_hello/02a52bff ───────────────────
Hello World

python_hello/02a52bff: Test completed in 0.035234 seconds with returncode: 0
python_hello/02a52bff: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/02a52bff/python_hello.out
python_hello/02a52bff: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/02a52bff/python_hello.err
python_hello/02a52bff: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/02a52bff/stage/python_hello_postrun.sh
python_hello/02a52bff: Post run script exit code: 1
──────────────── python_hello/02a52bff: Post Run Script Output ─────────────────

───────────────── python_hello/02a52bff: Post Run Script Error ─────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/02a52bff/stage/python_hello_postrun.sh not found.
exit1_pass/4e940d70: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/4e940d70/stage
exit1_pass/4e940d70: Running Test via command: bash exit1_pass_build.sh
──────────────────── Output Message for exit1_pass/4e940d70 ────────────────────

exit1_pass/4e940d70: failed to submit job with returncode: 1
──────────────────── Error Message for exit1_pass/4e940d70 ─────────────────────

exit1_pass/4e940d70: Detected failure in running test, will attempt to retry test: 1 times
exit1_pass/4e940d70: Run - 1/1
exit1_pass/4e940d70: Running Test via command: bash exit1_pass_build.sh
exit1_pass/4e940d70: failed to submit job with returncode: 1
exit1_pass/4e940d70: Test completed in 0.014265 seconds with returncode: 1
exit1_pass/4e940d70: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/4e940d70/exit1_pass.out
exit1_pass/4e940d70: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/4e940d70/exit1_pass.err
exit1_pass/4e940d70: Checking returncode - 1 is matched in list [1]
exit1_pass/4e940d70: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/4e940d70/stage/exit1_pass_postrun.sh
exit1_pass/4e940d70: Post run script exit code: 1
───────────────── exit1_pass/4e940d70: Post Run Script Output ──────────────────

────────────────── exit1_pass/4e940d70: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/4e940d70/stage/exit1_pass_postrun.sh not found.
returncode_int_match/5b1afe53: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/5b1afe53/stage
returncode_int_match/5b1afe53: Running Test via command: bash returncode_int_match_build.sh
─────────────── Output Message for returncode_int_match/5b1afe53 ───────────────

returncode_int_match/5b1afe53: failed to submit job with returncode: 128
─────────────── Error Message for returncode_int_match/5b1afe53 ────────────────

returncode_int_match/5b1afe53: Detected failure in running test, will attempt to retry test: 1 times
returncode_int_match/5b1afe53: Run - 1/1
returncode_int_match/5b1afe53: Running Test via command: bash returncode_int_match_build.sh
returncode_int_match/5b1afe53: failed to submit job with returncode: 128
returncode_int_match/5b1afe53: Test completed in 0.014354 seconds with returncode: 128
returncode_int_match/5b1afe53: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/5b1afe53/returncode_int_match.out
returncode_int_match/5b1afe53: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/5b1afe53/returncode_int_match.err
returncode_int_match/5b1afe53: Checking returncode - 128 is matched in list [128]
returncode_int_match/5b1afe53: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/5b1afe53/stage/returncode_int_match_postrun.sh
returncode_int_match/5b1afe53: Post run script exit code: 1
──────────── returncode_int_match/5b1afe53: Post Run Script Output ─────────────

───────────── returncode_int_match/5b1afe53: Post Run Script Error ─────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/5b1afe53/stage/returncode_int_match_postrun.sh not found.
exit1_fail/7148ee13: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/7148ee13/stage
exit1_fail/7148ee13: Running Test via command: bash exit1_fail_build.sh
──────────────────── Output Message for exit1_fail/7148ee13 ────────────────────

exit1_fail/7148ee13: failed to submit job with returncode: 1
──────────────────── Error Message for exit1_fail/7148ee13 ─────────────────────

exit1_fail/7148ee13: Detected failure in running test, will attempt to retry test: 1 times
exit1_fail/7148ee13: Run - 1/1
exit1_fail/7148ee13: Running Test via command: bash exit1_fail_build.sh
exit1_fail/7148ee13: failed to submit job with returncode: 1
exit1_fail/7148ee13: Test completed in 0.014226 seconds with returncode: 1
exit1_fail/7148ee13: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/7148ee13/exit1_fail.out
exit1_fail/7148ee13: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/7148ee13/exit1_fail.err
exit1_fail/7148ee13: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/7148ee13/stage/exit1_fail_postrun.sh
exit1_fail/7148ee13: Post run script exit code: 1
───────────────── exit1_fail/7148ee13: Post Run Script Output ──────────────────

────────────────── exit1_fail/7148ee13: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/7148ee13/stage/exit1_fail_postrun.sh not found.
returncode_list_mismatch/7efbfdbd: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/7efbfdbd/stage
returncode_list_mismatch/7efbfdbd: Running Test via command: bash returncode_list_mismatch_build.sh
───────────── Output Message for returncode_list_mismatch/7efbfdbd ─────────────

returncode_list_mismatch/7efbfdbd: failed to submit job with returncode: 2
───────────── Error Message for returncode_list_mismatch/7efbfdbd ──────────────

returncode_list_mismatch/7efbfdbd: Detected failure in running test, will attempt to retry test: 1 times
returncode_list_mismatch/7efbfdbd: Run - 1/1
returncode_list_mismatch/7efbfdbd: Running Test via command: bash returncode_list_mismatch_build.sh
returncode_list_mismatch/7efbfdbd: failed to submit job with returncode: 2
returncode_list_mismatch/7efbfdbd: Test completed in 0.015294 seconds with returncode: 2
returncode_list_mismatch/7efbfdbd: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/7efbfdbd/returncode_list_mismatch.out
returncode_list_mismatch/7efbfdbd: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/7efbfdbd/returncode_list_mismatch.err
returncode_list_mismatch/7efbfdbd: Checking returncode - 2 is matched in list [1, 3]
returncode_list_mismatch/7efbfdbd: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/7efbfdbd/stage/returncode_list_mismatch_postrun.sh
returncode_list_mismatch/7efbfdbd: Post run script exit code: 1
────────── returncode_list_mismatch/7efbfdbd: Post Run Script Output ───────────

─────────── returncode_list_mismatch/7efbfdbd: Post Run Script Error ───────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/7efbfdbd/stage/returncode_list_mismatch_postrun.sh not found.
circle_area/a5e50c37: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/a5e50c37/stage
circle_area/a5e50c37: Running Test via command: bash circle_area_build.sh
─────────────────── Output Message for circle_area/a5e50c37 ────────────────────
Circle Radius  2
 Area of circle  12.566370614359172

circle_area/a5e50c37: Test completed in 0.034751 seconds with returncode: 0
circle_area/a5e50c37: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/a5e50c37/circle_area.out
circle_area/a5e50c37: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/a5e50c37/circle_area.err
circle_area/a5e50c37: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/a5e50c37/stage/circle_area_postrun.sh
circle_area/a5e50c37: Post run script exit code: 1
───────────────── circle_area/a5e50c37: Post Run Script Output ─────────────────

───────────────── circle_area/a5e50c37: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/a5e50c37/stage/circle_area_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ returncode_list_mismatc │ generic.local.bash │ FAIL   │ 2          │ 0.015   │
│ h/7efbfdbd              │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ exit1_pass/4e940d70     │ generic.local.bash │ PASS   │ 1          │ 0.014   │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ circle_area/a5e50c37    │ generic.local.bash │ PASS   │ 0          │ 0.035   │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ exit1_fail/7148ee13     │ generic.local.bash │ FAIL   │ 1          │ 0.014   │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ returncode_int_match/5b │ generic.local.bash │ PASS   │ 128        │ 0.014   │
│ 1afe53                  │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ python_hello/02a52bff   │ generic.local.bash │ PASS   │ 0          │ 0.035   │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 4/6 Percentage: 66.667%
Failed Tests: 2/6 Percentage: 33.333%


Adding 6 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_1zegefjj.log

When multiple tags are specified, we search each tag independently and if it’s found in the buildspec cache we retrieve the buildspec file and add file to queue. This queue is a list of buildspecs that buildtest will process (i.e parse, build, run). You can query tags from buildspecs cache to see all available tags by running buildtest buildspec find --tags.

Note

The --tags is used for discovering buildspec file and not filtering tests by tag.

You can specify multiple tag names as a comma separated list. In the example below we build all tests with tag names pass, fail and network.

buildtest build -t pass,fail -t network
$ buildtest build -t pass,fail -t network
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:29                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/pass_returncode.yml                                     ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/tags_example.yml                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 2                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
                             Buildspecs By Tag=pass                             
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/pass_returncode.yml                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
                             Buildspecs By Tag=fail                             
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/pass_returncode.yml                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
                           Buildspecs By Tag=network                            
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/tags_example.yml                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  2
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  2
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/tags_example.yml: VALID
Total builder objects created: 6
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_fa │ script │ generic. │ None     │ None  │ None  │ exit 1   │ /home/d │
│ il/06fbf │        │ local.ba │          │       │       │ by       │ ocs/che │
│ 108      │        │ sh       │          │       │       │ default  │ ckouts/ │
│          │        │          │          │       │       │ is FAIL  │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_pa │ script │ generic. │ None     │ None  │ None  │ report   │ /home/d │
│ ss/9cc71 │        │ local.ba │          │       │       │ exit 1   │ ocs/che │
│ e78      │        │ sh       │          │       │       │ as PASS  │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit 2   │ /home/d │
│ de_list_ │        │ local.ba │          │       │       │ failed   │ ocs/che │
│ mismatch │        │ sh       │          │       │       │ since it │ ckouts/ │
│ /9911f71 │        │          │          │       │       │ failed   │ readthe │
│ 4        │        │          │          │       │       │ to match │ docs.or │
│          │        │          │          │       │       │ returnco │ g/user_ │
│          │        │          │          │       │       │ de 1     │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit 128 │ /home/d │
│ de_int_m │        │ local.ba │          │       │       │ matches  │ ocs/che │
│ atch/0a0 │        │ sh       │          │       │       │ returnco │ ckouts/ │
│ 65e3d    │        │          │          │       │       │ de 128   │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ string_t │ script │ generic. │ None     │ None  │ None  │ tags can │ /home/d │
│ ag/80920 │        │ local.ba │          │       │       │ be a     │ ocs/che │
│ 487      │        │ sh       │          │       │       │ string   │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /tags_e │
│          │        │          │          │       │       │          │ xample. │
│          │        │          │          │       │       │          │ yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ list_of_ │ script │ generic. │ None     │ None  │ None  │ tags can │ /home/d │
│ strings_ │        │ local.ba │          │       │       │ be a     │ ocs/che │
│ tags/3d0 │        │ sh       │          │       │       │ list of  │ ckouts/ │
│ 462ab    │        │          │          │       │       │ strings  │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /tags_e │
│          │        │          │          │       │       │          │ xample. │
│          │        │          │          │       │       │          │ yml     │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
exit1_fail/06fbf108: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/06fbf108
exit1_pass/9cc71e78: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/9cc71e78
returncode_list_mismatch/9911f714: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/9911f714
returncode_int_match/0a065e3d: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/0a065e3d
string_tag/80920487: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/string_tag/80920487
list_of_strings_tags/3d0462ab: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/list_of_strings_tags/3d0462ab
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
returncode_list_mismatch/9911f714 does not have any dependencies adding test to queue
exit1_pass/9cc71e78 does not have any dependencies adding test to queue
string_tag/80920487 does not have any dependencies adding test to queue
returncode_int_match/0a065e3d does not have any dependencies adding test to queue
list_of_strings_tags/3d0462ab does not have any dependencies adding test to queue
exit1_fail/06fbf108 does not have any dependencies adding test to queue
      Builders Eligible to Run       
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ returncode_list_mismatch/9911f714 │
│ exit1_pass/9cc71e78               │
│ string_tag/80920487               │
│ returncode_int_match/0a065e3d     │
│ list_of_strings_tags/3d0462ab     │
│ exit1_fail/06fbf108               │
└───────────────────────────────────┘
returncode_list_mismatch/9911f714: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/9911f714/stage
returncode_list_mismatch/9911f714: Running Test via command: bash returncode_list_mismatch_build.sh
───────────── Output Message for returncode_list_mismatch/9911f714 ─────────────

returncode_list_mismatch/9911f714: failed to submit job with returncode: 2
───────────── Error Message for returncode_list_mismatch/9911f714 ──────────────

returncode_list_mismatch/9911f714: Detected failure in running test, will attempt to retry test: 1 times
returncode_list_mismatch/9911f714: Run - 1/1
returncode_list_mismatch/9911f714: Running Test via command: bash returncode_list_mismatch_build.sh
returncode_list_mismatch/9911f714: failed to submit job with returncode: 2
returncode_list_mismatch/9911f714: Test completed in 0.015156 seconds with returncode: 2
returncode_list_mismatch/9911f714: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/9911f714/returncode_list_mismatch.out
returncode_list_mismatch/9911f714: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/9911f714/returncode_list_mismatch.err
returncode_list_mismatch/9911f714: Checking returncode - 2 is matched in list [1, 3]
returncode_list_mismatch/9911f714: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/9911f714/stage/returncode_list_mismatch_postrun.sh
returncode_list_mismatch/9911f714: Post run script exit code: 1
────────── returncode_list_mismatch/9911f714: Post Run Script Output ───────────

─────────── returncode_list_mismatch/9911f714: Post Run Script Error ───────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/9911f714/stage/returncode_list_mismatch_postrun.sh not found.
exit1_pass/9cc71e78: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/9cc71e78/stage
exit1_pass/9cc71e78: Running Test via command: bash exit1_pass_build.sh
──────────────────── Output Message for exit1_pass/9cc71e78 ────────────────────

exit1_pass/9cc71e78: failed to submit job with returncode: 1
──────────────────── Error Message for exit1_pass/9cc71e78 ─────────────────────

exit1_pass/9cc71e78: Detected failure in running test, will attempt to retry test: 1 times
exit1_pass/9cc71e78: Run - 1/1
exit1_pass/9cc71e78: Running Test via command: bash exit1_pass_build.sh
exit1_pass/9cc71e78: failed to submit job with returncode: 1
exit1_pass/9cc71e78: Test completed in 0.014569 seconds with returncode: 1
exit1_pass/9cc71e78: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/9cc71e78/exit1_pass.out
exit1_pass/9cc71e78: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/9cc71e78/exit1_pass.err
exit1_pass/9cc71e78: Checking returncode - 1 is matched in list [1]
exit1_pass/9cc71e78: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/9cc71e78/stage/exit1_pass_postrun.sh
exit1_pass/9cc71e78: Post run script exit code: 1
───────────────── exit1_pass/9cc71e78: Post Run Script Output ──────────────────

────────────────── exit1_pass/9cc71e78: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/9cc71e78/stage/exit1_pass_postrun.sh not found.
string_tag/80920487: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/string_tag/80920487/stage
string_tag/80920487: Running Test via command: bash string_tag_build.sh
──────────────────── Output Message for string_tag/80920487 ────────────────────
build-24413852-project-280831-buildtest

string_tag/80920487: Test completed in 0.007409 seconds with returncode: 0
string_tag/80920487: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/string_tag/80920487/string_tag.out
string_tag/80920487: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/string_tag/80920487/string_tag.err
string_tag/80920487: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/string_tag/80920487/stage/string_tag_postrun.sh
string_tag/80920487: Post run script exit code: 1
───────────────── string_tag/80920487: Post Run Script Output ──────────────────

────────────────── string_tag/80920487: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/string_tag/80920487/stage/string_tag_postrun.sh not found.
returncode_int_match/0a065e3d: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/0a065e3d/stage
returncode_int_match/0a065e3d: Running Test via command: bash returncode_int_match_build.sh
─────────────── Output Message for returncode_int_match/0a065e3d ───────────────

returncode_int_match/0a065e3d: failed to submit job with returncode: 128
─────────────── Error Message for returncode_int_match/0a065e3d ────────────────

returncode_int_match/0a065e3d: Detected failure in running test, will attempt to retry test: 1 times
returncode_int_match/0a065e3d: Run - 1/1
returncode_int_match/0a065e3d: Running Test via command: bash returncode_int_match_build.sh
returncode_int_match/0a065e3d: failed to submit job with returncode: 128
returncode_int_match/0a065e3d: Test completed in 0.014485 seconds with returncode: 128
returncode_int_match/0a065e3d: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/0a065e3d/returncode_int_match.out
returncode_int_match/0a065e3d: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/0a065e3d/returncode_int_match.err
returncode_int_match/0a065e3d: Checking returncode - 128 is matched in list [128]
returncode_int_match/0a065e3d: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/0a065e3d/stage/returncode_int_match_postrun.sh
returncode_int_match/0a065e3d: Post run script exit code: 1
──────────── returncode_int_match/0a065e3d: Post Run Script Output ─────────────

───────────── returncode_int_match/0a065e3d: Post Run Script Error ─────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/0a065e3d/stage/returncode_int_match_postrun.sh not found.
list_of_strings_tags/3d0462ab: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/list_of_strings_tags/3d0462ab/stage
list_of_strings_tags/3d0462ab: Running Test via command: bash list_of_strings_tags_build.sh
─────────────── Output Message for list_of_strings_tags/3d0462ab ───────────────
PING www.google.com (142.250.190.36) 56(84) bytes of data.
 64 bytes from ord37s33-in-f4.1e100.net (142.250.190.36): icmp_seq=1 ttl=100 time=16.6 ms
 64 bytes from ord37s33-in-f4.1e100.net (142.250.190.36): icmp_seq=2 ttl=100 time=16.6 ms
 64 bytes from ord37s33-in-f4.1e100.net (142.250.190.36): icmp_seq=3 ttl=100 time=16.6 ms
 64 bytes from ord37s33-in-f4.1e100.net (142.250.190.36): icmp_seq=4 ttl=100 time=16.6 ms
 --- www.google.com ping statistics ---
 4 packets transmitted, 4 received, 0% packet loss, time 3005ms
 rtt min/avg/max/mdev = 16.576/16.587/16.602/0.010 ms

list_of_strings_tags/3d0462ab: Test completed in 3.032315 seconds with returncode: 0
list_of_strings_tags/3d0462ab: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/list_of_strings_tags/3d0462ab/list_of_strings_tags.out
list_of_strings_tags/3d0462ab: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/list_of_strings_tags/3d0462ab/list_of_strings_tags.err
list_of_strings_tags/3d0462ab: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/list_of_strings_tags/3d0462ab/stage/list_of_strings_tags_postrun.sh
list_of_strings_tags/3d0462ab: Post run script exit code: 1
──────────── list_of_strings_tags/3d0462ab: Post Run Script Output ─────────────

───────────── list_of_strings_tags/3d0462ab: Post Run Script Error ─────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/list_of_strings_tags/3d0462ab/stage/list_of_strings_tags_postrun.sh not found.
exit1_fail/06fbf108: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/06fbf108/stage
exit1_fail/06fbf108: Running Test via command: bash exit1_fail_build.sh
──────────────────── Output Message for exit1_fail/06fbf108 ────────────────────

exit1_fail/06fbf108: failed to submit job with returncode: 1
──────────────────── Error Message for exit1_fail/06fbf108 ─────────────────────

exit1_fail/06fbf108: Detected failure in running test, will attempt to retry test: 1 times
exit1_fail/06fbf108: Run - 1/1
exit1_fail/06fbf108: Running Test via command: bash exit1_fail_build.sh
exit1_fail/06fbf108: failed to submit job with returncode: 1
exit1_fail/06fbf108: Test completed in 0.014411 seconds with returncode: 1
exit1_fail/06fbf108: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/06fbf108/exit1_fail.out
exit1_fail/06fbf108: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/06fbf108/exit1_fail.err
exit1_fail/06fbf108: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/06fbf108/stage/exit1_fail_postrun.sh
exit1_fail/06fbf108: Post run script exit code: 1
───────────────── exit1_fail/06fbf108: Post Run Script Output ──────────────────

────────────────── exit1_fail/06fbf108: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/06fbf108/stage/exit1_fail_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ list_of_strings_tags/3d │ generic.local.bash │ PASS   │ 0          │ 3.032   │
│ 0462ab                  │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ string_tag/80920487     │ generic.local.bash │ PASS   │ 0          │ 0.007   │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ returncode_list_mismatc │ generic.local.bash │ FAIL   │ 2          │ 0.015   │
│ h/9911f714              │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ exit1_pass/9cc71e78     │ generic.local.bash │ PASS   │ 1          │ 0.015   │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ returncode_int_match/0a │ generic.local.bash │ PASS   │ 128        │ 0.014   │
│ 065e3d                  │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ exit1_fail/06fbf108     │ generic.local.bash │ FAIL   │ 1          │ 0.014   │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 4/6 Percentage: 66.667%
Failed Tests: 2/6 Percentage: 33.333%


Adding 6 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_d6vwafc9.log

You can combine --tags with --buildspec to discover buildspecs in a single command. buildtest will query tags and buildspecs independently and combine all discovered buildspecs together.

buildtest build --tags pass --buildspec tutorials/python-hello.yml
$ buildtest build --tags pass --buildspec tutorials/python-hello.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:32                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/pass_returncode.yml                                     ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-hello.yml                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 2                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
                             Buildspecs By Tag=pass                             
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/pass_returncode.yml                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  2
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  2
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/python-hello.yml: VALID
Total builder objects created: 5
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_fa │ script │ generic. │ None     │ None  │ None  │ exit 1   │ /home/d │
│ il/7bb47 │        │ local.ba │          │       │       │ by       │ ocs/che │
│ 772      │        │ sh       │          │       │       │ default  │ ckouts/ │
│          │        │          │          │       │       │ is FAIL  │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_pa │ script │ generic. │ None     │ None  │ None  │ report   │ /home/d │
│ ss/c856f │        │ local.ba │          │       │       │ exit 1   │ ocs/che │
│ c85      │        │ sh       │          │       │       │ as PASS  │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit 2   │ /home/d │
│ de_list_ │        │ local.ba │          │       │       │ failed   │ ocs/che │
│ mismatch │        │ sh       │          │       │       │ since it │ ckouts/ │
│ /c782eaf │        │          │          │       │       │ failed   │ readthe │
│ 4        │        │          │          │       │       │ to match │ docs.or │
│          │        │          │          │       │       │ returnco │ g/user_ │
│          │        │          │          │       │       │ de 1     │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit 128 │ /home/d │
│ de_int_m │        │ local.ba │          │       │       │ matches  │ ocs/che │
│ atch/356 │        │ sh       │          │       │       │ returnco │ ckouts/ │
│ c9eda    │        │          │          │       │       │ de 128   │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ python_h │ script │ generic. │ None     │ None  │ None  │ Hello    │ /home/d │
│ ello/a7c │        │ local.ba │          │       │       │ World    │ ocs/che │
│ c5697    │        │ sh       │          │       │       │ python   │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /python │
│          │        │          │          │       │       │          │ -hello. │
│          │        │          │          │       │       │          │ yml     │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
exit1_fail/7bb47772: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/7bb47772
exit1_pass/c856fc85: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/c856fc85
returncode_list_mismatch/c782eaf4: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/c782eaf4
returncode_int_match/356c9eda: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/356c9eda
python_hello/a7cc5697: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/a7cc5697
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
exit1_pass/c856fc85 does not have any dependencies adding test to queue
returncode_list_mismatch/c782eaf4 does not have any dependencies adding test to queue
python_hello/a7cc5697 does not have any dependencies adding test to queue
exit1_fail/7bb47772 does not have any dependencies adding test to queue
returncode_int_match/356c9eda does not have any dependencies adding test to queue
      Builders Eligible to Run       
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ exit1_pass/c856fc85               │
│ returncode_list_mismatch/c782eaf4 │
│ python_hello/a7cc5697             │
│ exit1_fail/7bb47772               │
│ returncode_int_match/356c9eda     │
└───────────────────────────────────┘
exit1_pass/c856fc85: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/c856fc85/stage
exit1_pass/c856fc85: Running Test via command: bash exit1_pass_build.sh
──────────────────── Output Message for exit1_pass/c856fc85 ────────────────────

exit1_pass/c856fc85: failed to submit job with returncode: 1
──────────────────── Error Message for exit1_pass/c856fc85 ─────────────────────

exit1_pass/c856fc85: Detected failure in running test, will attempt to retry test: 1 times
exit1_pass/c856fc85: Run - 1/1
exit1_pass/c856fc85: Running Test via command: bash exit1_pass_build.sh
exit1_pass/c856fc85: failed to submit job with returncode: 1
exit1_pass/c856fc85: Test completed in 0.014642 seconds with returncode: 1
exit1_pass/c856fc85: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/c856fc85/exit1_pass.out
exit1_pass/c856fc85: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/c856fc85/exit1_pass.err
exit1_pass/c856fc85: Checking returncode - 1 is matched in list [1]
exit1_pass/c856fc85: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/c856fc85/stage/exit1_pass_postrun.sh
exit1_pass/c856fc85: Post run script exit code: 1
───────────────── exit1_pass/c856fc85: Post Run Script Output ──────────────────

────────────────── exit1_pass/c856fc85: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/c856fc85/stage/exit1_pass_postrun.sh not found.
returncode_list_mismatch/c782eaf4: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/c782eaf4/stage
returncode_list_mismatch/c782eaf4: Running Test via command: bash returncode_list_mismatch_build.sh
───────────── Output Message for returncode_list_mismatch/c782eaf4 ─────────────

returncode_list_mismatch/c782eaf4: failed to submit job with returncode: 2
───────────── Error Message for returncode_list_mismatch/c782eaf4 ──────────────

returncode_list_mismatch/c782eaf4: Detected failure in running test, will attempt to retry test: 1 times
returncode_list_mismatch/c782eaf4: Run - 1/1
returncode_list_mismatch/c782eaf4: Running Test via command: bash returncode_list_mismatch_build.sh
returncode_list_mismatch/c782eaf4: failed to submit job with returncode: 2
returncode_list_mismatch/c782eaf4: Test completed in 0.014342 seconds with returncode: 2
returncode_list_mismatch/c782eaf4: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/c782eaf4/returncode_list_mismatch.out
returncode_list_mismatch/c782eaf4: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/c782eaf4/returncode_list_mismatch.err
returncode_list_mismatch/c782eaf4: Checking returncode - 2 is matched in list [1, 3]
returncode_list_mismatch/c782eaf4: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/c782eaf4/stage/returncode_list_mismatch_postrun.sh
returncode_list_mismatch/c782eaf4: Post run script exit code: 1
────────── returncode_list_mismatch/c782eaf4: Post Run Script Output ───────────

─────────── returncode_list_mismatch/c782eaf4: Post Run Script Error ───────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/c782eaf4/stage/returncode_list_mismatch_postrun.sh not found.
python_hello/a7cc5697: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/a7cc5697/stage
python_hello/a7cc5697: Running Test via command: bash python_hello_build.sh
─────────────────── Output Message for python_hello/a7cc5697 ───────────────────
Hello World

python_hello/a7cc5697: Test completed in 0.035029 seconds with returncode: 0
python_hello/a7cc5697: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/a7cc5697/python_hello.out
python_hello/a7cc5697: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/a7cc5697/python_hello.err
python_hello/a7cc5697: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/a7cc5697/stage/python_hello_postrun.sh
python_hello/a7cc5697: Post run script exit code: 1
──────────────── python_hello/a7cc5697: Post Run Script Output ─────────────────

───────────────── python_hello/a7cc5697: Post Run Script Error ─────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/a7cc5697/stage/python_hello_postrun.sh not found.
exit1_fail/7bb47772: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/7bb47772/stage
exit1_fail/7bb47772: Running Test via command: bash exit1_fail_build.sh
──────────────────── Output Message for exit1_fail/7bb47772 ────────────────────

exit1_fail/7bb47772: failed to submit job with returncode: 1
──────────────────── Error Message for exit1_fail/7bb47772 ─────────────────────

exit1_fail/7bb47772: Detected failure in running test, will attempt to retry test: 1 times
exit1_fail/7bb47772: Run - 1/1
exit1_fail/7bb47772: Running Test via command: bash exit1_fail_build.sh
exit1_fail/7bb47772: failed to submit job with returncode: 1
exit1_fail/7bb47772: Test completed in 0.014189 seconds with returncode: 1
exit1_fail/7bb47772: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/7bb47772/exit1_fail.out
exit1_fail/7bb47772: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/7bb47772/exit1_fail.err
exit1_fail/7bb47772: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/7bb47772/stage/exit1_fail_postrun.sh
exit1_fail/7bb47772: Post run script exit code: 1
───────────────── exit1_fail/7bb47772: Post Run Script Output ──────────────────

────────────────── exit1_fail/7bb47772: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/7bb47772/stage/exit1_fail_postrun.sh not found.
returncode_int_match/356c9eda: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/356c9eda/stage
returncode_int_match/356c9eda: Running Test via command: bash returncode_int_match_build.sh
─────────────── Output Message for returncode_int_match/356c9eda ───────────────

returncode_int_match/356c9eda: failed to submit job with returncode: 128
─────────────── Error Message for returncode_int_match/356c9eda ────────────────

returncode_int_match/356c9eda: Detected failure in running test, will attempt to retry test: 1 times
returncode_int_match/356c9eda: Run - 1/1
returncode_int_match/356c9eda: Running Test via command: bash returncode_int_match_build.sh
returncode_int_match/356c9eda: failed to submit job with returncode: 128
returncode_int_match/356c9eda: Test completed in 0.014326 seconds with returncode: 128
returncode_int_match/356c9eda: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/356c9eda/returncode_int_match.out
returncode_int_match/356c9eda: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/356c9eda/returncode_int_match.err
returncode_int_match/356c9eda: Checking returncode - 128 is matched in list [128]
returncode_int_match/356c9eda: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/356c9eda/stage/returncode_int_match_postrun.sh
returncode_int_match/356c9eda: Post run script exit code: 1
──────────── returncode_int_match/356c9eda: Post Run Script Output ─────────────

───────────── returncode_int_match/356c9eda: Post Run Script Error ─────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/356c9eda/stage/returncode_int_match_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_pass/c856fc85     │ generic.local.bash │ PASS   │ 1          │ 0.015   │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ python_hello/a7cc5697   │ generic.local.bash │ PASS   │ 0          │ 0.035   │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ exit1_fail/7bb47772     │ generic.local.bash │ FAIL   │ 1          │ 0.014   │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ returncode_int_match/35 │ generic.local.bash │ PASS   │ 128        │ 0.014   │
│ 6c9eda                  │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ returncode_list_mismatc │ generic.local.bash │ FAIL   │ 2          │ 0.014   │
│ h/c782eaf4              │                    │        │            │         │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 3/5 Percentage: 60.000%
Failed Tests: 2/5 Percentage: 40.000%


Adding 5 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_vf_55v1v.log

As you may see, there are several ways to build buildspecs with buildtest. Tags is great way to build a whole collection of tests if you don’t know path to all the files. You can specify multiple tags per buildspecs to classify how test can be run.

Exclude by tags (buildtest build --exclude-tags)

You can exclude tests by tagname using --exclude-tags option or short option (-xt). Any tests that contains the tags field is searched with list of excluded tags. If there is a match, the test is skipped. If the test does not contain tags key, the test will be included to run.

Let’s take an example buildspec file which contains 4 tests.

buildspecs:

  exit1_fail:
    executor: generic.local.bash
    type: script
    description: exit 1 by default is FAIL
    tags: [tutorials, fail]
    run: exit 1

  exit1_pass:
    executor: generic.local.bash
    type: script
    description: report exit 1 as PASS
    run: exit 1
    tags: [tutorials, pass]
    status:
      returncode: [1]

  returncode_list_mismatch:
    executor: generic.local.bash
    type: script
    description: exit 2 failed since it failed to match returncode 1
    run: exit 2
    tags: [tutorials, fail]
    status:
      returncode: [1, 3]

  returncode_int_match:
    executor: generic.local.bash
    type: script
    description: exit 128 matches returncode 128
    run: exit 128
    tags: [tutorials, pass]
    status:
      returncode: 128

We will demonstrate this feature, by excluding tests with tag name pass. Take note all tests are run except for those that include pass.

buildtest build -b tutorials/test_status/pass_returncode.yml -xt pass
$ buildtest build -b tutorials/test_status/pass_returncode.yml -xt pass
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:33                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/pass_returncode.yml                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Skipping test: exit1_pass from buildspec: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml due to tag exclusion: ['pass']
Skipping test: returncode_int_match from buildspec: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml due to tag exclusion: ['pass']
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml: VALID
Total builder objects created: 2
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_fa │ script │ generic. │ None     │ None  │ None  │ exit 1   │ /home/d │
│ il/512d2 │        │ local.ba │          │       │       │ by       │ ocs/che │
│ b96      │        │ sh       │          │       │       │ default  │ ckouts/ │
│          │        │          │          │       │       │ is FAIL  │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit 2   │ /home/d │
│ de_list_ │        │ local.ba │          │       │       │ failed   │ ocs/che │
│ mismatch │        │ sh       │          │       │       │ since it │ ckouts/ │
│ /c790520 │        │          │          │       │       │ failed   │ readthe │
│ a        │        │          │          │       │       │ to match │ docs.or │
│          │        │          │          │       │       │ returnco │ g/user_ │
│          │        │          │          │       │       │ de 1     │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
exit1_fail/512d2b96: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/512d2b96
returncode_list_mismatch/c790520a: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/c790520a
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
exit1_fail/512d2b96 does not have any dependencies adding test to queue
returncode_list_mismatch/c790520a does not have any dependencies adding test to queue
      Builders Eligible to Run       
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ exit1_fail/512d2b96               │
│ returncode_list_mismatch/c790520a │
└───────────────────────────────────┘
exit1_fail/512d2b96: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/512d2b96/stage
exit1_fail/512d2b96: Running Test via command: bash exit1_fail_build.sh
──────────────────── Output Message for exit1_fail/512d2b96 ────────────────────

exit1_fail/512d2b96: failed to submit job with returncode: 1
──────────────────── Error Message for exit1_fail/512d2b96 ─────────────────────

exit1_fail/512d2b96: Detected failure in running test, will attempt to retry test: 1 times
exit1_fail/512d2b96: Run - 1/1
exit1_fail/512d2b96: Running Test via command: bash exit1_fail_build.sh
exit1_fail/512d2b96: failed to submit job with returncode: 1
exit1_fail/512d2b96: Test completed in 0.015038 seconds with returncode: 1
exit1_fail/512d2b96: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/512d2b96/exit1_fail.out
exit1_fail/512d2b96: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/512d2b96/exit1_fail.err
exit1_fail/512d2b96: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/512d2b96/stage/exit1_fail_postrun.sh
exit1_fail/512d2b96: Post run script exit code: 1
───────────────── exit1_fail/512d2b96: Post Run Script Output ──────────────────

────────────────── exit1_fail/512d2b96: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/512d2b96/stage/exit1_fail_postrun.sh not found.
returncode_list_mismatch/c790520a: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/c790520a/stage
returncode_list_mismatch/c790520a: Running Test via command: bash returncode_list_mismatch_build.sh
───────────── Output Message for returncode_list_mismatch/c790520a ─────────────

returncode_list_mismatch/c790520a: failed to submit job with returncode: 2
───────────── Error Message for returncode_list_mismatch/c790520a ──────────────

returncode_list_mismatch/c790520a: Detected failure in running test, will attempt to retry test: 1 times
returncode_list_mismatch/c790520a: Run - 1/1
returncode_list_mismatch/c790520a: Running Test via command: bash returncode_list_mismatch_build.sh
returncode_list_mismatch/c790520a: failed to submit job with returncode: 2
returncode_list_mismatch/c790520a: Test completed in 0.014738 seconds with returncode: 2
returncode_list_mismatch/c790520a: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/c790520a/returncode_list_mismatch.out
returncode_list_mismatch/c790520a: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/c790520a/returncode_list_mismatch.err
returncode_list_mismatch/c790520a: Checking returncode - 2 is matched in list [1, 3]
returncode_list_mismatch/c790520a: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/c790520a/stage/returncode_list_mismatch_postrun.sh
returncode_list_mismatch/c790520a: Post run script exit code: 1
────────── returncode_list_mismatch/c790520a: Post Run Script Output ───────────

─────────── returncode_list_mismatch/c790520a: Post Run Script Error ───────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/c790520a/stage/returncode_list_mismatch_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_fail/512d2b96     │ generic.local.bash │ FAIL   │ 1          │ 0.015   │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ returncode_list_mismatc │ generic.local.bash │ FAIL   │ 2          │ 0.015   │
│ h/c790520a              │                    │        │            │         │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 0/2 Percentage: 0.000%
Failed Tests: 2/2 Percentage: 100.000%


Adding 2 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_9qc4arsv.log

We can specify tags as a comma separated list to specify multiple tags so one can do -xt tag1,tag2 which is equivalent to -xt tag1 -xt tag2. You may even mix the two formats together where you can exclude tags: tag1, tag2, tag3 by running -xt tag1 -xt tag2,tag3.

In this example below, we will exclude both pass and fail tags which results in error message where no test are eligible to run after exclusion has been applied.

buildtest build -b tutorials/test_status/pass_returncode.yml -xt pass,fail
$ buildtest build -b tutorials/test_status/pass_returncode.yml -xt pass,fail
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:34                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/pass_returncode.yml                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Skipping test: exit1_fail from buildspec: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml due to tag exclusion: ['pass', 'fail']
Skipping test: exit1_pass from buildspec: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml due to tag exclusion: ['pass', 'fail']
Skipping test: returncode_list_mismatch from buildspec: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml due to tag exclusion: ['pass', 'fail']
Skipping test: returncode_int_match from buildspec: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml due to tag exclusion: ['pass', 'fail']
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml: VALID
                            Buildspecs Filtered out                             
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ buildspecs                                                                   ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
└──────────────────────────────────────────────────────────────────────────────┘

buildtest is unable to create any tests because there are no valid buildspecs. 

Please see logfile: /tmp/tmpqzxycqdh/var/buildtest.log

Building by Test Names (buildtest build --name)

You can discover buildspecs by test names using the --name option or short option -n. This feature can be used if you want to run a particular test and not worrying about the buildspec file that is belongs to. Note we have tab completion builtin to this feature to show list of tests that are found in the buildspec cache. Shown below is an example output of the tab completion listing all available tests

  buildtest build --name _bin_bash_shell
_bin_bash_shell                   current_user_queue                lsf_version                       runtime_test_pass                 status_regex_stderr_pass
_bin_sh_shell                     dead_nodes                        metric_file_regex                 sh_shell                          status_regex_stdout_fail
add_numbers                       display_hosts_format              metric_file_regex_invalid_file    shell_options                     status_regex_stdout_pass
always_fail                       display_lsf_hosts                 metric_regex_example              show_accounts                     status_returncode_by_executors
always_pass                       executors_sbatch_declaration      multiple_executors                show_all_jobs                     stream_test
assert_contains_fail              executors_vars_env_declaration    node_down_fail_list_reason        show_host_groups                  string_tag
assert_eq_example                 exit1_fail                        nodes_state_allocated             show_jobs                         summary_example
assert_eq_invalid_metric          exit1_pass                        nodes_state_completing            show_lsf_configuration            symlink_test
assert_eq_mismatch                fail_test                         nodes_state_down                  show_lsf_models                   systemd_default_target
assert_gt_example                 file_and_dir_checks               nodes_state_idle                  show_lsf_queues                   tcsh_env_declaration
assert_le_example                 file_count_by_expression          nodes_state_reboot                show_lsf_queues_current_user      test1
assert_lt_example                 file_count_by_extension           pass_and_fail_test                show_lsf_queues_formatted         test2

Let’s try building an example test by name hello_world. Take note in output, buildtest will show a breakdown of buildspecs discovered by the test name.

buildtest build --name hello_world
$ buildtest build --name hello_world
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:34                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/hello_world.yml                                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
                         Buildspecs by Name=hello_world                         
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/hello_world.yml                                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/hello_world.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ hello_wo │ script │ generic. │ None     │ None  │ None  │ hello    │ /home/d │
│ rld/d553 │        │ local.ba │          │       │       │ world    │ ocs/che │
│ 4d72     │        │ sh       │          │       │       │ example  │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /hello_ │
│          │        │          │          │       │       │          │ world.y │
│          │        │          │          │       │       │          │ ml      │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
hello_world/d5534d72: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/d5534d72
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
hello_world/d5534d72 does not have any dependencies adding test to queue
Builders Eligible to Run
┏━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder              ┃
┡━━━━━━━━━━━━━━━━━━━━━━┩
│ hello_world/d5534d72 │
└──────────────────────┘
hello_world/d5534d72: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/d5534d72/stage
hello_world/d5534d72: Running Test via command: bash hello_world_build.sh
─────────────────── Output Message for hello_world/d5534d72 ────────────────────
hello world!

hello_world/d5534d72: Test completed in 0.006999 seconds with returncode: 0
hello_world/d5534d72: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/d5534d72/hello_world.out
hello_world/d5534d72: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/d5534d72/hello_world.err
hello_world/d5534d72: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/d5534d72/stage/hello_world_postrun.sh
hello_world/d5534d72: Post run script exit code: 1
───────────────── hello_world/d5534d72: Post Run Script Output ─────────────────

───────────────── hello_world/d5534d72: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/d5534d72/stage/hello_world_postrun.sh not found.
                                Test Summary                                 
┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder              ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ hello_world/d5534d72 │ generic.local.bash │ PASS   │ 0          │ 0.007   │
└──────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 1/1 Percentage: 100.000%
Failed Tests: 0/1 Percentage: 0.000%


Adding 1 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_yf4ll4dl.log

You can specify multiple test names just specify the option multiple times. In example below we will demonstrate this example

buildtest build --name add_numbers --name summary_example
$ buildtest build --name add_numbers --name summary_example
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:35                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/summary_example.yml                                                 ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/add_numbers.yml                                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 2                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
                         Buildspecs by Name=add_numbers                         
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/add_numbers.yml                                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
                       Buildspecs by Name=summary_example                       
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/summary_example.yml                                                 ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  2
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  2
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/summary_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/add_numbers.yml: VALID
Total builder objects created: 2
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ summary_ │ script │ generic. │ None     │ None  │ None  │ The      │ /home/d │
│ example/ │        │ local.ba │          │       │       │ summary  │ ocs/che │
│ a073d759 │        │ sh       │          │       │       │ field    │ ckouts/ │
│          │        │          │          │       │       │ can be a │ readthe │
│          │        │          │          │       │       │ multi-li │ docs.or │
│          │        │          │          │       │       │ ne       │ g/user_ │
│          │        │          │          │       │       │ string   │ builds/ │
│          │        │          │          │       │       │ and      │ buildte │
│          │        │          │          │       │       │ exceed   │ st/chec │
│          │        │          │          │       │       │ 80 char  │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /summar │
│          │        │          │          │       │       │          │ y_examp │
│          │        │          │          │       │       │          │ le.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ add_numb │ script │ generic. │ None     │ None  │ None  │ Add X+Y  │ /home/d │
│ ers/9951 │        │ local.ba │          │       │       │          │ ocs/che │
│ 4f3a     │        │ sh       │          │       │       │          │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /add_nu │
│          │        │          │          │       │       │          │ mbers.y │
│          │        │          │          │       │       │          │ ml      │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
summary_example/a073d759: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/summary_example/summary_example/a073d759
add_numbers/99514f3a: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/add_numbers/add_numbers/99514f3a
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
summary_example/a073d759 does not have any dependencies adding test to queue
add_numbers/99514f3a does not have any dependencies adding test to queue
  Builders Eligible to Run  
┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                  ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ summary_example/a073d759 │
│ add_numbers/99514f3a     │
└──────────────────────────┘
summary_example/a073d759: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/summary_example/summary_example/a073d759/stage
summary_example/a073d759: Running Test via command: bash summary_example_build.sh
───────────────── Output Message for summary_example/a073d759 ──────────────────
build-24413852-project-280831-buildtest

summary_example/a073d759: Test completed in 0.007802 seconds with returncode: 0
summary_example/a073d759: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/summary_example/summary_example/a073d759/summary_example.out
summary_example/a073d759: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/summary_example/summary_example/a073d759/summary_example.err
summary_example/a073d759: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/summary_example/summary_example/a073d759/stage/summary_example_postrun.sh
summary_example/a073d759: Post run script exit code: 1
─────────────── summary_example/a073d759: Post Run Script Output ───────────────

─────────────── summary_example/a073d759: Post Run Script Error ────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/summary_example/summary_example/a073d759/stage/summary_example_postrun.sh not found.
add_numbers/99514f3a: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/add_numbers/add_numbers/99514f3a/stage
add_numbers/99514f3a: Running Test via command: bash add_numbers_build.sh
─────────────────── Output Message for add_numbers/99514f3a ────────────────────
1+2= 3

add_numbers/99514f3a: Test completed in 0.006785 seconds with returncode: 0
add_numbers/99514f3a: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/add_numbers/add_numbers/99514f3a/add_numbers.out
add_numbers/99514f3a: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/add_numbers/add_numbers/99514f3a/add_numbers.err
add_numbers/99514f3a: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/add_numbers/add_numbers/99514f3a/stage/add_numbers_postrun.sh
add_numbers/99514f3a: Post run script exit code: 1
───────────────── add_numbers/99514f3a: Post Run Script Output ─────────────────

───────────────── add_numbers/99514f3a: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/add_numbers/add_numbers/99514f3a/stage/add_numbers_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ add_numbers/99514f3a    │ generic.local.bash │ PASS   │ 0          │ 0.007   │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ summary_example/a073d75 │ generic.local.bash │ PASS   │ 0          │ 0.008   │
│ 9                       │                    │        │            │         │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 2/2 Percentage: 100.000%
Failed Tests: 0/2 Percentage: 0.000%


Adding 2 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_ghbx6p3k.log

Please note, buildtest will discover buildspecs given the test name (--name) option and then run all tests defined in the buildspec file. A buildspec file may include several tests and by default all of them are run. This option is not meant to filter buildspecs by the selected test, but only a means for discovering buildspecs by test name.

Building by Executors (buildtest build --executor)

Every buildspec is associated to an executor which is responsible for running the test. You can instruct buildtest to run all tests by given executor via --executor option or short option -e. For instance, if you want to build all test associated to executor generic.local.csh you can run:

$ buildtest build --executor generic.local.csh

buildtest will query buildspec cache for the executor name and retrieve a list of buildspecs with matching executor name. To see a list of available executors in buildspec cache see querying buildspec executor.

Note

By default all tests are run in buildspec file. The buildtest build --executor option discovers buildspecs if one of the test matches the executor name. The --executor option is not filtering tests but only discovering buildspecs.

In this example we run all tests that are associated to generic.local.csh executor.

buildtest build --executor generic.local.csh
$ buildtest build --executor generic.local.csh
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:36                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/csh_shell_examples.yml                                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/environment.yml                                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 2                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
                    Buildspecs by Executor=generic.local.csh                    
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/csh_shell_examples.yml                                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/environment.yml                                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 2                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  2
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  2
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/csh_shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/environment.yml: VALID
Total builder objects created: 4
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ csh_shel │ script │ generic. │ None     │ None  │ None  │ csh      │ /home/d │
│ l/d54934 │        │ local.cs │          │       │       │ shell    │ ocs/che │
│ 7d       │        │ h        │          │       │       │ example  │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /csh_sh │
│          │        │          │          │       │       │          │ ell_exa │
│          │        │          │          │       │       │          │ mples.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ bash_env │ script │ generic. │ None     │ None  │ None  │ Declare  │ /home/d │
│ _variabl │        │ local.ba │          │       │       │ environm │ ocs/che │
│ es/d085d │        │ sh       │          │       │       │ ent      │ ckouts/ │
│ e31      │        │          │          │       │       │ variable │ readthe │
│          │        │          │          │       │       │ s in     │ docs.or │
│          │        │          │          │       │       │ default  │ g/user_ │
│          │        │          │          │       │       │ shell    │ builds/ │
│          │        │          │          │       │       │ (bash)   │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /enviro │
│          │        │          │          │       │       │          │ nment.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ csh_env_ │ script │ generic. │ None     │ None  │ None  │ csh      │ /home/d │
│ declarat │        │ local.cs │          │       │       │ shell    │ ocs/che │
│ ion/2e70 │        │ h        │          │       │       │ example  │ ckouts/ │
│ e1dd     │        │          │          │       │       │ to       │ readthe │
│          │        │          │          │       │       │ declare  │ docs.or │
│          │        │          │          │       │       │ environm │ g/user_ │
│          │        │          │          │       │       │ ent      │ builds/ │
│          │        │          │          │       │       │ variable │ buildte │
│          │        │          │          │       │       │ s        │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /enviro │
│          │        │          │          │       │       │          │ nment.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ tcsh_env │ script │ generic. │ None     │ None  │ None  │ tcsh     │ /home/d │
│ _declara │        │ local.cs │          │       │       │ shell    │ ocs/che │
│ tion/de5 │        │ h        │          │       │       │ example  │ ckouts/ │
│ 2e0e0    │        │          │          │       │       │ to       │ readthe │
│          │        │          │          │       │       │ declare  │ docs.or │
│          │        │          │          │       │       │ environm │ g/user_ │
│          │        │          │          │       │       │ ent      │ builds/ │
│          │        │          │          │       │       │ variable │ buildte │
│          │        │          │          │       │       │ s        │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /enviro │
│          │        │          │          │       │       │          │ nment.y │
│          │        │          │          │       │       │          │ ml      │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
csh_shell/d549347d: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.csh/csh_shell_examples/csh_shell/d549347d
bash_env_variables/d085de31: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/environment/bash_env_variables/d085de31
csh_env_declaration/2e70e1dd: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.csh/environment/csh_env_declaration/2e70e1dd
tcsh_env_declaration/de52e0e0: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.csh/environment/tcsh_env_declaration/de52e0e0
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
tcsh_env_declaration/de52e0e0 does not have any dependencies adding test to queue
csh_env_declaration/2e70e1dd does not have any dependencies adding test to queue
csh_shell/d549347d does not have any dependencies adding test to queue
bash_env_variables/d085de31 does not have any dependencies adding test to queue
    Builders Eligible to Run     
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                       ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ csh_shell/d549347d            │
│ tcsh_env_declaration/de52e0e0 │
│ csh_env_declaration/2e70e1dd  │
│ bash_env_variables/d085de31   │
└───────────────────────────────┘
csh_shell/d549347d: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.csh/csh_shell_examples/csh_shell/d549347d/stage
csh_shell/d549347d: Running Test via command: bash csh_shell_build.sh
──────────────────── Output Message for csh_shell/d549347d ─────────────────────
/etc/csh.cshrc file found

csh_shell/d549347d: Test completed in 2.12379 seconds with returncode: 0
csh_shell/d549347d: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.csh/csh_shell_examples/csh_shell/d549347d/csh_shell.out
csh_shell/d549347d: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.csh/csh_shell_examples/csh_shell/d549347d/csh_shell.err
csh_shell/d549347d: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.csh/csh_shell_examples/csh_shell/d549347d/stage/csh_shell_postrun.sh
csh_shell/d549347d: Post run script exit code: 1
────────────────── csh_shell/d549347d: Post Run Script Output ──────────────────

────────────────── csh_shell/d549347d: Post Run Script Error ───────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.csh/csh_shell_examples/csh_shell/d549347d/stage/csh_shell_postrun.sh not found.
tcsh_env_declaration/de52e0e0: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.csh/environment/tcsh_env_declaration/de52e0e0/stage
tcsh_env_declaration/de52e0e0: Running Test via command: bash tcsh_env_declaration_build.sh
─────────────── Output Message for tcsh_env_declaration/de52e0e0 ───────────────
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/devel/bin /home/docs/.asdf/shims /home/docs/.asdf/bin /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/bin

tcsh_env_declaration/de52e0e0: Test completed in 0.01496 seconds with returncode: 0
tcsh_env_declaration/de52e0e0: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.csh/environment/tcsh_env_declaration/de52e0e0/tcsh_env_declaration.out
tcsh_env_declaration/de52e0e0: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.csh/environment/tcsh_env_declaration/de52e0e0/tcsh_env_declaration.err
tcsh_env_declaration/de52e0e0: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.csh/environment/tcsh_env_declaration/de52e0e0/stage/tcsh_env_declaration_postrun.sh
tcsh_env_declaration/de52e0e0: Post run script exit code: 1
──────────── tcsh_env_declaration/de52e0e0: Post Run Script Output ─────────────

───────────── tcsh_env_declaration/de52e0e0: Post Run Script Error ─────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.csh/environment/tcsh_env_declaration/de52e0e0/stage/tcsh_env_declaration_postrun.sh not found.
csh_env_declaration/2e70e1dd: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.csh/environment/csh_env_declaration/2e70e1dd/stage
csh_env_declaration/2e70e1dd: Running Test via command: bash csh_env_declaration_build.sh
─────────────── Output Message for csh_env_declaration/2e70e1dd ────────────────

csh_env_declaration/2e70e1dd: Test completed in 2.110016 seconds with returncode: 0
csh_env_declaration/2e70e1dd: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.csh/environment/csh_env_declaration/2e70e1dd/csh_env_declaration.out
csh_env_declaration/2e70e1dd: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.csh/environment/csh_env_declaration/2e70e1dd/csh_env_declaration.err
csh_env_declaration/2e70e1dd: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.csh/environment/csh_env_declaration/2e70e1dd/stage/csh_env_declaration_postrun.sh
csh_env_declaration/2e70e1dd: Post run script exit code: 1
───────────── csh_env_declaration/2e70e1dd: Post Run Script Output ─────────────

───────────── csh_env_declaration/2e70e1dd: Post Run Script Error ──────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.csh/environment/csh_env_declaration/2e70e1dd/stage/csh_env_declaration_postrun.sh not found.
bash_env_variables/d085de31: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/environment/bash_env_variables/d085de31/stage
bash_env_variables/d085de31: Running Test via command: bash bash_env_variables_build.sh
──────────────── Output Message for bash_env_variables/d085de31 ────────────────
build-24413852-project-280831-buildtest
 docs
 avocado dinosaur

bash_env_variables/d085de31: Test completed in 0.008465 seconds with returncode: 0
bash_env_variables/d085de31: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/environment/bash_env_variables/d085de31/bash_env_variables.out
bash_env_variables/d085de31: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/environment/bash_env_variables/d085de31/bash_env_variables.err
bash_env_variables/d085de31: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/environment/bash_env_variables/d085de31/stage/bash_env_variables_postrun.sh
bash_env_variables/d085de31: Post run script exit code: 1
───────────── bash_env_variables/d085de31: Post Run Script Output ──────────────

────────────── bash_env_variables/d085de31: Post Run Script Error ──────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/environment/bash_env_variables/d085de31/stage/bash_env_variables_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ bash_env_variables/d085 │ generic.local.bash │ PASS   │ 0          │ 0.008   │
│ de31                    │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ tcsh_env_declaration/de │ generic.local.csh  │ PASS   │ 0          │ 0.015   │
│ 52e0e0                  │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ csh_env_declaration/2e7 │ generic.local.csh  │ PASS   │ 0          │ 2.110   │
│ 0e1dd                   │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ csh_shell/d549347d      │ generic.local.csh  │ PASS   │ 0          │ 2.124   │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 4/4 Percentage: 100.000%
Failed Tests: 0/4 Percentage: 0.000%


Adding 4 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_71ydkzq0.log

Note

The --executor option can be appended to discover tests by multiple executors.

Filtering Buildspecs (buildtest build --filter)

buildtest has support for filtering buildspecs based on certain attributes defined in buildspec file. Upon Discover Buildspecs, buildtest will filter out tests or entire buildspec files. The buildtest build --filter option can be used to filter tests where the format is key1=val1;key2=val2,val3. The semicolon is used to specify multiple filter fields and the comma is used to specify multiple values for a given field.

To see all available filter fields you can run buildtest build --helpfilter and buildtest will report the fields followed by description.

buildtest build --helpfilter
$ buildtest build --helpfilter
                 Buildtest Filters                  
┏━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Field       ┃ Description                        ┃
┡━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ tags        │ Filter tests by 'tag' field        │
│ type        │ Filter test by 'type' field        │
│ maintainers │ Filter test by 'maintainers' field │
└─────────────┴────────────────────────────────────┘

In this example, we will discover all buildspecs based on tagname pass and then filter each test by tagname pass specified by --filter tags=pass.

buildtest build -t pass --filter tags=pass
$ buildtest build -t pass --filter tags=pass
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:41                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/pass_returncode.yml                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
                             Buildspecs By Tag=pass                             
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/pass_returncode.yml                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
[exit1_fail][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml]: test is skipped because it is not in tag filter list: {'tags': ['pass']}
[returncode_list_mismatch][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml]: test is skipped because it is not in tag filter list: {'tags': ['pass']}
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml: VALID
Total builder objects created: 2
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_pa │ script │ generic. │ None     │ None  │ None  │ report   │ /home/d │
│ ss/61bf5 │        │ local.ba │          │       │       │ exit 1   │ ocs/che │
│ 09c      │        │ sh       │          │       │       │ as PASS  │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit 128 │ /home/d │
│ de_int_m │        │ local.ba │          │       │       │ matches  │ ocs/che │
│ atch/5fb │        │ sh       │          │       │       │ returnco │ ckouts/ │
│ ea771    │        │          │          │       │       │ de 128   │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
exit1_pass/61bf509c: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/61bf509c
returncode_int_match/5fbea771: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/5fbea771
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
exit1_pass/61bf509c does not have any dependencies adding test to queue
returncode_int_match/5fbea771 does not have any dependencies adding test to queue
    Builders Eligible to Run     
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                       ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ exit1_pass/61bf509c           │
│ returncode_int_match/5fbea771 │
└───────────────────────────────┘
exit1_pass/61bf509c: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/61bf509c/stage
exit1_pass/61bf509c: Running Test via command: bash exit1_pass_build.sh
──────────────────── Output Message for exit1_pass/61bf509c ────────────────────

exit1_pass/61bf509c: failed to submit job with returncode: 1
──────────────────── Error Message for exit1_pass/61bf509c ─────────────────────

exit1_pass/61bf509c: Detected failure in running test, will attempt to retry test: 1 times
exit1_pass/61bf509c: Run - 1/1
exit1_pass/61bf509c: Running Test via command: bash exit1_pass_build.sh
exit1_pass/61bf509c: failed to submit job with returncode: 1
exit1_pass/61bf509c: Test completed in 0.015197 seconds with returncode: 1
exit1_pass/61bf509c: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/61bf509c/exit1_pass.out
exit1_pass/61bf509c: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/61bf509c/exit1_pass.err
exit1_pass/61bf509c: Checking returncode - 1 is matched in list [1]
exit1_pass/61bf509c: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/61bf509c/stage/exit1_pass_postrun.sh
exit1_pass/61bf509c: Post run script exit code: 1
───────────────── exit1_pass/61bf509c: Post Run Script Output ──────────────────

────────────────── exit1_pass/61bf509c: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/61bf509c/stage/exit1_pass_postrun.sh not found.
returncode_int_match/5fbea771: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/5fbea771/stage
returncode_int_match/5fbea771: Running Test via command: bash returncode_int_match_build.sh
─────────────── Output Message for returncode_int_match/5fbea771 ───────────────

returncode_int_match/5fbea771: failed to submit job with returncode: 128
─────────────── Error Message for returncode_int_match/5fbea771 ────────────────

returncode_int_match/5fbea771: Detected failure in running test, will attempt to retry test: 1 times
returncode_int_match/5fbea771: Run - 1/1
returncode_int_match/5fbea771: Running Test via command: bash returncode_int_match_build.sh
returncode_int_match/5fbea771: failed to submit job with returncode: 128
returncode_int_match/5fbea771: Test completed in 0.014779 seconds with returncode: 128
returncode_int_match/5fbea771: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/5fbea771/returncode_int_match.out
returncode_int_match/5fbea771: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/5fbea771/returncode_int_match.err
returncode_int_match/5fbea771: Checking returncode - 128 is matched in list [128]
returncode_int_match/5fbea771: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/5fbea771/stage/returncode_int_match_postrun.sh
returncode_int_match/5fbea771: Post run script exit code: 1
──────────── returncode_int_match/5fbea771: Post Run Script Output ─────────────

───────────── returncode_int_match/5fbea771: Post Run Script Error ─────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/5fbea771/stage/returncode_int_match_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_pass/61bf509c     │ generic.local.bash │ PASS   │ 1          │ 0.015   │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ returncode_int_match/5f │ generic.local.bash │ PASS   │ 128        │ 0.015   │
│ bea771                  │                    │        │            │         │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 2/2 Percentage: 100.000%
Failed Tests: 0/2 Percentage: 0.000%


Adding 2 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_asiz4ekv.log

buildtest can run filter tests by maintainers, this can be useful if you want to run tests that you are maintainer. The maintainers field is set per buildspec and not each test. You can filter maintiners via --filter maintainers=<MAINTAINER_NAME>. If the maintainers field is not specified the buildspec will be filtered out if --filter maintainers is specified. In this next example, we will build all tests for maintainer @shahzebsiddiqui.

buildtest build -b tutorials --filter maintainers=@shahzebsiddiqui
$ buildtest build -b tutorials --filter maintainers=@shahzebsiddiqui
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:42                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_count_filetype.yml                                 ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/invalid_buildspec_section.yml                                       ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/containers/hello_world.yml                                          ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/missing_required_in_metrics.yml                             ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/linecount.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/exists.yml                                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/post_run.yml                                                        ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/job_dependency/ex1.yml                                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/pass_returncode.yml                                     ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/contains.yml                                            ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/status_regex.yml                                        ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/hello_world.yml                                                     ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/sleep.yml                                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/containers/hello_world_singularity.yml                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/explicit_state.yml                                      ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/burstbuffer_datawarp_executors.yml                                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/assert_ge.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/assert_ne.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/multi_executors/status_by_executors.yml                             ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/shell_examples.yml                                                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/metrics_regex.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/multi_executors/executor_scheduler.yml                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/metrics_regex_with_invalid_linenum.yml                      ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/metrics_regex_with_linenum.yml                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/csh_shell_examples.yml                                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/containers/container_executor/ubuntu.yml                            ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/shebang.yml                                                         ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/compilation/stream.yml                                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/skip_tests.yml                                                      ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_linecount.yml                                      ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/assert_gt.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/tags_example.yml                                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/regex_on_filename.yml                                   ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_exists_exception.yml                               ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/specify_regex_type.yml                                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-hello.yml                                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/multi_executors/executors_var_env_declaration.yml                   ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/mode.yml                                                ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/environment.yml                                                     ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/metrics_file_regex_with_invalid_linenum.yml                 ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_linecount_failure.yml                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_and_dir_check.yml                                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/assert_lt.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_count_file_traverse_limit.yml                      ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/containers/container_executor/python_container.yml                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/add_numbers.yml                                                     ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/assert_eq.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/skip_buildspec.yml                                                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/invalid_metric_name.yml                                     ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/containers/bind_mounts.yml                                          ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/metrics_file_regex_invalid_file.yml                         ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/assert_range.yml                                        ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/job_dependency/ex2.yml                                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/metrics_file_regex_with_linenum.yml                         ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-shell.yml                                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_count.yml                                          ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/runtime_status_test.yml                                 ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_linecount_invalid.yml                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/is_symlink.yml                                          ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_count_pattern.yml                                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_exists_with_number.yml                             ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/containers/run_script.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/job_dependency/ex3.yml                                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/compilation/hello_world_compilation.yml                             ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/assert_eq_exceptions.yml                                ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/multi_executors/executor_regex_script.yml                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/invalid_executor.yml                                                ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/invalid_metrics.yml                                         ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/maintainers_example.yml                                             ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/summary_example.yml                                                 ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/assert_le.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/vars.yml                                                            ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/invalid_tags.yml                                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/compilation/compiler_exclude.yml                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/strict_example.yml                                                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/gcc_version.yml                                                     ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/job_dependency/ex4.yml                                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/containers/run_commands.yml                                         ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/metrics_with_regex_type.yml                                 ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 79                                                                    ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  79
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  79
────────────────────────────── Parsing Buildspecs ──────────────────────────────
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_count_filetype.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/hello_world.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/linecount.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/exists.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/post_run.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/job_dependency/ex1.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/contains.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/status_regex.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/sleep.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/hello_world_singularity.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/explicit_state.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/burstbuffer_datawarp_executors.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_ge.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_ne.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/multi_executors/status_by_executors.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/shell_examples.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_regex.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/multi_executors/executor_scheduler.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_regex_with_invalid_linenum.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_regex_with_linenum.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/csh_shell_examples.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/container_executor/ubuntu.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/shebang.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/compilation/stream.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/skip_tests.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_linecount.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_gt.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/tags_example.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/regex_on_filename.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/specify_regex_type.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/python-hello.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/multi_executors/executors_var_env_declaration.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/mode.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/environment.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_file_regex_with_invalid_linenum.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_linecount_failure.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_and_dir_check.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_lt.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_count_file_traverse_limit.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/container_executor/python_container.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/add_numbers.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_eq.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/skip_buildspec.yml: skipping all test since 'skip' is defined
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/bind_mounts.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_file_regex_invalid_file.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_range.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/job_dependency/ex2.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_file_regex_with_linenum.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/python-shell.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_count.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/runtime_status_test.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/is_symlink.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_count_pattern.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_exists_with_number.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/run_script.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/job_dependency/ex3.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/compilation/hello_world_compilation.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_eq_exceptions.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/multi_executors/executor_regex_script.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/invalid_executor.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/maintainers_example.yml: unable to find maintainer: ['@shahzebsiddiqui'] in buildspec which contains the following maintainers: ['@johndoe', '@bobsmith'] therefore we skip this test
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/summary_example.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_le.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/vars.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/compilation/compiler_exclude.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/strict_example.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/gcc_version.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/job_dependency/ex4.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/run_commands.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_with_regex_type.yml: skipping test because 'maintainers' field is not specified in buildspec.
Valid Buildspecs: 72
Invalid Buildspecs: 7
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_count_filetype.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/hello_world.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/linecount.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/exists.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/post_run.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/job_dependency/ex1.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/contains.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/status_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/hello_world.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/sleep.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/hello_world_singularity.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/explicit_state.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/burstbuffer_datawarp_executors.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_ge.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_ne.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/multi_executors/status_by_executors.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/multi_executors/executor_scheduler.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_regex_with_invalid_linenum.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_regex_with_linenum.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/csh_shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/container_executor/ubuntu.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/shebang.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/compilation/stream.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/skip_tests.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_linecount.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_gt.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/tags_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/regex_on_filename.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/specify_regex_type.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/python-hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/multi_executors/executors_var_env_declaration.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/mode.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/environment.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_file_regex_with_invalid_linenum.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_linecount_failure.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_and_dir_check.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_lt.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_count_file_traverse_limit.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/container_executor/python_container.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/add_numbers.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_eq.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/skip_buildspec.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/bind_mounts.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_file_regex_invalid_file.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_range.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/job_dependency/ex2.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_file_regex_with_linenum.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/python-shell.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_count.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/runtime_status_test.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/is_symlink.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_count_pattern.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_exists_with_number.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/run_script.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/job_dependency/ex3.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/compilation/hello_world_compilation.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_eq_exceptions.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/multi_executors/executor_regex_script.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/invalid_executor.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/maintainers_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/summary_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_le.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/vars.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/compilation/compiler_exclude.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/strict_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/gcc_version.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/job_dependency/ex4.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/run_commands.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_with_regex_type.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/invalid_buildspec_section.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/missing_required_in_metrics.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_exists_exception.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/invalid_metric_name.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_linecount_invalid.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/invalid_metrics.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/invalid_tags.yml: INVALID
                            Buildspecs Filtered out                             
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ buildspecs                                                                   ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
└──────────────────────────────────────────────────────────────────────────────┘
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ hello_wo │ script │ generic. │ None     │ None  │ None  │ hello    │ /home/d │
│ rld/1eaf │        │ local.ba │          │       │       │ world    │ ocs/che │
│ cb27     │        │ sh       │          │       │       │ example  │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /hello_ │
│          │        │          │          │       │       │          │ world.y │
│          │        │          │          │       │       │          │ ml      │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
hello_world/1eafcb27: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/1eafcb27
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
hello_world/1eafcb27 does not have any dependencies adding test to queue
Builders Eligible to Run
┏━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder              ┃
┡━━━━━━━━━━━━━━━━━━━━━━┩
│ hello_world/1eafcb27 │
└──────────────────────┘
hello_world/1eafcb27: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/1eafcb27/stage
hello_world/1eafcb27: Running Test via command: bash hello_world_build.sh
─────────────────── Output Message for hello_world/1eafcb27 ────────────────────
hello world!

hello_world/1eafcb27: Test completed in 0.007008 seconds with returncode: 0
hello_world/1eafcb27: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/1eafcb27/hello_world.out
hello_world/1eafcb27: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/1eafcb27/hello_world.err
hello_world/1eafcb27: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/1eafcb27/stage/hello_world_postrun.sh
hello_world/1eafcb27: Post run script exit code: 1
───────────────── hello_world/1eafcb27: Post Run Script Output ─────────────────

───────────────── hello_world/1eafcb27: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/1eafcb27/stage/hello_world_postrun.sh not found.
                                Test Summary                                 
┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder              ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ hello_world/1eafcb27 │ generic.local.bash │ PASS   │ 0          │ 0.007   │
└──────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 1/1 Percentage: 100.000%
Failed Tests: 0/1 Percentage: 0.000%


Adding 1 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_jvb4aphy.log

Please see Query Maintainers (buildtest buildspec maintainers) on list of maintainers and breakdown of buildspecs by maintainers.

We can also filter tests by type field in the buildspec which corresponds to the schema type. In this next example, we filter all tests by script schema type by passing option --filter type=script.

buildtest build -b tutorials --filter type=script --dry-run
$ buildtest build -b tutorials --filter type=script --dry-run
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:43                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/multi_executors/executor_scheduler.yml                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/assert_eq_exceptions.yml                                ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/containers/container_executor/python_container.yml                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-shell.yml                                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/containers/hello_world.yml                                          ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/containers/bind_mounts.yml                                          ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/add_numbers.yml                                                     ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_and_dir_check.yml                                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/job_dependency/ex2.yml                                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-hello.yml                                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/gcc_version.yml                                                     ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_count.yml                                          ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/multi_executors/executors_var_env_declaration.yml                   ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/metrics_file_regex_with_linenum.yml                         ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_exists_with_number.yml                             ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/contains.yml                                            ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/hello_world.yml                                                     ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/maintainers_example.yml                                             ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/assert_lt.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_linecount.yml                                      ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/metrics_file_regex_invalid_file.yml                         ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/job_dependency/ex4.yml                                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/linecount.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/shebang.yml                                                         ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/job_dependency/ex1.yml                                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/multi_executors/status_by_executors.yml                             ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/tags_example.yml                                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/containers/hello_world_singularity.yml                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/assert_le.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/is_symlink.yml                                          ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/burstbuffer_datawarp_executors.yml                                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/invalid_metric_name.yml                                     ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/environment.yml                                                     ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/skip_tests.yml                                                      ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/job_dependency/ex3.yml                                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/vars.yml                                                            ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/missing_required_in_metrics.yml                             ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/post_run.yml                                                        ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/invalid_executor.yml                                                ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/regex_on_filename.yml                                   ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/multi_executors/executor_regex_script.yml                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/exists.yml                                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/invalid_buildspec_section.yml                                       ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/shell_examples.yml                                                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/assert_ge.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/strict_example.yml                                                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/summary_example.yml                                                 ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/pass_returncode.yml                                     ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/assert_gt.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/explicit_state.yml                                      ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/skip_buildspec.yml                                                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_count_filetype.yml                                 ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/containers/run_script.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_count_pattern.yml                                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_linecount_failure.yml                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/invalid_metrics.yml                                         ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/assert_range.yml                                        ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/metrics_regex.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/metrics_regex_with_invalid_linenum.yml                      ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/compilation/stream.yml                                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/metrics_with_regex_type.yml                                 ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/sleep.yml                                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/invalid_tags.yml                                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/mode.yml                                                ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/containers/run_commands.yml                                         ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/runtime_status_test.yml                                 ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_count_file_traverse_limit.yml                      ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/specify_regex_type.yml                                  ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/compilation/compiler_exclude.yml                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/assert_eq.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/metrics_file_regex_with_invalid_linenum.yml                 ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/csh_shell_examples.yml                                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/metrics/metrics_regex_with_linenum.yml                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/containers/container_executor/ubuntu.yml                            ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_linecount_invalid.yml                              ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/status_regex.yml                                        ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/file_exists_exception.yml                               ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/perf_checks/assert_ne.yml                                           ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/compilation/hello_world_compilation.yml                             ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 79                                                                    ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  79
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  79
────────────────────────────── Parsing Buildspecs ──────────────────────────────
skip: skipping test due to 'skip' property.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/skip_buildspec.yml: skipping all test since 'skip' is defined
[compiler_exclude_example][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/compilation/compiler_exclude.yml]: Unable to find any compilers based on regular expression: ['gcc'] so no tests were created.
Valid Buildspecs: 72
Invalid Buildspecs: 7
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/multi_executors/executor_scheduler.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_eq_exceptions.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/container_executor/python_container.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/python-shell.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/hello_world.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/bind_mounts.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/add_numbers.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_and_dir_check.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/job_dependency/ex2.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/python-hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/gcc_version.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_count.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/multi_executors/executors_var_env_declaration.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_file_regex_with_linenum.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_exists_with_number.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/contains.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/hello_world.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/maintainers_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_lt.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_linecount.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_file_regex_invalid_file.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/job_dependency/ex4.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/linecount.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/shebang.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/job_dependency/ex1.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/multi_executors/status_by_executors.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/tags_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/hello_world_singularity.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_le.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/is_symlink.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/burstbuffer_datawarp_executors.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/environment.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/skip_tests.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/job_dependency/ex3.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/vars.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/post_run.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/invalid_executor.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/regex_on_filename.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/multi_executors/executor_regex_script.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/exists.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_ge.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/strict_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/summary_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_gt.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/explicit_state.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/skip_buildspec.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_count_filetype.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/run_script.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_count_pattern.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_linecount_failure.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_range.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_regex_with_invalid_linenum.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/compilation/stream.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_with_regex_type.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/sleep.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/mode.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/run_commands.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/runtime_status_test.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_count_file_traverse_limit.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/specify_regex_type.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/compilation/compiler_exclude.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_eq.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_file_regex_with_invalid_linenum.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/csh_shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/metrics_regex_with_linenum.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/containers/container_executor/ubuntu.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/status_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/perf_checks/assert_ne.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/compilation/hello_world_compilation.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/invalid_metric_name.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/missing_required_in_metrics.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/invalid_buildspec_section.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/metrics/invalid_metrics.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/invalid_tags.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_linecount_invalid.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/file_exists_exception.yml: INVALID
                            Buildspecs Filtered out                             
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ buildspecs                                                                   ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
└──────────────────────────────────────────────────────────────────────────────┘
Total builder objects created: 117
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descrip ┃ buildspe ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ tion    ┃ cs       ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━┩
│ executor │ script │ generic. │ None     │ None  │ None  │ Declari │ /home/do │
│ s_sbatch │        │ local.ba │          │       │       │ ng env  │ cs/check │
│ _declara │        │ sh       │          │       │       │ and     │ outs/rea │
│ tion/57d │        │          │          │       │       │ vars by │ dthedocs │
│ 74712    │        │          │          │       │       │ executo │ .org/use │
│          │        │          │          │       │       │ rs      │ r_builds │
│          │        │          │          │       │       │ section │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/mul │
│          │        │          │          │       │       │         │ ti_execu │
│          │        │          │          │       │       │         │ tors/exe │
│          │        │          │          │       │       │         │ cutor_sc │
│          │        │          │          │       │       │         │ heduler. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ executor │ script │ generic. │ None     │ None  │ None  │ Declari │ /home/do │
│ s_sbatch │        │ local.sh │          │       │       │ ng env  │ cs/check │
│ _declara │        │          │          │       │       │ and     │ outs/rea │
│ tion/beb │        │          │          │       │       │ vars by │ dthedocs │
│ e9cca    │        │          │          │       │       │ executo │ .org/use │
│          │        │          │          │       │       │ rs      │ r_builds │
│          │        │          │          │       │       │ section │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/mul │
│          │        │          │          │       │       │         │ ti_execu │
│          │        │          │          │       │       │         │ tors/exe │
│          │        │          │          │       │       │         │ cutor_sc │
│          │        │          │          │       │       │         │ heduler. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ assert_e │ script │ generic. │ None     │ None  │ None  │ An      │ /home/do │
│ q_invali │        │ local.ba │          │       │       │ invalid │ cs/check │
│ d_metric │        │ sh       │          │       │       │ metric  │ outs/rea │
│ /70577cc │        │          │          │       │       │ name    │ dthedocs │
│ 0        │        │          │          │       │       │ will    │ .org/use │
│          │        │          │          │       │       │ cause   │ r_builds │
│          │        │          │          │       │       │ failure │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/per │
│          │        │          │          │       │       │         │ f_checks │
│          │        │          │          │       │       │         │ /assert_ │
│          │        │          │          │       │       │         │ eq_excep │
│          │        │          │          │       │       │         │ tions.ym │
│          │        │          │          │       │       │         │ l        │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ assert_e │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ q_mismat │        │ local.ba │          │       │       │ test    │ cs/check │
│ ch/bea3a │        │ sh       │          │       │       │ will    │ outs/rea │
│ eaa      │        │          │          │       │       │ fail    │ dthedocs │
│          │        │          │          │       │       │ because │ .org/use │
│          │        │          │          │       │       │ there   │ r_builds │
│          │        │          │          │       │       │ is a    │ /buildte │
│          │        │          │          │       │       │ mismatc │ st/check │
│          │        │          │          │       │       │ h in    │ outs/dev │
│          │        │          │          │       │       │ metric  │ el/tutor │
│          │        │          │          │       │       │ x       │ ials/per │
│          │        │          │          │       │       │ assert  │ f_checks │
│          │        │          │          │       │       │ equalit │ /assert_ │
│          │        │          │          │       │       │ y       │ eq_excep │
│          │        │          │          │       │       │         │ tions.ym │
│          │        │          │          │       │       │         │ l        │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ circle_a │ script │ generic. │ None     │ None  │ None  │ Calcula │ /home/do │
│ rea/fa8e │        │ local.ba │          │       │       │ te      │ cs/check │
│ 2a41     │        │ sh       │          │       │       │ circle  │ outs/rea │
│          │        │          │          │       │       │ of area │ dthedocs │
│          │        │          │          │       │       │ given a │ .org/use │
│          │        │          │          │       │       │ radius  │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/pyt │
│          │        │          │          │       │       │         │ hon-shel │
│          │        │          │          │       │       │         │ l.yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ hello_wo │ script │ generic. │ None     │ None  │ None  │ run     │ /home/do │
│ rld_dock │        │ local.ba │          │       │       │ hello-w │ cs/check │
│ er/3bfbe │        │ sh       │          │       │       │ orld    │ outs/rea │
│ 144      │        │          │          │       │       │ contain │ dthedocs │
│          │        │          │          │       │       │ er with │ .org/use │
│          │        │          │          │       │       │ docker  │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/con │
│          │        │          │          │       │       │         │ tainers/ │
│          │        │          │          │       │       │         │ hello_wo │
│          │        │          │          │       │       │         │ rld.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ bind_mou │ script │ generic. │ None     │ None  │ None  │ run a   │ /home/do │
│ nt_in_co │        │ local.ba │          │       │       │ python  │ cs/check │
│ ntainer/ │        │ sh       │          │       │       │ script  │ outs/rea │
│ aedbe18a │        │          │          │       │       │ in      │ dthedocs │
│          │        │          │          │       │       │ contain │ .org/use │
│          │        │          │          │       │       │ er      │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/con │
│          │        │          │          │       │       │         │ tainers/ │
│          │        │          │          │       │       │         │ bind_mou │
│          │        │          │          │       │       │         │ nts.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ add_numb │ script │ generic. │ None     │ None  │ None  │ Add X+Y │ /home/do │
│ ers/6c2c │        │ local.ba │          │       │       │         │ cs/check │
│ a509     │        │ sh       │          │       │       │         │ outs/rea │
│          │        │          │          │       │       │         │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/add │
│          │        │          │          │       │       │         │ _numbers │
│          │        │          │          │       │       │         │ .yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ file_and │ script │ generic. │ None     │ None  │ None  │ status  │ /home/do │
│ _dir_che │        │ local.ba │          │       │       │ check   │ cs/check │
│ cks/bc35 │        │ sh       │          │       │       │ for     │ outs/rea │
│ 8464     │        │          │          │       │       │ files   │ dthedocs │
│          │        │          │          │       │       │ and     │ .org/use │
│          │        │          │          │       │       │ directo │ r_builds │
│          │        │          │          │       │       │ ries    │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /file_an │
│          │        │          │          │       │       │         │ d_dir_ch │
│          │        │          │          │       │       │         │ eck.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ combined │ script │ generic. │ None     │ None  │ None  │ status  │ /home/do │
│ _file_an │        │ local.ba │          │       │       │ check   │ cs/check │
│ d_dir_ch │        │ sh       │          │       │       │ for     │ outs/rea │
│ ecks/483 │        │          │          │       │       │ files   │ dthedocs │
│ 3b471    │        │          │          │       │       │ and     │ .org/use │
│          │        │          │          │       │       │ directo │ r_builds │
│          │        │          │          │       │       │ ries    │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /file_an │
│          │        │          │          │       │       │         │ d_dir_ch │
│          │        │          │          │       │       │         │ eck.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ test1/79 │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ 0bc523   │        │ local.ba │          │       │       │ test    │ cs/check │
│          │        │ sh       │          │       │       │ will    │ outs/rea │
│          │        │          │          │       │       │ pass    │ dthedocs │
│          │        │          │          │       │       │ with    │ .org/use │
│          │        │          │          │       │       │ exit 1  │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/job │
│          │        │          │          │       │       │         │ _depende │
│          │        │          │          │       │       │         │ ncy/ex2. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ test2/54 │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ 84c67c   │        │ local.ba │          │       │       │ test    │ cs/check │
│          │        │ sh       │          │       │       │ will    │ outs/rea │
│          │        │          │          │       │       │ run if  │ dthedocs │
│          │        │          │          │       │       │ test1   │ .org/use │
│          │        │          │          │       │       │ has     │ r_builds │
│          │        │          │          │       │       │ returnc │ /buildte │
│          │        │          │          │       │       │ ode 1   │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/job │
│          │        │          │          │       │       │         │ _depende │
│          │        │          │          │       │       │         │ ncy/ex2. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ test3/66 │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ 771b34   │        │ local.ba │          │       │       │ test    │ cs/check │
│          │        │ sh       │          │       │       │ will    │ outs/rea │
│          │        │          │          │       │       │ run if  │ dthedocs │
│          │        │          │          │       │       │ test1   │ .org/use │
│          │        │          │          │       │       │ has     │ r_builds │
│          │        │          │          │       │       │ returnc │ /buildte │
│          │        │          │          │       │       │ ode 1   │ st/check │
│          │        │          │          │       │       │ and     │ outs/dev │
│          │        │          │          │       │       │ test2   │ el/tutor │
│          │        │          │          │       │       │ has     │ ials/job │
│          │        │          │          │       │       │ returnc │ _depende │
│          │        │          │          │       │       │ ode 2   │ ncy/ex2. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ python_h │ script │ generic. │ None     │ None  │ None  │ Hello   │ /home/do │
│ ello/0ac │        │ local.ba │          │       │       │ World   │ cs/check │
│ ee27a    │        │ sh       │          │       │       │ python  │ outs/rea │
│          │        │          │          │       │       │         │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/pyt │
│          │        │          │          │       │       │         │ hon-hell │
│          │        │          │          │       │       │         │ o.yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ gcc_vers │ script │ generic. │ None     │ None  │ None  │ Print   │ /home/do │
│ ion/2862 │        │ local.ba │          │       │       │ gcc     │ cs/check │
│ ec8a     │        │ sh       │          │       │       │ version │ outs/rea │
│          │        │          │          │       │       │         │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/gcc │
│          │        │          │          │       │       │         │ _version │
│          │        │          │          │       │       │         │ .yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ file_cou │ script │ generic. │ None     │ None  │ None  │ file    │ /home/do │
│ nt_on_di │        │ local.ba │          │       │       │ count   │ cs/check │
│ rectory/ │        │ sh       │          │       │       │ check   │ outs/rea │
│ b2ea1832 │        │          │          │       │       │ in      │ dthedocs │
│          │        │          │          │       │       │ directo │ .org/use │
│          │        │          │          │       │       │ ry      │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /file_co │
│          │        │          │          │       │       │         │ unt.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ file_cou │ script │ generic. │ None     │ None  │ None  │ file    │ /home/do │
│ nt_by_ex │        │ local.ba │          │       │       │ count   │ cs/check │
│ tension/ │        │ sh       │          │       │       │ by      │ outs/rea │
│ 39846643 │        │          │          │       │       │ extensi │ dthedocs │
│          │        │          │          │       │       │ on      │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /file_co │
│          │        │          │          │       │       │         │ unt.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ executor │ script │ generic. │ None     │ None  │ None  │ Declari │ /home/do │
│ s_vars_e │        │ local.ba │          │       │       │ ng env  │ cs/check │
│ nv_decla │        │ sh       │          │       │       │ and     │ outs/rea │
│ ration/1 │        │          │          │       │       │ vars by │ dthedocs │
│ 7c628ab  │        │          │          │       │       │ executo │ .org/use │
│          │        │          │          │       │       │ rs      │ r_builds │
│          │        │          │          │       │       │ section │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/mul │
│          │        │          │          │       │       │         │ ti_execu │
│          │        │          │          │       │       │         │ tors/exe │
│          │        │          │          │       │       │         │ cutors_v │
│          │        │          │          │       │       │         │ ar_env_d │
│          │        │          │          │       │       │         │ eclarati │
│          │        │          │          │       │       │         │ on.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ executor │ script │ generic. │ None     │ None  │ None  │ Declari │ /home/do │
│ s_vars_e │        │ local.sh │          │       │       │ ng env  │ cs/check │
│ nv_decla │        │          │          │       │       │ and     │ outs/rea │
│ ration/a │        │          │          │       │       │ vars by │ dthedocs │
│ 09eebcc  │        │          │          │       │       │ executo │ .org/use │
│          │        │          │          │       │       │ rs      │ r_builds │
│          │        │          │          │       │       │ section │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/mul │
│          │        │          │          │       │       │         │ ti_execu │
│          │        │          │          │       │       │         │ tors/exe │
│          │        │          │          │       │       │         │ cutors_v │
│          │        │          │          │       │       │         │ ar_env_d │
│          │        │          │          │       │       │         │ eclarati │
│          │        │          │          │       │       │         │ on.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ metric_f │ script │ generic. │ None     │ None  │ None  │ capture │ /home/do │
│ ile_rege │        │ local.ba │          │       │       │ result  │ cs/check │
│ x_with_l │        │ sh       │          │       │       │ metric  │ outs/rea │
│ inenum_e │        │          │          │       │       │ from    │ dthedocs │
│ xample/5 │        │          │          │       │       │ file    │ .org/use │
│ b955157  │        │          │          │       │       │ path    │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/met │
│          │        │          │          │       │       │         │ rics/met │
│          │        │          │          │       │       │         │ rics_fil │
│          │        │          │          │       │       │         │ e_regex_ │
│          │        │          │          │       │       │         │ with_lin │
│          │        │          │          │       │       │         │ enum.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ file_exi │ script │ generic. │ None     │ None  │ None  │ this    │ /home/do │
│ sts_pass │        │ local.ba │          │       │       │ test    │ cs/check │
│ /ccef0dd │        │ sh       │          │       │       │ will    │ outs/rea │
│ 9        │        │          │          │       │       │ pass    │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /file_ex │
│          │        │          │          │       │       │         │ ists_wit │
│          │        │          │          │       │       │         │ h_number │
│          │        │          │          │       │       │         │ .yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ contains │ script │ generic. │ None     │ None  │ None  │ Status  │ /home/do │
│ _and_not │        │ local.ba │          │       │       │ check   │ cs/check │
│ _contain │        │ sh       │          │       │       │ based   │ outs/rea │
│ s/a6ca40 │        │          │          │       │       │ on      │ dthedocs │
│ c9       │        │          │          │       │       │ contain │ .org/use │
│          │        │          │          │       │       │ s and   │ r_builds │
│          │        │          │          │       │       │ not     │ /buildte │
│          │        │          │          │       │       │ contain │ st/check │
│          │        │          │          │       │       │ s where │ outs/dev │
│          │        │          │          │       │       │ test    │ el/tutor │
│          │        │          │          │       │       │ pass    │ ials/per │
│          │        │          │          │       │       │         │ f_checks │
│          │        │          │          │       │       │         │ /contain │
│          │        │          │          │       │       │         │ s.yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ assert_c │ script │ generic. │ None     │ None  │ None  │ Status  │ /home/do │
│ ontains_ │        │ local.ba │          │       │       │ check   │ cs/check │
│ fail/728 │        │ sh       │          │       │       │ based   │ outs/rea │
│ f9170    │        │          │          │       │       │ on      │ dthedocs │
│          │        │          │          │       │       │ contain │ .org/use │
│          │        │          │          │       │       │ s where │ r_builds │
│          │        │          │          │       │       │ test    │ /buildte │
│          │        │          │          │       │       │ fails   │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/per │
│          │        │          │          │       │       │         │ f_checks │
│          │        │          │          │       │       │         │ /contain │
│          │        │          │          │       │       │         │ s.yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ hello_wo │ script │ generic. │ None     │ None  │ None  │ hello   │ /home/do │
│ rld/480e │        │ local.ba │          │       │       │ world   │ cs/check │
│ 057f     │        │ sh       │          │       │       │ example │ outs/rea │
│          │        │          │          │       │       │         │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/hel │
│          │        │          │          │       │       │         │ lo_world │
│          │        │          │          │       │       │         │ .yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ foo_bar/ │ script │ generic. │ None     │ None  │ None  │ prints  │ /home/do │
│ 880446a6 │        │ local.sh │          │       │       │ variabl │ cs/check │
│          │        │          │          │       │       │ e $FOO  │ outs/rea │
│          │        │          │          │       │       │         │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/mai │
│          │        │          │          │       │       │         │ ntainers │
│          │        │          │          │       │       │         │ _example │
│          │        │          │          │       │       │         │ .yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ assert_l │ script │ generic. │ None     │ None  │ None  │ Run     │ /home/do │
│ t_exampl │        │ local.ba │          │       │       │ stream  │ cs/check │
│ e/5838c6 │        │ sh       │          │       │       │ test    │ outs/rea │
│ 8c       │        │          │          │       │       │ with    │ dthedocs │
│          │        │          │          │       │       │ metrics │ .org/use │
│          │        │          │          │       │       │ example │ r_builds │
│          │        │          │          │       │       │ using   │ /buildte │
│          │        │          │          │       │       │ assert  │ st/check │
│          │        │          │          │       │       │ less    │ outs/dev │
│          │        │          │          │       │       │ than    │ el/tutor │
│          │        │          │          │       │       │         │ ials/per │
│          │        │          │          │       │       │         │ f_checks │
│          │        │          │          │       │       │         │ /assert_ │
│          │        │          │          │       │       │         │ lt.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ file_lin │ script │ generic. │ None     │ None  │ None  │ Perform │ /home/do │
│ ecount/b │        │ local.ba │          │       │       │ linecou │ cs/check │
│ 3bc9303  │        │ sh       │          │       │       │ nt      │ outs/rea │
│          │        │          │          │       │       │ compari │ dthedocs │
│          │        │          │          │       │       │ son on  │ .org/use │
│          │        │          │          │       │       │ files   │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /file_li │
│          │        │          │          │       │       │         │ necount. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ metric_f │ script │ generic. │ None     │ None  │ None  │ capture │ /home/do │
│ ile_rege │        │ local.ba │          │       │       │ result  │ cs/check │
│ x_invali │        │ sh       │          │       │       │ metric  │ outs/rea │
│ d_file/d │        │          │          │       │       │ from    │ dthedocs │
│ 402b028  │        │          │          │       │       │ file    │ .org/use │
│          │        │          │          │       │       │ path    │ r_builds │
│          │        │          │          │       │       │ when we │ /buildte │
│          │        │          │          │       │       │ have    │ st/check │
│          │        │          │          │       │       │ invalid │ outs/dev │
│          │        │          │          │       │       │ file    │ el/tutor │
│          │        │          │          │       │       │ path    │ ials/met │
│          │        │          │          │       │       │         │ rics/met │
│          │        │          │          │       │       │         │ rics_fil │
│          │        │          │          │       │       │         │ e_regex_ │
│          │        │          │          │       │       │         │ invalid_ │
│          │        │          │          │       │       │         │ file.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ runtime_ │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ test/abe │        │ local.ba │          │       │       │ test    │ cs/check │
│ d3dbf    │        │ sh       │          │       │       │ will    │ outs/rea │
│          │        │          │          │       │       │ sleep 5 │ dthedocs │
│          │        │          │          │       │       │ second  │ .org/use │
│          │        │          │          │       │       │ but     │ r_builds │
│          │        │          │          │       │       │ will    │ /buildte │
│          │        │          │          │       │       │ fail    │ st/check │
│          │        │          │          │       │       │ due to  │ outs/dev │
│          │        │          │          │       │       │ runtime │ el/tutor │
│          │        │          │          │       │       │ 2sec    │ ials/job │
│          │        │          │          │       │       │         │ _depende │
│          │        │          │          │       │       │         │ ncy/ex4. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ runtime_ │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ test_pas │        │ local.ba │          │       │       │ test    │ cs/check │
│ s/bbca90 │        │ sh       │          │       │       │ will    │ outs/rea │
│ 4f       │        │          │          │       │       │ run     │ dthedocs │
│          │        │          │          │       │       │ when    │ .org/use │
│          │        │          │          │       │       │ runtime │ r_builds │
│          │        │          │          │       │       │ _test_p │ /buildte │
│          │        │          │          │       │       │ ass is  │ st/check │
│          │        │          │          │       │       │ PASS    │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/job │
│          │        │          │          │       │       │         │ _depende │
│          │        │          │          │       │       │         │ ncy/ex4. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ runtime_ │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ test_fai │        │ local.ba │          │       │       │ test    │ cs/check │
│ l/7156c1 │        │ sh       │          │       │       │ will    │ outs/rea │
│ b2       │        │          │          │       │       │ run     │ dthedocs │
│          │        │          │          │       │       │ when    │ .org/use │
│          │        │          │          │       │       │ runtime │ r_builds │
│          │        │          │          │       │       │ _test_p │ /buildte │
│          │        │          │          │       │       │ ass is  │ st/check │
│          │        │          │          │       │       │ FAIL    │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/job │
│          │        │          │          │       │       │         │ _depende │
│          │        │          │          │       │       │         │ ncy/ex4. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ linecoun │ script │ generic. │ None     │ None  │ None  │ Write   │ /home/do │
│ t_stdout │        │ local.ba │          │       │       │ 10      │ cs/check │
│ /28981e4 │        │ sh       │          │       │       │ lines   │ outs/rea │
│ 0        │        │          │          │       │       │ to      │ dthedocs │
│          │        │          │          │       │       │ stdout  │ .org/use │
│          │        │          │          │       │       │ and run │ r_builds │
│          │        │          │          │       │       │ linecou │ /buildte │
│          │        │          │          │       │       │ nt      │ st/check │
│          │        │          │          │       │       │ check   │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /linecou │
│          │        │          │          │       │       │         │ nt.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ linecoun │ script │ generic. │ None     │ None  │ None  │ Write   │ /home/do │
│ t_stderr │        │ local.ba │          │       │       │ 10      │ cs/check │
│ _mismatc │        │ sh       │          │       │       │ lines   │ outs/rea │
│ h/435764 │        │          │          │       │       │ to      │ dthedocs │
│ f8       │        │          │          │       │       │ stderr  │ .org/use │
│          │        │          │          │       │       │ and run │ r_builds │
│          │        │          │          │       │       │ linecou │ /buildte │
│          │        │          │          │       │       │ nt      │ st/check │
│          │        │          │          │       │       │ check   │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /linecou │
│          │        │          │          │       │       │         │ nt.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ bash_log │ script │ generic. │ None     │ None  │ None  │ customi │ /home/do │
│ in_sheba │        │ local.ba │          │       │       │ ze      │ cs/check │
│ ng/df39e │        │ sh       │          │       │       │ shebang │ outs/rea │
│ e7f      │        │          │          │       │       │ line    │ dthedocs │
│          │        │          │          │       │       │ with    │ .org/use │
│          │        │          │          │       │       │ bash    │ r_builds │
│          │        │          │          │       │       │ login   │ /buildte │
│          │        │          │          │       │       │ shell   │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/she │
│          │        │          │          │       │       │         │ bang.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ bash_non │ script │ generic. │ None     │ None  │ None  │ customi │ /home/do │
│ login_sh │        │ local.ba │          │       │       │ ze      │ cs/check │
│ ebang/8b │        │ sh       │          │       │       │ shebang │ outs/rea │
│ d310b3   │        │          │          │       │       │ line    │ dthedocs │
│          │        │          │          │       │       │ with    │ .org/use │
│          │        │          │          │       │       │ default │ r_builds │
│          │        │          │          │       │       │ bash    │ /buildte │
│          │        │          │          │       │       │ (nonlog │ st/check │
│          │        │          │          │       │       │ in)     │ outs/dev │
│          │        │          │          │       │       │ shell   │ el/tutor │
│          │        │          │          │       │       │         │ ials/she │
│          │        │          │          │       │       │         │ bang.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ jobA/5dc │ script │ generic. │ None     │ None  │ None  │ no job  │ /home/do │
│ ed410    │        │ local.ba │          │       │       │ depende │ cs/check │
│          │        │ sh       │          │       │       │ ncy     │ outs/rea │
│          │        │          │          │       │       │         │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/job │
│          │        │          │          │       │       │         │ _depende │
│          │        │          │          │       │       │         │ ncy/ex1. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ jobB/140 │ script │ generic. │ None     │ None  │ None  │ job     │ /home/do │
│ 7d246    │        │ local.ba │          │       │       │ depende │ cs/check │
│          │        │ sh       │          │       │       │ ncy on  │ outs/rea │
│          │        │          │          │       │       │ jobA    │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/job │
│          │        │          │          │       │       │         │ _depende │
│          │        │          │          │       │       │         │ ncy/ex1. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ jobC/2c3 │ script │ generic. │ None     │ None  │ None  │ job     │ /home/do │
│ 0103a    │        │ local.ba │          │       │       │ depende │ cs/check │
│          │        │ sh       │          │       │       │ ncy on  │ outs/rea │
│          │        │          │          │       │       │ jobA    │ dthedocs │
│          │        │          │          │       │       │ and     │ .org/use │
│          │        │          │          │       │       │ jobB    │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/job │
│          │        │          │          │       │       │         │ _depende │
│          │        │          │          │       │       │         │ ncy/ex1. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ status_r │ script │ generic. │ None     │ None  │ None  │ define  │ /home/do │
│ eturncod │        │ local.ba │          │       │       │ status  │ cs/check │
│ e_by_exe │        │ sh       │          │       │       │ per     │ outs/rea │
│ cutors/3 │        │          │          │       │       │ executo │ dthedocs │
│ 713690c  │        │          │          │       │       │ r type. │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/mul │
│          │        │          │          │       │       │         │ ti_execu │
│          │        │          │          │       │       │         │ tors/sta │
│          │        │          │          │       │       │         │ tus_by_e │
│          │        │          │          │       │       │         │ xecutors │
│          │        │          │          │       │       │         │ .yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ status_r │ script │ generic. │ None     │ None  │ None  │ define  │ /home/do │
│ eturncod │        │ local.sh │          │       │       │ status  │ cs/check │
│ e_by_exe │        │          │          │       │       │ per     │ outs/rea │
│ cutors/a │        │          │          │       │       │ executo │ dthedocs │
│ 14e5666  │        │          │          │       │       │ r type. │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/mul │
│          │        │          │          │       │       │         │ ti_execu │
│          │        │          │          │       │       │         │ tors/sta │
│          │        │          │          │       │       │         │ tus_by_e │
│          │        │          │          │       │       │         │ xecutors │
│          │        │          │          │       │       │         │ .yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ string_t │ script │ generic. │ None     │ None  │ None  │ tags    │ /home/do │
│ ag/d6494 │        │ local.ba │          │       │       │ can be  │ cs/check │
│ c70      │        │ sh       │          │       │       │ a       │ outs/rea │
│          │        │          │          │       │       │ string  │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tag │
│          │        │          │          │       │       │         │ s_exampl │
│          │        │          │          │       │       │         │ e.yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ list_of_ │ script │ generic. │ None     │ None  │ None  │ tags    │ /home/do │
│ strings_ │        │ local.ba │          │       │       │ can be  │ cs/check │
│ tags/351 │        │ sh       │          │       │       │ a list  │ outs/rea │
│ 62682    │        │          │          │       │       │ of      │ dthedocs │
│          │        │          │          │       │       │ strings │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tag │
│          │        │          │          │       │       │         │ s_exampl │
│          │        │          │          │       │       │         │ e.yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ hello_wo │ script │ generic. │ None     │ None  │ None  │ run     │ /home/do │
│ rld_sing │        │ local.ba │          │       │       │ hello-w │ cs/check │
│ ularity/ │        │ sh       │          │       │       │ orld    │ outs/rea │
│ 6e2e4e4b │        │          │          │       │       │ contain │ dthedocs │
│          │        │          │          │       │       │ er      │ .org/use │
│          │        │          │          │       │       │ using   │ r_builds │
│          │        │          │          │       │       │ singula │ /buildte │
│          │        │          │          │       │       │ rity    │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/con │
│          │        │          │          │       │       │         │ tainers/ │
│          │        │          │          │       │       │         │ hello_wo │
│          │        │          │          │       │       │         │ rld_sing │
│          │        │          │          │       │       │         │ ularity. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ assert_l │ script │ generic. │ None     │ None  │ None  │ Run     │ /home/do │
│ e_exampl │        │ local.ba │          │       │       │ stream  │ cs/check │
│ e/f37cd9 │        │ sh       │          │       │       │ test    │ outs/rea │
│ e4       │        │          │          │       │       │ with    │ dthedocs │
│          │        │          │          │       │       │ metrics │ .org/use │
│          │        │          │          │       │       │ example │ r_builds │
│          │        │          │          │       │       │ using   │ /buildte │
│          │        │          │          │       │       │ assert  │ st/check │
│          │        │          │          │       │       │ less    │ outs/dev │
│          │        │          │          │       │       │ than    │ el/tutor │
│          │        │          │          │       │       │ equal   │ ials/per │
│          │        │          │          │       │       │         │ f_checks │
│          │        │          │          │       │       │         │ /assert_ │
│          │        │          │          │       │       │         │ le.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ symlink_ │ script │ generic. │ None     │ None  │ None  │ status  │ /home/do │
│ test/6de │        │ local.ba │          │       │       │ check   │ cs/check │
│ 5314a    │        │ sh       │          │       │       │ based   │ outs/rea │
│          │        │          │          │       │       │ on      │ dthedocs │
│          │        │          │          │       │       │ symboli │ .org/use │
│          │        │          │          │       │       │ c link  │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /is_syml │
│          │        │          │          │       │       │         │ ink.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ create_b │ script │ generic. │ None     │ None  │ None  │ Create  │ /home/do │
│ urst_buf │        │ local.ba │          │       │       │ a burst │ cs/check │
│ fer_exec │        │ sh       │          │       │       │ buffer  │ outs/rea │
│ utors/2c │        │          │          │       │       │ for     │ dthedocs │
│ c4ee3d   │        │          │          │       │       │ multipl │ .org/use │
│          │        │          │          │       │       │ e       │ r_builds │
│          │        │          │          │       │       │ executo │ /buildte │
│          │        │          │          │       │       │ rs      │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/bur │
│          │        │          │          │       │       │         │ stbuffer │
│          │        │          │          │       │       │         │ _datawar │
│          │        │          │          │       │       │         │ p_execut │
│          │        │          │          │       │       │         │ ors.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ create_b │ script │ generic. │ None     │ None  │ None  │ Create  │ /home/do │
│ urst_buf │        │ local.sh │          │       │       │ a burst │ cs/check │
│ fer_exec │        │          │          │       │       │ buffer  │ outs/rea │
│ utors/ed │        │          │          │       │       │ for     │ dthedocs │
│ 1719a3   │        │          │          │       │       │ multipl │ .org/use │
│          │        │          │          │       │       │ e       │ r_builds │
│          │        │          │          │       │       │ executo │ /buildte │
│          │        │          │          │       │       │ rs      │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/bur │
│          │        │          │          │       │       │         │ stbuffer │
│          │        │          │          │       │       │         │ _datawar │
│          │        │          │          │       │       │         │ p_execut │
│          │        │          │          │       │       │         │ ors.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ bash_env │ script │ generic. │ None     │ None  │ None  │ Declare │ /home/do │
│ _variabl │        │ local.ba │          │       │       │ environ │ cs/check │
│ es/cdcf5 │        │ sh       │          │       │       │ ment    │ outs/rea │
│ 83d      │        │          │          │       │       │ variabl │ dthedocs │
│          │        │          │          │       │       │ es in   │ .org/use │
│          │        │          │          │       │       │ default │ r_builds │
│          │        │          │          │       │       │ shell   │ /buildte │
│          │        │          │          │       │       │ (bash)  │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/env │
│          │        │          │          │       │       │         │ ironment │
│          │        │          │          │       │       │         │ .yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ csh_env_ │ script │ generic. │ None     │ None  │ None  │ csh     │ /home/do │
│ declarat │        │ local.cs │          │       │       │ shell   │ cs/check │
│ ion/f18b │        │ h        │          │       │       │ example │ outs/rea │
│ 7f73     │        │          │          │       │       │ to      │ dthedocs │
│          │        │          │          │       │       │ declare │ .org/use │
│          │        │          │          │       │       │ environ │ r_builds │
│          │        │          │          │       │       │ ment    │ /buildte │
│          │        │          │          │       │       │ variabl │ st/check │
│          │        │          │          │       │       │ es      │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/env │
│          │        │          │          │       │       │         │ ironment │
│          │        │          │          │       │       │         │ .yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ tcsh_env │ script │ generic. │ None     │ None  │ None  │ tcsh    │ /home/do │
│ _declara │        │ local.cs │          │       │       │ shell   │ cs/check │
│ tion/87b │        │ h        │          │       │       │ example │ outs/rea │
│ c493c    │        │          │          │       │       │ to      │ dthedocs │
│          │        │          │          │       │       │ declare │ .org/use │
│          │        │          │          │       │       │ environ │ r_builds │
│          │        │          │          │       │       │ ment    │ /buildte │
│          │        │          │          │       │       │ variabl │ st/check │
│          │        │          │          │       │       │ es      │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/env │
│          │        │          │          │       │       │         │ ironment │
│          │        │          │          │       │       │         │ .yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ unskippe │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ d/b0610a │        │ local.ba │          │       │       │ test is │ cs/check │
│ 2d       │        │ sh       │          │       │       │ not     │ outs/rea │
│          │        │          │          │       │       │ skipped │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/ski │
│          │        │          │          │       │       │         │ p_tests. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ pass_tes │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ t/66aeae │        │ local.ba │          │       │       │ test    │ cs/check │
│ 9d       │        │ sh       │          │       │       │ will    │ outs/rea │
│          │        │          │          │       │       │ always  │ dthedocs │
│          │        │          │          │       │       │ pass    │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/job │
│          │        │          │          │       │       │         │ _depende │
│          │        │          │          │       │       │         │ ncy/ex3. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ fail_tes │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ t/471eb7 │        │ local.ba │          │       │       │ test    │ cs/check │
│ b5       │        │ sh       │          │       │       │ will    │ outs/rea │
│          │        │          │          │       │       │ run if  │ dthedocs │
│          │        │          │          │       │       │ test    │ .org/use │
│          │        │          │          │       │       │ 'pass_t │ r_builds │
│          │        │          │          │       │       │ est' is │ /buildte │
│          │        │          │          │       │       │ in      │ st/check │
│          │        │          │          │       │       │ state   │ outs/dev │
│          │        │          │          │       │       │ 'PASS'  │ el/tutor │
│          │        │          │          │       │       │         │ ials/job │
│          │        │          │          │       │       │         │ _depende │
│          │        │          │          │       │       │         │ ncy/ex3. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ pass_and │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ _fail_te │        │ local.ba │          │       │       │ test    │ cs/check │
│ st/348f5 │        │ sh       │          │       │       │ will    │ outs/rea │
│ dc1      │        │          │          │       │       │ run if  │ dthedocs │
│          │        │          │          │       │       │ pass_te │ .org/use │
│          │        │          │          │       │       │ st is   │ r_builds │
│          │        │          │          │       │       │ 'PASS'  │ /buildte │
│          │        │          │          │       │       │ and     │ st/check │
│          │        │          │          │       │       │ fail_te │ outs/dev │
│          │        │          │          │       │       │ st is   │ el/tutor │
│          │        │          │          │       │       │ 'FAIL'  │ ials/job │
│          │        │          │          │       │       │         │ _depende │
│          │        │          │          │       │       │         │ ncy/ex3. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ final_te │ script │ generic. │ None     │ None  │ None  │ Test    │ /home/do │
│ st/d72dd │        │ local.ba │          │       │       │ will    │ cs/check │
│ 249      │        │ sh       │          │       │       │ run     │ outs/rea │
│          │        │          │          │       │       │ after   │ dthedocs │
│          │        │          │          │       │       │ 'pass_t │ .org/use │
│          │        │          │          │       │       │ est',   │ r_builds │
│          │        │          │          │       │       │ 'fail_t │ /buildte │
│          │        │          │          │       │       │ est',   │ st/check │
│          │        │          │          │       │       │ and     │ outs/dev │
│          │        │          │          │       │       │ 'pass_a │ el/tutor │
│          │        │          │          │       │       │ nd_fail │ ials/job │
│          │        │          │          │       │       │ _test'  │ _depende │
│          │        │          │          │       │       │         │ ncy/ex3. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ variable │ script │ generic. │ None     │ None  │ None  │ Declare │ /home/do │
│ s_bash/e │        │ local.ba │          │       │       │ shell   │ cs/check │
│ ee370e6  │        │ sh       │          │       │       │ variabl │ outs/rea │
│          │        │          │          │       │       │ es in   │ dthedocs │
│          │        │          │          │       │       │ bash    │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/var │
│          │        │          │          │       │       │         │ s.yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ post_run │ script │ generic. │ None     │ None  │ None  │ post    │ /home/do │
│ _example │        │ local.ba │          │       │       │ run     │ cs/check │
│ /7138a03 │        │ sh       │          │       │       │ example │ outs/rea │
│ 7        │        │          │          │       │       │ that    │ dthedocs │
│          │        │          │          │       │       │ will    │ .org/use │
│          │        │          │          │       │       │ remove  │ r_builds │
│          │        │          │          │       │       │ symboli │ /buildte │
│          │        │          │          │       │       │ c link  │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/pos │
│          │        │          │          │       │       │         │ t_run.ym │
│          │        │          │          │       │       │         │ l        │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ regex_on │ script │ generic. │ None     │ None  │ None  │ Test    │ /home/do │
│ _multipl │        │ local.ba │          │       │       │ regex   │ cs/check │
│ e_files/ │        │ sh       │          │       │       │ on      │ outs/rea │
│ c3f58c53 │        │          │          │       │       │ multipl │ dthedocs │
│          │        │          │          │       │       │ e files │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /regex_o │
│          │        │          │          │       │       │         │ n_filena │
│          │        │          │          │       │       │         │ me.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ regex_on │ script │ generic. │ None     │ None  │ None  │ Test    │ /home/do │
│ _directo │        │ local.ba │          │       │       │ regex   │ cs/check │
│ ry_not_s │        │ sh       │          │       │       │ on      │ outs/rea │
│ upported │        │          │          │       │       │ directo │ dthedocs │
│ /2ccbf1f │        │          │          │       │       │ ry is   │ .org/use │
│ 8        │        │          │          │       │       │ not     │ r_builds │
│          │        │          │          │       │       │ support │ /buildte │
│          │        │          │          │       │       │ ed      │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /regex_o │
│          │        │          │          │       │       │         │ n_filena │
│          │        │          │          │       │       │         │ me.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ file_exp │ script │ generic. │ None     │ None  │ None  │ Test    │ /home/do │
│ ansion_s │        │ local.ba │          │       │       │ regex   │ cs/check │
│ upported │        │ sh       │          │       │       │ with    │ outs/rea │
│ /281f67a │        │          │          │       │       │ variabl │ dthedocs │
│ b        │        │          │          │       │       │ e and   │ .org/use │
│          │        │          │          │       │       │ shell   │ r_builds │
│          │        │          │          │       │       │ expansi │ /buildte │
│          │        │          │          │       │       │ on      │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /regex_o │
│          │        │          │          │       │       │         │ n_filena │
│          │        │          │          │       │       │         │ me.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ multiple │ script │ generic. │ None     │ None  │ None  │ run     │ /home/do │
│ _executo │        │ local.ba │          │       │       │ test    │ cs/check │
│ rs/91968 │        │ sh       │          │       │       │ with    │ outs/rea │
│ 58b      │        │          │          │       │       │ executo │ dthedocs │
│          │        │          │          │       │       │ r       │ .org/use │
│          │        │          │          │       │       │ generic │ r_builds │
│          │        │          │          │       │       │ .local. │ /buildte │
│          │        │          │          │       │       │ bash    │ st/check │
│          │        │          │          │       │       │ and     │ outs/dev │
│          │        │          │          │       │       │ generic │ el/tutor │
│          │        │          │          │       │       │ .local. │ ials/mul │
│          │        │          │          │       │       │ sh      │ ti_execu │
│          │        │          │          │       │       │ executo │ tors/exe │
│          │        │          │          │       │       │ r       │ cutor_re │
│          │        │          │          │       │       │         │ gex_scri │
│          │        │          │          │       │       │         │ pt.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ multiple │ script │ generic. │ None     │ None  │ None  │ run     │ /home/do │
│ _executo │        │ local.sh │          │       │       │ test    │ cs/check │
│ rs/e4bd3 │        │          │          │       │       │ with    │ outs/rea │
│ 392      │        │          │          │       │       │ executo │ dthedocs │
│          │        │          │          │       │       │ r       │ .org/use │
│          │        │          │          │       │       │ generic │ r_builds │
│          │        │          │          │       │       │ .local. │ /buildte │
│          │        │          │          │       │       │ bash    │ st/check │
│          │        │          │          │       │       │ and     │ outs/dev │
│          │        │          │          │       │       │ generic │ el/tutor │
│          │        │          │          │       │       │ .local. │ ials/mul │
│          │        │          │          │       │       │ sh      │ ti_execu │
│          │        │          │          │       │       │ executo │ tors/exe │
│          │        │          │          │       │       │ r       │ cutor_re │
│          │        │          │          │       │       │         │ gex_scri │
│          │        │          │          │       │       │         │ pt.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ status_e │ script │ generic. │ None     │ None  │ None  │ status  │ /home/do │
│ xists/8a │        │ local.ba │          │       │       │ check   │ cs/check │
│ 2558e1   │        │ sh       │          │       │       │ based   │ outs/rea │
│          │        │          │          │       │       │ for     │ dthedocs │
│          │        │          │          │       │       │ file    │ .org/use │
│          │        │          │          │       │       │ and     │ r_builds │
│          │        │          │          │       │       │ directo │ /buildte │
│          │        │          │          │       │       │ ry      │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /exists. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ status_e │ script │ generic. │ None     │ None  │ None  │ status  │ /home/do │
│ xists_fa │        │ local.ba │          │       │       │ check   │ cs/check │
│ ilure/37 │        │ sh       │          │       │       │ failure │ outs/rea │
│ 41f85b   │        │          │          │       │       │ for     │ dthedocs │
│          │        │          │          │       │       │ existen │ .org/use │
│          │        │          │          │       │       │ ce      │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /exists. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ _bin_sh_ │ script │ generic. │ None     │ None  │ None  │ /bin/sh │ /home/do │
│ shell/ae │        │ local.sh │          │       │       │ shell   │ cs/check │
│ 9cc5a2   │        │          │          │       │       │ example │ outs/rea │
│          │        │          │          │       │       │         │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/she │
│          │        │          │          │       │       │         │ ll_examp │
│          │        │          │          │       │       │         │ les.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ _bin_bas │ script │ generic. │ None     │ None  │ None  │ /bin/ba │ /home/do │
│ h_shell/ │        │ local.ba │          │       │       │ sh      │ cs/check │
│ f9716eca │        │ sh       │          │       │       │ shell   │ outs/rea │
│          │        │          │          │       │       │ example │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/she │
│          │        │          │          │       │       │         │ ll_examp │
│          │        │          │          │       │       │         │ les.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ bash_she │ script │ generic. │ None     │ None  │ None  │ bash    │ /home/do │
│ ll/eff8a │        │ local.ba │          │       │       │ shell   │ cs/check │
│ c17      │        │ sh       │          │       │       │ example │ outs/rea │
│          │        │          │          │       │       │         │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/she │
│          │        │          │          │       │       │         │ ll_examp │
│          │        │          │          │       │       │         │ les.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ sh_shell │ script │ generic. │ None     │ None  │ None  │ sh      │ /home/do │
│ /10cc129 │        │ local.sh │          │       │       │ shell   │ cs/check │
│ c        │        │          │          │       │       │ example │ outs/rea │
│          │        │          │          │       │       │         │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/she │
│          │        │          │          │       │       │         │ ll_examp │
│          │        │          │          │       │       │         │ les.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ shell_op │ script │ generic. │ None     │ None  │ None  │ shell   │ /home/do │
│ tions/26 │        │ local.sh │          │       │       │ options │ cs/check │
│ d769c9   │        │          │          │       │       │         │ outs/rea │
│          │        │          │          │       │       │         │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/she │
│          │        │          │          │       │       │         │ ll_examp │
│          │        │          │          │       │       │         │ les.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ stream_t │ script │ generic. │ None     │ None  │ None  │ Run     │ /home/do │
│ est/2852 │        │ local.ba │          │       │       │ stream  │ cs/check │
│ cc08     │        │ sh       │          │       │       │ test    │ outs/rea │
│          │        │          │          │       │       │ with    │ dthedocs │
│          │        │          │          │       │       │ metrics │ .org/use │
│          │        │          │          │       │       │ example │ r_builds │
│          │        │          │          │       │       │ using   │ /buildte │
│          │        │          │          │       │       │ assert  │ st/check │
│          │        │          │          │       │       │ greater │ outs/dev │
│          │        │          │          │       │       │ equal   │ el/tutor │
│          │        │          │          │       │       │         │ ials/per │
│          │        │          │          │       │       │         │ f_checks │
│          │        │          │          │       │       │         │ /assert_ │
│          │        │          │          │       │       │         │ ge.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ linux_st │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ rict_tes │        │ local.ba │          │       │       │ example │ cs/check │
│ t/dd87b2 │        │ sh       │          │       │       │ test    │ outs/rea │
│ 9c       │        │          │          │       │       │ will    │ dthedocs │
│          │        │          │          │       │       │ show    │ .org/use │
│          │        │          │          │       │       │ how     │ r_builds │
│          │        │          │          │       │       │ returnc │ /buildte │
│          │        │          │          │       │       │ ode     │ st/check │
│          │        │          │          │       │       │ will    │ outs/dev │
│          │        │          │          │       │       │ change  │ el/tutor │
│          │        │          │          │       │       │ when    │ ials/str │
│          │        │          │          │       │       │ using   │ ict_exam │
│          │        │          │          │       │       │ --stric │ ple.yml  │
│          │        │          │          │       │       │ t flag  │          │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ summary_ │ script │ generic. │ None     │ None  │ None  │ The     │ /home/do │
│ example/ │        │ local.ba │          │       │       │ summary │ cs/check │
│ 1c4aafd9 │        │ sh       │          │       │       │ field   │ outs/rea │
│          │        │          │          │       │       │ can be  │ dthedocs │
│          │        │          │          │       │       │ a       │ .org/use │
│          │        │          │          │       │       │ multi-l │ r_builds │
│          │        │          │          │       │       │ ine     │ /buildte │
│          │        │          │          │       │       │ string  │ st/check │
│          │        │          │          │       │       │ and     │ outs/dev │
│          │        │          │          │       │       │ exceed  │ el/tutor │
│          │        │          │          │       │       │ 80 char │ ials/sum │
│          │        │          │          │       │       │         │ mary_exa │
│          │        │          │          │       │       │         │ mple.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ exit1_fa │ script │ generic. │ None     │ None  │ None  │ exit 1  │ /home/do │
│ il/05bd4 │        │ local.ba │          │       │       │ by      │ cs/check │
│ 1ae      │        │ sh       │          │       │       │ default │ outs/rea │
│          │        │          │          │       │       │ is FAIL │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /pass_re │
│          │        │          │          │       │       │         │ turncode │
│          │        │          │          │       │       │         │ .yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ exit1_pa │ script │ generic. │ None     │ None  │ None  │ report  │ /home/do │
│ ss/c1218 │        │ local.ba │          │       │       │ exit 1  │ cs/check │
│ 857      │        │ sh       │          │       │       │ as PASS │ outs/rea │
│          │        │          │          │       │       │         │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /pass_re │
│          │        │          │          │       │       │         │ turncode │
│          │        │          │          │       │       │         │ .yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit 2  │ /home/do │
│ de_list_ │        │ local.ba │          │       │       │ failed  │ cs/check │
│ mismatch │        │ sh       │          │       │       │ since   │ outs/rea │
│ /df78a3d │        │          │          │       │       │ it      │ dthedocs │
│ 8        │        │          │          │       │       │ failed  │ .org/use │
│          │        │          │          │       │       │ to      │ r_builds │
│          │        │          │          │       │       │ match   │ /buildte │
│          │        │          │          │       │       │ returnc │ st/check │
│          │        │          │          │       │       │ ode 1   │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /pass_re │
│          │        │          │          │       │       │         │ turncode │
│          │        │          │          │       │       │         │ .yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit    │ /home/do │
│ de_int_m │        │ local.ba │          │       │       │ 128     │ cs/check │
│ atch/fb7 │        │ sh       │          │       │       │ matches │ outs/rea │
│ d89ec    │        │          │          │       │       │ returnc │ dthedocs │
│          │        │          │          │       │       │ ode 128 │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /pass_re │
│          │        │          │          │       │       │         │ turncode │
│          │        │          │          │       │       │         │ .yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ assert_g │ script │ generic. │ None     │ None  │ None  │ Run     │ /home/do │
│ t_exampl │        │ local.ba │          │       │       │ stream  │ cs/check │
│ e/ba52e9 │        │ sh       │          │       │       │ test    │ outs/rea │
│ 57       │        │          │          │       │       │ with    │ dthedocs │
│          │        │          │          │       │       │ metrics │ .org/use │
│          │        │          │          │       │       │ example │ r_builds │
│          │        │          │          │       │       │ using   │ /buildte │
│          │        │          │          │       │       │ assert  │ st/check │
│          │        │          │          │       │       │ greater │ outs/dev │
│          │        │          │          │       │       │ than.   │ el/tutor │
│          │        │          │          │       │       │         │ ials/per │
│          │        │          │          │       │       │         │ f_checks │
│          │        │          │          │       │       │         │ /assert_ │
│          │        │          │          │       │       │         │ gt.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ always_p │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ ass/0061 │        │ local.sh │          │       │       │ test    │ cs/check │
│ d8be     │        │          │          │       │       │ will    │ outs/rea │
│          │        │          │          │       │       │ always  │ dthedocs │
│          │        │          │          │       │       │ 'PASS'  │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /explici │
│          │        │          │          │       │       │         │ t_state. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ always_f │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ ail/bbb7 │        │ local.sh │          │       │       │ test    │ cs/check │
│ 84b3     │        │          │          │       │       │ will    │ outs/rea │
│          │        │          │          │       │       │ always  │ dthedocs │
│          │        │          │          │       │       │ 'FAIL'  │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /explici │
│          │        │          │          │       │       │         │ t_state. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ test_fai │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ l_return │        │ local.sh │          │       │       │ test    │ cs/check │
│ code_mat │        │          │          │       │       │ will    │ outs/rea │
│ ch/a6866 │        │          │          │       │       │ 'FAIL'  │ dthedocs │
│ ea8      │        │          │          │       │       │ even if │ .org/use │
│          │        │          │          │       │       │ we have │ r_builds │
│          │        │          │          │       │       │ returnc │ /buildte │
│          │        │          │          │       │       │ ode     │ st/check │
│          │        │          │          │       │       │ match   │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /explici │
│          │        │          │          │       │       │         │ t_state. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ test_pas │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ s_return │        │ local.sh │          │       │       │ test    │ cs/check │
│ code_mis │        │          │          │       │       │ will    │ outs/rea │
│ match/06 │        │          │          │       │       │ 'PASS'  │ dthedocs │
│ b3158b   │        │          │          │       │       │ even if │ .org/use │
│          │        │          │          │       │       │ we have │ r_builds │
│          │        │          │          │       │       │ returnc │ /buildte │
│          │        │          │          │       │       │ ode     │ st/check │
│          │        │          │          │       │       │ mismatc │ outs/dev │
│          │        │          │          │       │       │ h       │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /explici │
│          │        │          │          │       │       │         │ t_state. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ file_cou │ script │ generic. │ None     │ None  │ None  │ Count   │ /home/do │
│ nt_by_fi │        │ local.ba │          │       │       │ the     │ cs/check │
│ letype/9 │        │ sh       │          │       │       │ number  │ outs/rea │
│ b37bc76  │        │          │          │       │       │ of      │ dthedocs │
│          │        │          │          │       │       │ directo │ .org/use │
│          │        │          │          │       │       │ ries    │ r_builds │
│          │        │          │          │       │       │ and     │ /buildte │
│          │        │          │          │       │       │ symboli │ st/check │
│          │        │          │          │       │       │ c links │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /file_co │
│          │        │          │          │       │       │         │ unt_file │
│          │        │          │          │       │       │         │ type.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ run_scri │ script │ generic. │ None     │ None  │ None  │ run a   │ /home/do │
│ pt_in_co │        │ local.ba │          │       │       │ python  │ cs/check │
│ ntainer/ │        │ sh       │          │       │       │ script  │ outs/rea │
│ d90154bd │        │          │          │       │       │ in      │ dthedocs │
│          │        │          │          │       │       │ contain │ .org/use │
│          │        │          │          │       │       │ er      │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/con │
│          │        │          │          │       │       │         │ tainers/ │
│          │        │          │          │       │       │         │ run_scri │
│          │        │          │          │       │       │         │ pt.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ file_cou │ script │ generic. │ None     │ None  │ None  │ file    │ /home/do │
│ nt_by_ex │        │ local.ba │          │       │       │ count   │ cs/check │
│ pression │        │ sh       │          │       │       │ by      │ outs/rea │
│ /ce96d0c │        │          │          │       │       │ express │ dthedocs │
│ 6        │        │          │          │       │       │ ion     │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /file_co │
│          │        │          │          │       │       │         │ unt_patt │
│          │        │          │          │       │       │         │ ern.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ file_ext │ script │ generic. │ None     │ None  │ None  │ file    │ /home/do │
│ ension_a │        │ local.ba │          │       │       │ count   │ cs/check │
│ nd_filep │        │ sh       │          │       │       │ by file │ outs/rea │
│ attern/9 │        │          │          │       │       │ extensi │ dthedocs │
│ c3bb85f  │        │          │          │       │       │ on and  │ .org/use │
│          │        │          │          │       │       │ file    │ r_builds │
│          │        │          │          │       │       │ pattern │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /file_co │
│          │        │          │          │       │       │         │ unt_patt │
│          │        │          │          │       │       │         │ ern.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ file_lin │ script │ generic. │ None     │ None  │ None  │ Perform │ /home/do │
│ ecount_e │        │ local.ba │          │       │       │ ing     │ cs/check │
│ xception │        │ sh       │          │       │       │ file    │ outs/rea │
│ s/7b3a1b │        │          │          │       │       │ count   │ dthedocs │
│ 8a       │        │          │          │       │       │ on      │ .org/use │
│          │        │          │          │       │       │ directo │ r_builds │
│          │        │          │          │       │       │ ry or   │ /buildte │
│          │        │          │          │       │       │ invalid │ st/check │
│          │        │          │          │       │       │ files   │ outs/dev │
│          │        │          │          │       │       │ can     │ el/tutor │
│          │        │          │          │       │       │ result  │ ials/tes │
│          │        │          │          │       │       │ in      │ t_status │
│          │        │          │          │       │       │ failure │ /file_li │
│          │        │          │          │       │       │         │ necount_ │
│          │        │          │          │       │       │         │ failure. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ assert_r │ script │ generic. │ None     │ None  │ None  │ Example │ /home/do │
│ ange_ex/ │        │ local.ba │          │       │       │ on      │ cs/check │
│ e268bbad │        │ sh       │          │       │       │ assert_ │ outs/rea │
│          │        │          │          │       │       │ range   │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/per │
│          │        │          │          │       │       │         │ f_checks │
│          │        │          │          │       │       │         │ /assert_ │
│          │        │          │          │       │       │         │ range.ym │
│          │        │          │          │       │       │         │ l        │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ metric_r │ script │ generic. │ None     │ None  │ None  │ capture │ /home/do │
│ egex_exa │        │ local.ba │          │       │       │ result  │ cs/check │
│ mple/63b │        │ sh       │          │       │       │ metric  │ outs/rea │
│ 8affd    │        │          │          │       │       │ from    │ dthedocs │
│          │        │          │          │       │       │ output  │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/met │
│          │        │          │          │       │       │         │ rics/met │
│          │        │          │          │       │       │         │ rics_reg │
│          │        │          │          │       │       │         │ ex.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ metric_f │ script │ generic. │ None     │ None  │ None  │ capture │ /home/do │
│ ile_rege │        │ local.ba │          │       │       │ result  │ cs/check │
│ x/bcc80f │        │ sh       │          │       │       │ metric  │ outs/rea │
│ 30       │        │          │          │       │       │ from    │ dthedocs │
│          │        │          │          │       │       │ file    │ .org/use │
│          │        │          │          │       │       │ path    │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/met │
│          │        │          │          │       │       │         │ rics/met │
│          │        │          │          │       │       │         │ rics_reg │
│          │        │          │          │       │       │         │ ex.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ metric_r │ script │ generic. │ None     │ None  │ None  │ invalid │ /home/do │
│ egex_lin │        │ local.ba │          │       │       │ linenum │ cs/check │
│ enum_fai │        │ sh       │          │       │       │ can     │ outs/rea │
│ lure_exa │        │          │          │       │       │ result  │ dthedocs │
│ mple/063 │        │          │          │       │       │ in      │ .org/use │
│ cc991    │        │          │          │       │       │ failure │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/met │
│          │        │          │          │       │       │         │ rics/met │
│          │        │          │          │       │       │         │ rics_reg │
│          │        │          │          │       │       │         │ ex_with_ │
│          │        │          │          │       │       │         │ invalid_ │
│          │        │          │          │       │       │         │ linenum. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ stream_o │ script │ generic. │ builtin_ │ None  │ None  │ STREAM  │ /home/do │
│ penmp_c/ │        │ local.ba │ gcc      │       │       │ Microbe │ cs/check │
│ 73ed1859 │        │ sh       │          │       │       │ nchmark │ outs/rea │
│          │        │          │          │       │       │  C Test │ dthedocs │
│          │        │          │          │       │       │ with    │ .org/use │
│          │        │          │          │       │       │ OpenMP  │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/com │
│          │        │          │          │       │       │         │ pilation │
│          │        │          │          │       │       │         │ /stream. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ metric_r │ script │ generic. │ None     │ None  │ None  │ capture │ /home/do │
│ egex_exa │        │ local.ba │          │       │       │ metric  │ cs/check │
│ mple_wit │        │ sh       │          │       │       │ with    │ outs/rea │
│ h_re/97c │        │          │          │       │       │ differe │ dthedocs │
│ ab70a    │        │          │          │       │       │ nt      │ .org/use │
│          │        │          │          │       │       │ regex   │ r_builds │
│          │        │          │          │       │       │ types   │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/met │
│          │        │          │          │       │       │         │ rics/met │
│          │        │          │          │       │       │         │ rics_wit │
│          │        │          │          │       │       │         │ h_regex_ │
│          │        │          │          │       │       │         │ type.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ sleep/33 │ script │ generic. │ None     │ None  │ None  │ sleep 2 │ /home/do │
│ 43ec2e   │        │ local.ba │          │       │       │ seconds │ cs/check │
│          │        │ sh       │          │       │       │         │ outs/rea │
│          │        │          │          │       │       │         │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/sle │
│          │        │          │          │       │       │         │ ep.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ status_l │ script │ generic. │ None     │ None  │ None  │ Using   │ /home/do │
│ ogical_a │        │ local.ba │          │       │       │ logical │ cs/check │
│ nd/03405 │        │ sh       │          │       │       │ AND to  │ outs/rea │
│ 693      │        │          │          │       │       │ check   │ dthedocs │
│          │        │          │          │       │       │ status  │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /mode.ym │
│          │        │          │          │       │       │         │ l        │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ status_l │ script │ generic. │ None     │ None  │ None  │ Using   │ /home/do │
│ ogical_o │        │ local.ba │          │       │       │ logical │ cs/check │
│ r/f4f9e4 │        │ sh       │          │       │       │ OR to   │ outs/rea │
│ 95       │        │          │          │       │       │ check   │ dthedocs │
│          │        │          │          │       │       │ status  │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /mode.ym │
│          │        │          │          │       │       │         │ l        │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ containe │ script │ generic. │ None     │ None  │ None  │ run     │ /home/do │
│ r_comman │        │ local.ba │          │       │       │ arbitra │ cs/check │
│ ds_ubunt │        │ sh       │          │       │       │ ry      │ outs/rea │
│ u/62d1e3 │        │          │          │       │       │ linux   │ dthedocs │
│ b5       │        │          │          │       │       │ command │ .org/use │
│          │        │          │          │       │       │ s in    │ r_builds │
│          │        │          │          │       │       │ ubuntu  │ /buildte │
│          │        │          │          │       │       │ contain │ st/check │
│          │        │          │          │       │       │ er      │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/con │
│          │        │          │          │       │       │         │ tainers/ │
│          │        │          │          │       │       │         │ run_comm │
│          │        │          │          │       │       │         │ ands.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ containe │ script │ generic. │ None     │ None  │ None  │ run     │ /home/do │
│ r_option │        │ local.ba │          │       │       │ arbitra │ cs/check │
│ s/6d9203 │        │ sh       │          │       │       │ ry      │ outs/rea │
│ df       │        │          │          │       │       │ linux   │ dthedocs │
│          │        │          │          │       │       │ command │ .org/use │
│          │        │          │          │       │       │ s in    │ r_builds │
│          │        │          │          │       │       │ ubuntu  │ /buildte │
│          │        │          │          │       │       │ contain │ st/check │
│          │        │          │          │       │       │ er      │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/con │
│          │        │          │          │       │       │         │ tainers/ │
│          │        │          │          │       │       │         │ run_comm │
│          │        │          │          │       │       │         │ ands.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ timelimi │ script │ generic. │ None     │ None  │ None  │ Run a   │ /home/do │
│ t_min_ma │        │ local.sh │          │       │       │ sleep   │ cs/check │
│ x/a419f3 │        │          │          │       │       │ job for │ outs/rea │
│ 39       │        │          │          │       │       │ 2       │ dthedocs │
│          │        │          │          │       │       │ seconds │ .org/use │
│          │        │          │          │       │       │ and     │ r_builds │
│          │        │          │          │       │       │ test    │ /buildte │
│          │        │          │          │       │       │ pass if │ st/check │
│          │        │          │          │       │       │ its     │ outs/dev │
│          │        │          │          │       │       │ within  │ el/tutor │
│          │        │          │          │       │       │ 1.0-3.0 │ ials/tes │
│          │        │          │          │       │       │ sec     │ t_status │
│          │        │          │          │       │       │         │ /runtime │
│          │        │          │          │       │       │         │ _status_ │
│          │        │          │          │       │       │         │ test.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ timelimi │ script │ generic. │ None     │ None  │ None  │ Run a   │ /home/do │
│ t_min/3b │        │ local.sh │          │       │       │ sleep   │ cs/check │
│ 6ee44f   │        │          │          │       │       │ job for │ outs/rea │
│          │        │          │          │       │       │ 2       │ dthedocs │
│          │        │          │          │       │       │ seconds │ .org/use │
│          │        │          │          │       │       │ and     │ r_builds │
│          │        │          │          │       │       │ test    │ /buildte │
│          │        │          │          │       │       │ pass if │ st/check │
│          │        │          │          │       │       │ its     │ outs/dev │
│          │        │          │          │       │       │ exceeds │ el/tutor │
│          │        │          │          │       │       │ min     │ ials/tes │
│          │        │          │          │       │       │ time of │ t_status │
│          │        │          │          │       │       │ 1.0 sec │ /runtime │
│          │        │          │          │       │       │         │ _status_ │
│          │        │          │          │       │       │         │ test.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ timelimi │ script │ generic. │ None     │ None  │ None  │ Run a   │ /home/do │
│ t_max/8e │        │ local.sh │          │       │       │ sleep   │ cs/check │
│ aa8f88   │        │          │          │       │       │ job for │ outs/rea │
│          │        │          │          │       │       │ 2       │ dthedocs │
│          │        │          │          │       │       │ seconds │ .org/use │
│          │        │          │          │       │       │ and     │ r_builds │
│          │        │          │          │       │       │ test    │ /buildte │
│          │        │          │          │       │       │ pass if │ st/check │
│          │        │          │          │       │       │ it's    │ outs/dev │
│          │        │          │          │       │       │ within  │ el/tutor │
│          │        │          │          │       │       │ max     │ ials/tes │
│          │        │          │          │       │       │ time:   │ t_status │
│          │        │          │          │       │       │ 5.0 sec │ /runtime │
│          │        │          │          │       │       │         │ _status_ │
│          │        │          │          │       │       │         │ test.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ timelimi │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ t_min_fa │        │ local.sh │          │       │       │ test    │ cs/check │
│ il/b0bf9 │        │          │          │       │       │ fails   │ outs/rea │
│ 4a8      │        │          │          │       │       │ because │ dthedocs │
│          │        │          │          │       │       │ it runs │ .org/use │
│          │        │          │          │       │       │ less    │ r_builds │
│          │        │          │          │       │       │ than    │ /buildte │
│          │        │          │          │       │       │ mintime │ st/check │
│          │        │          │          │       │       │ of 10   │ outs/dev │
│          │        │          │          │       │       │ second  │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /runtime │
│          │        │          │          │       │       │         │ _status_ │
│          │        │          │          │       │       │         │ test.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ timelimi │ script │ generic. │ None     │ None  │ None  │ This    │ /home/do │
│ t_max_fa │        │ local.sh │          │       │       │ test    │ cs/check │
│ il/29dcc │        │          │          │       │       │ fails   │ outs/rea │
│ e01      │        │          │          │       │       │ because │ dthedocs │
│          │        │          │          │       │       │ it      │ .org/use │
│          │        │          │          │       │       │ exceeds │ r_builds │
│          │        │          │          │       │       │ maxtime │ /buildte │
│          │        │          │          │       │       │ of 1.0  │ st/check │
│          │        │          │          │       │       │ second  │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /runtime │
│          │        │          │          │       │       │         │ _status_ │
│          │        │          │          │       │       │         │ test.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ file_tra │ script │ generic. │ None     │ None  │ None  │ Use of  │ /home/do │
│ verse_li │        │ local.ba │          │       │       │ file_tr │ cs/check │
│ mit/a0f6 │        │ sh       │          │       │       │ averse_ │ outs/rea │
│ 9a75     │        │          │          │       │       │ limit   │ dthedocs │
│          │        │          │          │       │       │ to      │ .org/use │
│          │        │          │          │       │       │ limit   │ r_builds │
│          │        │          │          │       │       │ number  │ /buildte │
│          │        │          │          │       │       │ of      │ st/check │
│          │        │          │          │       │       │ files   │ outs/dev │
│          │        │          │          │       │       │ searche │ el/tutor │
│          │        │          │          │       │       │ d in a  │ ials/tes │
│          │        │          │          │       │       │ directo │ t_status │
│          │        │          │          │       │       │ ry      │ /file_co │
│          │        │          │          │       │       │         │ unt_file │
│          │        │          │          │       │       │         │ _travers │
│          │        │          │          │       │       │         │ e_limit. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ re.searc │ script │ generic. │ None     │ None  │ None  │ Test    │ /home/do │
│ h.stdout │        │ local.ba │          │       │       │ re.sear │ cs/check │
│ /4acf4b1 │        │ sh       │          │       │       │ ch on   │ outs/rea │
│ d        │        │          │          │       │       │ stdout  │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /specify │
│          │        │          │          │       │       │         │ _regex_t │
│          │        │          │          │       │       │         │ ype.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ re.match │ script │ generic. │ None     │ None  │ None  │ Test    │ /home/do │
│ .stdout/ │        │ local.ba │          │       │       │ re.matc │ cs/check │
│ 2136332e │        │ sh       │          │       │       │ h on    │ outs/rea │
│          │        │          │          │       │       │ stdout  │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /specify │
│          │        │          │          │       │       │         │ _regex_t │
│          │        │          │          │       │       │         │ ype.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ re.fullm │ script │ generic. │ None     │ None  │ None  │ Test    │ /home/do │
│ atch.std │        │ local.ba │          │       │       │ re.full │ cs/check │
│ out/6a5d │        │ sh       │          │       │       │ match   │ outs/rea │
│ dd7a     │        │          │          │       │       │ on      │ dthedocs │
│          │        │          │          │       │       │ stdout  │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /specify │
│          │        │          │          │       │       │         │ _regex_t │
│          │        │          │          │       │       │         │ ype.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ re.match │ script │ generic. │ None     │ None  │ None  │ Test    │ /home/do │
│ _on_file │        │ local.ba │          │       │       │ re.matc │ cs/check │
│ _regex/a │        │ sh       │          │       │       │ h on    │ outs/rea │
│ a4e8175  │        │          │          │       │       │ file    │ dthedocs │
│          │        │          │          │       │       │ regex   │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /specify │
│          │        │          │          │       │       │         │ _regex_t │
│          │        │          │          │       │       │         │ ype.yml  │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ assert_e │ script │ generic. │ None     │ None  │ None  │ Test    │ /home/do │
│ q_exampl │        │ local.ba │          │       │       │ for     │ cs/check │
│ e/843f09 │        │ sh       │          │       │       │ assert  │ outs/rea │
│ a8       │        │          │          │       │       │ equalit │ dthedocs │
│          │        │          │          │       │       │ y       │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/per │
│          │        │          │          │       │       │         │ f_checks │
│          │        │          │          │       │       │         │ /assert_ │
│          │        │          │          │       │       │         │ eq.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ metric_f │ script │ generic. │ None     │ None  │ None  │ capture │ /home/do │
│ ile_rege │        │ local.ba │          │       │       │ result  │ cs/check │
│ x_with_l │        │ sh       │          │       │       │ metric  │ outs/rea │
│ inenum_f │        │          │          │       │       │ from    │ dthedocs │
│ ailure_e │        │          │          │       │       │ file    │ .org/use │
│ xample/2 │        │          │          │       │       │ path    │ r_builds │
│ 170fc23  │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/met │
│          │        │          │          │       │       │         │ rics/met │
│          │        │          │          │       │       │         │ rics_fil │
│          │        │          │          │       │       │         │ e_regex_ │
│          │        │          │          │       │       │         │ with_inv │
│          │        │          │          │       │       │         │ alid_lin │
│          │        │          │          │       │       │         │ enum.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ csh_shel │ script │ generic. │ None     │ None  │ None  │ csh     │ /home/do │
│ l/9c2359 │        │ local.cs │          │       │       │ shell   │ cs/check │
│ c1       │        │ h        │          │       │       │ example │ outs/rea │
│          │        │          │          │       │       │         │ dthedocs │
│          │        │          │          │       │       │         │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/csh │
│          │        │          │          │       │       │         │ _shell_e │
│          │        │          │          │       │       │         │ xamples. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ metric_r │ script │ generic. │ None     │ None  │ None  │ capture │ /home/do │
│ egex_wit │        │ local.ba │          │       │       │ result  │ cs/check │
│ h_linenu │        │ sh       │          │       │       │ metric  │ outs/rea │
│ m_exampl │        │          │          │       │       │ from    │ dthedocs │
│ e/4dd820 │        │          │          │       │       │ output  │ .org/use │
│ 4f       │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/met │
│          │        │          │          │       │       │         │ rics/met │
│          │        │          │          │       │       │         │ rics_reg │
│          │        │          │          │       │       │         │ ex_with_ │
│          │        │          │          │       │       │         │ linenum. │
│          │        │          │          │       │       │         │ yml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ status_r │ script │ generic. │ None     │ None  │ None  │ Pass    │ /home/do │
│ egex_std │        │ local.ba │          │       │       │ test    │ cs/check │
│ out_pass │        │ sh       │          │       │       │ based   │ outs/rea │
│ /1ca67fe │        │          │          │       │       │ on      │ dthedocs │
│ 4        │        │          │          │       │       │ regular │ .org/use │
│          │        │          │          │       │       │ express │ r_builds │
│          │        │          │          │       │       │ ion     │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /status_ │
│          │        │          │          │       │       │         │ regex.ym │
│          │        │          │          │       │       │         │ l        │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ status_r │ script │ generic. │ None     │ None  │ None  │ Pass    │ /home/do │
│ egex_std │        │ local.ba │          │       │       │ test    │ cs/check │
│ out_fail │        │ sh       │          │       │       │ based   │ outs/rea │
│ /9271fb7 │        │          │          │       │       │ on      │ dthedocs │
│ 0        │        │          │          │       │       │ regular │ .org/use │
│          │        │          │          │       │       │ express │ r_builds │
│          │        │          │          │       │       │ ion     │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /status_ │
│          │        │          │          │       │       │         │ regex.ym │
│          │        │          │          │       │       │         │ l        │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ status_r │ script │ generic. │ None     │ None  │ None  │ Pass    │ /home/do │
│ egex_std │        │ local.ba │          │       │       │ test    │ cs/check │
│ err_pass │        │ sh       │          │       │       │ based   │ outs/rea │
│ /db867d1 │        │          │          │       │       │ on      │ dthedocs │
│ 3        │        │          │          │       │       │ regular │ .org/use │
│          │        │          │          │       │       │ express │ r_builds │
│          │        │          │          │       │       │ ion     │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /status_ │
│          │        │          │          │       │       │         │ regex.ym │
│          │        │          │          │       │       │         │ l        │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ status_r │ script │ generic. │ None     │ None  │ None  │ Pass    │ /home/do │
│ egex_std │        │ local.ba │          │       │       │ test    │ cs/check │
│ err_fail │        │ sh       │          │       │       │ based   │ outs/rea │
│ /bae3690 │        │          │          │       │       │ on      │ dthedocs │
│ d        │        │          │          │       │       │ regular │ .org/use │
│          │        │          │          │       │       │ express │ r_builds │
│          │        │          │          │       │       │ ion     │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/tes │
│          │        │          │          │       │       │         │ t_status │
│          │        │          │          │       │       │         │ /status_ │
│          │        │          │          │       │       │         │ regex.ym │
│          │        │          │          │       │       │         │ l        │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ assert_n │ script │ generic. │ None     │ None  │ None  │ Test    │ /home/do │
│ e_exampl │        │ local.ba │          │       │       │ for     │ cs/check │
│ e/8ff734 │        │ sh       │          │       │       │ assert  │ outs/rea │
│ 7a       │        │          │          │       │       │ not     │ dthedocs │
│          │        │          │          │       │       │ equal   │ .org/use │
│          │        │          │          │       │       │         │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/per │
│          │        │          │          │       │       │         │ f_checks │
│          │        │          │          │       │       │         │ /assert_ │
│          │        │          │          │       │       │         │ ne.yml   │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼─────────┼──────────┤
│ hello_wo │ script │ generic. │ builtin_ │ None  │ None  │ Hello   │ /home/do │
│ rld_c_cp │        │ local.ba │ gcc      │       │       │ world   │ cs/check │
│ p/310d37 │        │ sh       │          │       │       │ compila │ outs/rea │
│ 65       │        │          │          │       │       │ tion in │ dthedocs │
│          │        │          │          │       │       │ C and   │ .org/use │
│          │        │          │          │       │       │ C++     │ r_builds │
│          │        │          │          │       │       │         │ /buildte │
│          │        │          │          │       │       │         │ st/check │
│          │        │          │          │       │       │         │ outs/dev │
│          │        │          │          │       │       │         │ el/tutor │
│          │        │          │          │       │       │         │ ials/com │
│          │        │          │          │       │       │         │ pilation │
│          │        │          │          │       │       │         │ /hello_w │
│          │        │          │          │       │       │         │ orld_com │
│          │        │          │          │       │       │         │ pilation │
│          │        │          │          │       │       │         │ .yml     │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴─────────┴──────────┘
──────────────────────────────── Building Test ─────────────────────────────────
executors_sbatch_declaration/57d74712: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/executor_scheduler/executors_sbatch_declaration/57d74712
executors_sbatch_declaration/bebe9cca: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/executor_scheduler/executors_sbatch_declaration/bebe9cca
assert_eq_invalid_metric/70577cc0: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/assert_eq_exceptions/assert_eq_invalid_metric/70577cc0
assert_eq_mismatch/bea3aeaa: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/assert_eq_exceptions/assert_eq_mismatch/bea3aeaa
circle_area/fa8e2a41: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/fa8e2a41
hello_world_docker/3bfbe144: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world_docker/3bfbe144
'Unable to find docker binary in PATH, this test will be not be executed.'
bind_mount_in_container/aedbe18a: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/bind_mounts/bind_mount_in_container/aedbe18a
'Unable to find docker binary in PATH, this test will be not be executed.'
add_numbers/6c2ca509: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/add_numbers/add_numbers/6c2ca509
file_and_dir_checks/bc358464: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/file_and_dir_check/file_and_dir_checks/bc358464
combined_file_and_dir_checks/4833b471: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/file_and_dir_check/combined_file_and_dir_checks/4833b471
test1/790bc523: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ex2/test1/790bc523
test2/5484c67c: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ex2/test2/5484c67c
test3/66771b34: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ex2/test3/66771b34
python_hello/0acee27a: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/0acee27a
gcc_version/2862ec8a: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/gcc_version/gcc_version/2862ec8a
file_count_on_directory/b2ea1832: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/file_count/file_count_on_directory/b2ea1832
file_count_by_extension/39846643: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/file_count/file_count_by_extension/39846643
executors_vars_env_declaration/17c628ab: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/executors_var_env_declaration/executors_vars_env_declaration/17c628ab
executors_vars_env_declaration/a09eebcc: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/executors_var_env_declaration/executors_vars_env_declaration/a09eebcc
metric_file_regex_with_linenum_example/5b955157: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/metrics_file_regex_with_linenum/metric_file_regex_with_linenum_example/5b955157
file_exists_pass/ccef0dd9: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/file_exists_with_number/file_exists_pass/ccef0dd9
contains_and_not_contains/a6ca40c9: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/contains/contains_and_not_contains/a6ca40c9
assert_contains_fail/728f9170: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/contains/assert_contains_fail/728f9170
hello_world/480e057f: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/480e057f
foo_bar/880446a6: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/maintainers_example/foo_bar/880446a6
assert_lt_example/5838c68c: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/assert_lt/assert_lt_example/5838c68c
file_linecount/b3bc9303: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/file_linecount/file_linecount/b3bc9303
metric_file_regex_invalid_file/d402b028: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/metrics_file_regex_invalid_file/metric_file_regex_invalid_file/d402b028
runtime_test/abed3dbf: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ex4/runtime_test/abed3dbf
runtime_test_pass/bbca904f: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ex4/runtime_test_pass/bbca904f
runtime_test_fail/7156c1b2: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ex4/runtime_test_fail/7156c1b2
linecount_stdout/28981e40: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/linecount/linecount_stdout/28981e40
linecount_stderr_mismatch/435764f8: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/linecount/linecount_stderr_mismatch/435764f8
bash_login_shebang/df39ee7f: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/shebang/bash_login_shebang/df39ee7f
bash_nonlogin_shebang/8bd310b3: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/shebang/bash_nonlogin_shebang/8bd310b3
jobA/5dced410: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ex1/jobA/5dced410
jobB/1407d246: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ex1/jobB/1407d246
jobC/2c30103a: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ex1/jobC/2c30103a
status_returncode_by_executors/3713690c: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/status_by_executors/status_returncode_by_executors/3713690c
status_returncode_by_executors/a14e5666: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/status_by_executors/status_returncode_by_executors/a14e5666
string_tag/d6494c70: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/string_tag/d6494c70
list_of_strings_tags/35162682: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/tags_example/list_of_strings_tags/35162682
hello_world_singularity/6e2e4e4b: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world_singularity/hello_world_singularity/6e2e4e4b
'Unable to find singularity binary in PATH, this test will be not be executed.'
assert_le_example/f37cd9e4: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/assert_le/assert_le_example/f37cd9e4
symlink_test/6de5314a: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/is_symlink/symlink_test/6de5314a
create_burst_buffer_executors/2cc4ee3d: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/burstbuffer_datawarp_executors/create_burst_buffer_executors/2cc4ee3d
create_burst_buffer_executors/ed1719a3: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/burstbuffer_datawarp_executors/create_burst_buffer_executors/ed1719a3
bash_env_variables/cdcf583d: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/environment/bash_env_variables/cdcf583d
csh_env_declaration/f18b7f73: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.csh/environment/csh_env_declaration/f18b7f73
tcsh_env_declaration/87bc493c: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.csh/environment/tcsh_env_declaration/87bc493c
unskipped/b0610a2d: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/skip_tests/unskipped/b0610a2d
pass_test/66aeae9d: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ex3/pass_test/66aeae9d
fail_test/471eb7b5: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ex3/fail_test/471eb7b5
pass_and_fail_test/348f5dc1: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ex3/pass_and_fail_test/348f5dc1
final_test/d72dd249: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/ex3/final_test/d72dd249
variables_bash/eee370e6: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/eee370e6
post_run_example/7138a037: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/post_run/post_run_example/7138a037
post_run_example/7138a037: Writing Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/post_run/post_run_example/7138a037/stage/post_run_example_postrun.sh
regex_on_multiple_files/c3f58c53: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/regex_on_filename/regex_on_multiple_files/c3f58c53
regex_on_directory_not_supported/2ccbf1f8: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/regex_on_filename/regex_on_directory_not_supported/2ccbf1f8
file_expansion_supported/281f67ab: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/regex_on_filename/file_expansion_supported/281f67ab
multiple_executors/9196858b: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/executor_regex_script/multiple_executors/9196858b
multiple_executors/e4bd3392: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/executor_regex_script/multiple_executors/e4bd3392
status_exists/8a2558e1: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/exists/status_exists/8a2558e1
status_exists_failure/3741f85b: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/exists/status_exists_failure/3741f85b
_bin_sh_shell/ae9cc5a2: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/shell_examples/_bin_sh_shell/ae9cc5a2
_bin_bash_shell/f9716eca: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/shell_examples/_bin_bash_shell/f9716eca
bash_shell/eff8ac17: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/shell_examples/bash_shell/eff8ac17
sh_shell/10cc129c: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/shell_examples/sh_shell/10cc129c
shell_options/26d769c9: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/shell_examples/shell_options/26d769c9
stream_test/2852cc08: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/assert_ge/stream_test/2852cc08
linux_strict_test/dd87b29c: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/linux_strict_test/dd87b29c
summary_example/1c4aafd9: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/summary_example/summary_example/1c4aafd9
exit1_fail/05bd41ae: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/05bd41ae
exit1_pass/c1218857: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/c1218857
returncode_list_mismatch/df78a3d8: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/df78a3d8
returncode_int_match/fb7d89ec: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/fb7d89ec
assert_gt_example/ba52e957: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/assert_gt/assert_gt_example/ba52e957
always_pass/0061d8be: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/explicit_state/always_pass/0061d8be
always_fail/bbb784b3: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/explicit_state/always_fail/bbb784b3
test_fail_returncode_match/a6866ea8: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/explicit_state/test_fail_returncode_match/a6866ea8
test_pass_returncode_mismatch/06b3158b: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/explicit_state/test_pass_returncode_mismatch/06b3158b
file_count_by_filetype/9b37bc76: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/file_count_filetype/file_count_by_filetype/9b37bc76
run_script_in_container/d90154bd: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/run_script/run_script_in_container/d90154bd
'Unable to find docker binary in PATH, this test will be not be executed.'
file_count_by_expression/ce96d0c6: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/file_count_pattern/file_count_by_expression/ce96d0c6
file_extension_and_filepattern/9c3bb85f: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/file_count_pattern/file_extension_and_filepattern/9c3bb85f
file_linecount_exceptions/7b3a1b8a: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/file_linecount_failure/file_linecount_exceptions/7b3a1b8a
assert_range_ex/e268bbad: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/assert_range/assert_range_ex/e268bbad
metric_regex_example/63b8affd: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/metrics_regex/metric_regex_example/63b8affd
metric_file_regex/bcc80f30: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/metrics_regex/metric_file_regex/bcc80f30
metric_regex_linenum_failure_example/063cc991: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/metrics_regex_with_invalid_linenum/metric_regex_linenum_failure_example/063cc991
stream_openmp_c/73ed1859: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/stream/stream_openmp_c/73ed1859
metric_regex_example_with_re/97cab70a: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/metrics_with_regex_type/metric_regex_example_with_re/97cab70a
sleep/3343ec2e: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/sleep/sleep/3343ec2e
status_logical_and/03405693: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/mode/status_logical_and/03405693
status_logical_or/f4f9e495: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/mode/status_logical_or/f4f9e495
container_commands_ubuntu/62d1e3b5: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/run_commands/container_commands_ubuntu/62d1e3b5
'Unable to find docker binary in PATH, this test will be not be executed.'
container_options/6d9203df: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/run_commands/container_options/6d9203df
'Unable to find docker binary in PATH, this test will be not be executed.'
timelimit_min_max/a419f339: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/runtime_status_test/timelimit_min_max/a419f339
timelimit_min/3b6ee44f: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/runtime_status_test/timelimit_min/3b6ee44f
timelimit_max/8eaa8f88: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/runtime_status_test/timelimit_max/8eaa8f88
timelimit_min_fail/b0bf94a8: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/runtime_status_test/timelimit_min_fail/b0bf94a8
timelimit_max_fail/29dcce01: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.sh/runtime_status_test/timelimit_max_fail/29dcce01
file_traverse_limit/a0f69a75: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/file_count_file_traverse_limit/file_traverse_limit/a0f69a75
re.search.stdout/4acf4b1d: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/specify_regex_type/re.search.stdout/4acf4b1d
re.match.stdout/2136332e: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/specify_regex_type/re.match.stdout/2136332e
re.fullmatch.stdout/6a5ddd7a: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/specify_regex_type/re.fullmatch.stdout/6a5ddd7a
re.match_on_file_regex/aa4e8175: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/specify_regex_type/re.match_on_file_regex/aa4e8175
assert_eq_example/843f09a8: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/assert_eq/assert_eq_example/843f09a8
metric_file_regex_with_linenum_failure_example/2170fc23: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/metrics_file_regex_with_invalid_linenum/metric_file_regex_with_linenum_failure_example/2170fc23
csh_shell/9c2359c1: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.csh/csh_shell_examples/csh_shell/9c2359c1
metric_regex_with_linenum_example/4dd8204f: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/metrics_regex_with_linenum/metric_regex_with_linenum_example/4dd8204f
status_regex_stdout_pass/1ca67fe4: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/status_regex/status_regex_stdout_pass/1ca67fe4
status_regex_stdout_fail/9271fb70: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/status_regex/status_regex_stdout_fail/9271fb70
status_regex_stderr_pass/db867d13: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/status_regex/status_regex_stderr_pass/db867d13
status_regex_stderr_fail/bae3690d: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/status_regex/status_regex_stderr_fail/bae3690d
assert_ne_example/8ff7347a: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/assert_ne/assert_ne_example/8ff7347a
hello_world_c_cpp/310d3765: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world_compilation/hello_world_c_cpp/310d3765

Filter By Executor Type

In a HPC environment, you may want to run test locally on a login node or perhaps you only want to run batch jobs given a list of buildspecs specified on command line. This can be done in buildtest via option buildtest build –executor-type which takes one of two values local or batch. If you want to filter all tests by local executor you can do buildtest build --executor-type local. buildtest will filter test based on the executor property defined in the buildspec. Let’s assume we want to run all test by python tag on local executor you can do the following:

buildtest build -t python --executor-type local
$ buildtest build -t python --executor-type local
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:45                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-shell.yml                                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-hello.yml                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 2                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
                            Buildspecs By Tag=python                            
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-shell.yml                                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-hello.yml                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 2                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  2
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  2
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/python-shell.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/python-hello.yml: VALID
Total builder objects created: 2
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ circle_a │ script │ generic. │ None     │ None  │ None  │ Calculat │ /home/d │
│ rea/cf25 │        │ local.ba │          │       │       │ e circle │ ocs/che │
│ c11a     │        │ sh       │          │       │       │ of area  │ ckouts/ │
│          │        │          │          │       │       │ given a  │ readthe │
│          │        │          │          │       │       │ radius   │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /python │
│          │        │          │          │       │       │          │ -shell. │
│          │        │          │          │       │       │          │ yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ python_h │ script │ generic. │ None     │ None  │ None  │ Hello    │ /home/d │
│ ello/0f7 │        │ local.ba │          │       │       │ World    │ ocs/che │
│ ee01e    │        │ sh       │          │       │       │ python   │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /python │
│          │        │          │          │       │       │          │ -hello. │
│          │        │          │          │       │       │          │ yml     │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
circle_area/cf25c11a: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/cf25c11a
python_hello/0f7ee01e: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/0f7ee01e
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
circle_area/cf25c11a does not have any dependencies adding test to queue
python_hello/0f7ee01e does not have any dependencies adding test to queue
Builders Eligible to Run 
┏━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder               ┃
┡━━━━━━━━━━━━━━━━━━━━━━━┩
│ circle_area/cf25c11a  │
│ python_hello/0f7ee01e │
└───────────────────────┘
circle_area/cf25c11a: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/cf25c11a/stage
circle_area/cf25c11a: Running Test via command: bash circle_area_build.sh
─────────────────── Output Message for circle_area/cf25c11a ────────────────────
Circle Radius  2
 Area of circle  12.566370614359172

circle_area/cf25c11a: Test completed in 0.035406 seconds with returncode: 0
circle_area/cf25c11a: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/cf25c11a/circle_area.out
circle_area/cf25c11a: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/cf25c11a/circle_area.err
circle_area/cf25c11a: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/cf25c11a/stage/circle_area_postrun.sh
circle_area/cf25c11a: Post run script exit code: 1
───────────────── circle_area/cf25c11a: Post Run Script Output ─────────────────

───────────────── circle_area/cf25c11a: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/cf25c11a/stage/circle_area_postrun.sh not found.
python_hello/0f7ee01e: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/0f7ee01e/stage
python_hello/0f7ee01e: Running Test via command: bash python_hello_build.sh
─────────────────── Output Message for python_hello/0f7ee01e ───────────────────
Hello World

python_hello/0f7ee01e: Test completed in 0.033657 seconds with returncode: 0
python_hello/0f7ee01e: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/0f7ee01e/python_hello.out
python_hello/0f7ee01e: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/0f7ee01e/python_hello.err
python_hello/0f7ee01e: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/0f7ee01e/stage/python_hello_postrun.sh
python_hello/0f7ee01e: Post run script exit code: 1
──────────────── python_hello/0f7ee01e: Post Run Script Output ─────────────────

───────────────── python_hello/0f7ee01e: Post Run Script Error ─────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/0f7ee01e/stage/python_hello_postrun.sh not found.
                                 Test Summary                                 
┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder               ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ python_hello/0f7ee01e │ generic.local.bash │ PASS   │ 0          │ 0.034   │
├───────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ circle_area/cf25c11a  │ generic.local.bash │ PASS   │ 0          │ 0.035   │
└───────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 2/2 Percentage: 100.000%
Failed Tests: 0/2 Percentage: 0.000%


Adding 2 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_ae_6sazf.log

Now let’s say we want to rerun same command but now only run test that are batch, we can specify --executor-type batch and buildtest will filter tests by executor and find all batch executors. In this case we see that all tests were filtered out and we have no test run.

buildtest build -t python --executor-type batch
$ buildtest build -t python --executor-type batch
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:45                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-shell.yml                                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-hello.yml                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 2                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
                            Buildspecs By Tag=python                            
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-shell.yml                                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-hello.yml                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 2                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  2
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  2
────────────────────────────── Parsing Buildspecs ──────────────────────────────
circle_area/ac7d168b is excluded since its not using batch executor
python_hello/c9f9e58a is excluded since its not using batch executor
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/python-shell.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/python-hello.yml: VALID
                            Buildspecs Filtered out                             
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ buildspecs                                                                   ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
└──────────────────────────────────────────────────────────────────────────────┘

buildtest is unable to create any tests because there are no valid buildspecs. 

Please see logfile: /tmp/tmpqzxycqdh/var/buildtest.log

This option can be particularly useful if want to run a lot of tests and you are not sure which ones will run locally or batch. Let’s say you have all your buildspecs in a directory name tests and you want to run all test that will use local executor and you don’t want to run the batch jobs then you can do the following:

buildtest build -b tests --executor-type local

Configure Build Stages

We can control behavior of buildtest build command to stop at certain phase using --validate and --dry-run options.

Buildtest will validate all the buildspecs in the parse stage, so you can instruct buildtest to stop at parse stage via --validate. This can be useful when debugging buildspecs that are invalid. In this example below, we instruct buildtest to stop after parse stage.

buildtest build -b tutorials/vars.yml --validate
$ buildtest build -b tutorials/vars.yml --validate
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:46                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/vars.yml                                                            ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/vars.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ variable │ script │ generic. │ None     │ None  │ None  │ Declare  │ /home/d │
│ s_bash/0 │        │ local.ba │          │       │       │ shell    │ ocs/che │
│ ab73dfe  │        │ sh       │          │       │       │ variable │ ckouts/ │
│          │        │          │          │       │       │ s in     │ readthe │
│          │        │          │          │       │       │ bash     │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /vars.y │
│          │        │          │          │       │       │          │ ml      │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘

Invalid Buildspecs

buildtest will skip any buildspecs that fail to validate, in that case the test script will not be generated. Here is an example where we have an invalid buildspec.

buildtest build -b tutorials/invalid_buildspec_section.yml
$ buildtest build -b tutorials/invalid_buildspec_section.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:46                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/invalid_buildspec_section.yml                                       ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 0
Invalid Buildspecs: 1
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/invalid_buildspec_section.yml: INVALID

buildtest is unable to create any tests because there are no valid buildspecs. 

Please see logfile: /tmp/tmpqzxycqdh/var/buildtest.log

buildtest may skip tests from running if buildspec specifies an invalid executor name since buildtest needs to know this in order to delegate test to Executor class responsible for running the test. Here is an example where test failed to run since we provided invalid executor.

buildtest build -b tutorials/invalid_executor.yml
$ buildtest build -b tutorials/invalid_executor.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:47                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/invalid_executor.yml                                                ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/invalid_executor.yml: VALID
                            Buildspecs Filtered out                             
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ buildspecs                                                                   ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/… │
└──────────────────────────────────────────────────────────────────────────────┘

buildtest is unable to create any tests because there are no valid buildspecs. 

Please see logfile: /tmp/tmpqzxycqdh/var/buildtest.log

Validate Tests (buildtest build --validate)

When you use the buildtest build command, you have the option to enter a validate mode by adding the --validate option. In this mode, the command will validate given buildspecs and stop after the parse stage. It’s particularly useful when you’re creating or editing a buildspec file and want to check its validity before entering the build stage. For instance, in the following example, we demonstrate how to instruct buildtest to halt after the parse stage.

buildtest build -b tutorials/vars.yml --validate
$ buildtest build -b tutorials/vars.yml --validate
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:46                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/vars.yml                                                            ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/vars.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ variable │ script │ generic. │ None     │ None  │ None  │ Declare  │ /home/d │
│ s_bash/0 │        │ local.ba │          │       │       │ shell    │ ocs/che │
│ ab73dfe  │        │ sh       │          │       │       │ variable │ ckouts/ │
│          │        │          │          │       │       │ s in     │ readthe │
│          │        │          │          │       │       │ bash     │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /vars.y │
│          │        │          │          │       │       │          │ ml      │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘

Dry Run (buildtest build --dry-run)

When you use the buildtest build command, you have the option to enter a dry run mode by adding the --dry-run option. In this mode, the command will simulate the build process but won’t execute the tests. It’s particularly useful when you’re creating or editing a buildspec file and want to see how the test script is generated without actually running the tests. For instance, in the following example, we demonstrate how to instruct buildtest to halt after the build stage.

buildtest build -b tutorials/vars.yml --dry-run
$ buildtest build -b tutorials/vars.yml --dry-run
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:47                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/vars.yml                                                            ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/vars.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ variable │ script │ generic. │ None     │ None  │ None  │ Declare  │ /home/d │
│ s_bash/6 │        │ local.ba │          │       │       │ shell    │ ocs/che │
│ ce4be0b  │        │ sh       │          │       │       │ variable │ ckouts/ │
│          │        │          │          │       │       │ s in     │ readthe │
│          │        │          │          │       │       │ bash     │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /vars.y │
│          │        │          │          │       │       │          │ ml      │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
variables_bash/6ce4be0b: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/6ce4be0b

Rebuild Tests (buildtest build --rebuild)

buildtest can rebuild tests using the --rebuild option which can be useful if you want to test a particular test multiple times. The rebuild option works across all discovered buildspecs and create a new test instance (unique id) and test directory path. To demonstrate we will build tutorials/python-shell.yml three times using --rebuild=3.

buildtest build -b tutorials/python-shell.yml --rebuild=3
$ buildtest build -b tutorials/python-shell.yml --rebuild=3
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:48                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-shell.yml                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/python-shell.yml: VALID
Total builder objects created: 3
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ circle_a │ script │ generic. │ None     │ None  │ None  │ Calculat │ /home/d │
│ rea/4373 │        │ local.ba │          │       │       │ e circle │ ocs/che │
│ 7664     │        │ sh       │          │       │       │ of area  │ ckouts/ │
│          │        │          │          │       │       │ given a  │ readthe │
│          │        │          │          │       │       │ radius   │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /python │
│          │        │          │          │       │       │          │ -shell. │
│          │        │          │          │       │       │          │ yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ circle_a │ script │ generic. │ None     │ None  │ None  │ Calculat │ /home/d │
│ rea/07e2 │        │ local.ba │          │       │       │ e circle │ ocs/che │
│ 3fd7     │        │ sh       │          │       │       │ of area  │ ckouts/ │
│          │        │          │          │       │       │ given a  │ readthe │
│          │        │          │          │       │       │ radius   │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /python │
│          │        │          │          │       │       │          │ -shell. │
│          │        │          │          │       │       │          │ yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ circle_a │ script │ generic. │ None     │ None  │ None  │ Calculat │ /home/d │
│ rea/2857 │        │ local.ba │          │       │       │ e circle │ ocs/che │
│ 85b5     │        │ sh       │          │       │       │ of area  │ ckouts/ │
│          │        │          │          │       │       │ given a  │ readthe │
│          │        │          │          │       │       │ radius   │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /python │
│          │        │          │          │       │       │          │ -shell. │
│          │        │          │          │       │       │          │ yml     │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
circle_area/43737664: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/43737664
circle_area/07e23fd7: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/07e23fd7
circle_area/285785b5: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/285785b5
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
circle_area/285785b5 does not have any dependencies adding test to queue
circle_area/07e23fd7 does not have any dependencies adding test to queue
circle_area/43737664 does not have any dependencies adding test to queue
Builders Eligible to Run
┏━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder              ┃
┡━━━━━━━━━━━━━━━━━━━━━━┩
│ circle_area/285785b5 │
│ circle_area/07e23fd7 │
│ circle_area/43737664 │
└──────────────────────┘
circle_area/285785b5: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/285785b5/stage
circle_area/285785b5: Running Test via command: bash circle_area_build.sh
─────────────────── Output Message for circle_area/285785b5 ────────────────────
Circle Radius  2
 Area of circle  12.566370614359172

circle_area/285785b5: Test completed in 0.03562 seconds with returncode: 0
circle_area/285785b5: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/285785b5/circle_area.out
circle_area/285785b5: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/285785b5/circle_area.err
circle_area/285785b5: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/285785b5/stage/circle_area_postrun.sh
circle_area/285785b5: Post run script exit code: 1
───────────────── circle_area/285785b5: Post Run Script Output ─────────────────

───────────────── circle_area/285785b5: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/285785b5/stage/circle_area_postrun.sh not found.
circle_area/07e23fd7: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/07e23fd7/stage
circle_area/07e23fd7: Running Test via command: bash circle_area_build.sh
─────────────────── Output Message for circle_area/07e23fd7 ────────────────────
Circle Radius  2
 Area of circle  12.566370614359172

circle_area/07e23fd7: Test completed in 0.034076 seconds with returncode: 0
circle_area/07e23fd7: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/07e23fd7/circle_area.out
circle_area/07e23fd7: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/07e23fd7/circle_area.err
circle_area/07e23fd7: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/07e23fd7/stage/circle_area_postrun.sh
circle_area/07e23fd7: Post run script exit code: 1
───────────────── circle_area/07e23fd7: Post Run Script Output ─────────────────

───────────────── circle_area/07e23fd7: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/07e23fd7/stage/circle_area_postrun.sh not found.
circle_area/43737664: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/43737664/stage
circle_area/43737664: Running Test via command: bash circle_area_build.sh
─────────────────── Output Message for circle_area/43737664 ────────────────────
Circle Radius  2
 Area of circle  12.566370614359172

circle_area/43737664: Test completed in 0.034174 seconds with returncode: 0
circle_area/43737664: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/43737664/circle_area.out
circle_area/43737664: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/43737664/circle_area.err
circle_area/43737664: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/43737664/stage/circle_area_postrun.sh
circle_area/43737664: Post run script exit code: 1
───────────────── circle_area/43737664: Post Run Script Output ─────────────────

───────────────── circle_area/43737664: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/43737664/stage/circle_area_postrun.sh not found.
                                Test Summary                                 
┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder              ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ circle_area/285785b5 │ generic.local.bash │ PASS   │ 0          │ 0.036   │
├──────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ circle_area/43737664 │ generic.local.bash │ PASS   │ 0          │ 0.034   │
├──────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ circle_area/07e23fd7 │ generic.local.bash │ PASS   │ 0          │ 0.034   │
└──────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 3/3 Percentage: 100.000%
Failed Tests: 0/3 Percentage: 0.000%


Adding 3 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_yt650j4g.log

The rebuild works with all options including: --buildspec, --exclude, --tags and --executor. buildtest will perform rebuild for all discovered tests, for instance in this next example we will discover all tests by tag name fail and each test is rebuild twice.

buildtest build -t fail --rebuild 2
$ buildtest build -t fail --rebuild 2
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:49                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/pass_returncode.yml                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
                             Buildspecs By Tag=fail                             
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/pass_returncode.yml                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml: VALID
Total builder objects created: 8
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_fa │ script │ generic. │ None     │ None  │ None  │ exit 1   │ /home/d │
│ il/97824 │        │ local.ba │          │       │       │ by       │ ocs/che │
│ 8a0      │        │ sh       │          │       │       │ default  │ ckouts/ │
│          │        │          │          │       │       │ is FAIL  │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_pa │ script │ generic. │ None     │ None  │ None  │ report   │ /home/d │
│ ss/01dc2 │        │ local.ba │          │       │       │ exit 1   │ ocs/che │
│ 2c5      │        │ sh       │          │       │       │ as PASS  │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit 2   │ /home/d │
│ de_list_ │        │ local.ba │          │       │       │ failed   │ ocs/che │
│ mismatch │        │ sh       │          │       │       │ since it │ ckouts/ │
│ /e974f43 │        │          │          │       │       │ failed   │ readthe │
│ 1        │        │          │          │       │       │ to match │ docs.or │
│          │        │          │          │       │       │ returnco │ g/user_ │
│          │        │          │          │       │       │ de 1     │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit 128 │ /home/d │
│ de_int_m │        │ local.ba │          │       │       │ matches  │ ocs/che │
│ atch/79c │        │ sh       │          │       │       │ returnco │ ckouts/ │
│ 20e2f    │        │          │          │       │       │ de 128   │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_fa │ script │ generic. │ None     │ None  │ None  │ exit 1   │ /home/d │
│ il/a916f │        │ local.ba │          │       │       │ by       │ ocs/che │
│ 91d      │        │ sh       │          │       │       │ default  │ ckouts/ │
│          │        │          │          │       │       │ is FAIL  │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_pa │ script │ generic. │ None     │ None  │ None  │ report   │ /home/d │
│ ss/89e06 │        │ local.ba │          │       │       │ exit 1   │ ocs/che │
│ 222      │        │ sh       │          │       │       │ as PASS  │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit 2   │ /home/d │
│ de_list_ │        │ local.ba │          │       │       │ failed   │ ocs/che │
│ mismatch │        │ sh       │          │       │       │ since it │ ckouts/ │
│ /11c8475 │        │          │          │       │       │ failed   │ readthe │
│ 2        │        │          │          │       │       │ to match │ docs.or │
│          │        │          │          │       │       │ returnco │ g/user_ │
│          │        │          │          │       │       │ de 1     │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit 128 │ /home/d │
│ de_int_m │        │ local.ba │          │       │       │ matches  │ ocs/che │
│ atch/4a6 │        │ sh       │          │       │       │ returnco │ ckouts/ │
│ 93f0d    │        │          │          │       │       │ de 128   │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
exit1_fail/978248a0: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/978248a0
exit1_pass/01dc22c5: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/01dc22c5
returncode_list_mismatch/e974f431: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/e974f431
returncode_int_match/79c20e2f: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/79c20e2f
exit1_fail/a916f91d: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/a916f91d
exit1_pass/89e06222: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/89e06222
returncode_list_mismatch/11c84752: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/11c84752
returncode_int_match/4a693f0d: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/4a693f0d
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
exit1_fail/a916f91d does not have any dependencies adding test to queue
returncode_int_match/4a693f0d does not have any dependencies adding test to queue
exit1_fail/978248a0 does not have any dependencies adding test to queue
returncode_list_mismatch/e974f431 does not have any dependencies adding test to queue
returncode_int_match/79c20e2f does not have any dependencies adding test to queue
exit1_pass/89e06222 does not have any dependencies adding test to queue
exit1_pass/01dc22c5 does not have any dependencies adding test to queue
returncode_list_mismatch/11c84752 does not have any dependencies adding test to queue
      Builders Eligible to Run       
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ exit1_fail/a916f91d               │
│ returncode_int_match/4a693f0d     │
│ exit1_fail/978248a0               │
│ returncode_list_mismatch/e974f431 │
│ returncode_int_match/79c20e2f     │
│ exit1_pass/89e06222               │
│ exit1_pass/01dc22c5               │
│ returncode_list_mismatch/11c84752 │
└───────────────────────────────────┘
exit1_fail/a916f91d: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/a916f91d/stage
exit1_fail/a916f91d: Running Test via command: bash exit1_fail_build.sh
──────────────────── Output Message for exit1_fail/a916f91d ────────────────────

exit1_fail/a916f91d: failed to submit job with returncode: 1
──────────────────── Error Message for exit1_fail/a916f91d ─────────────────────

exit1_fail/a916f91d: Detected failure in running test, will attempt to retry test: 1 times
exit1_fail/a916f91d: Run - 1/1
exit1_fail/a916f91d: Running Test via command: bash exit1_fail_build.sh
exit1_fail/a916f91d: failed to submit job with returncode: 1
exit1_fail/a916f91d: Test completed in 0.014753 seconds with returncode: 1
exit1_fail/a916f91d: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/a916f91d/exit1_fail.out
exit1_fail/a916f91d: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/a916f91d/exit1_fail.err
exit1_fail/a916f91d: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/a916f91d/stage/exit1_fail_postrun.sh
exit1_fail/a916f91d: Post run script exit code: 1
───────────────── exit1_fail/a916f91d: Post Run Script Output ──────────────────

────────────────── exit1_fail/a916f91d: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/a916f91d/stage/exit1_fail_postrun.sh not found.
returncode_int_match/4a693f0d: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/4a693f0d/stage
returncode_int_match/4a693f0d: Running Test via command: bash returncode_int_match_build.sh
─────────────── Output Message for returncode_int_match/4a693f0d ───────────────

returncode_int_match/4a693f0d: failed to submit job with returncode: 128
─────────────── Error Message for returncode_int_match/4a693f0d ────────────────

returncode_int_match/4a693f0d: Detected failure in running test, will attempt to retry test: 1 times
returncode_int_match/4a693f0d: Run - 1/1
returncode_int_match/4a693f0d: Running Test via command: bash returncode_int_match_build.sh
returncode_int_match/4a693f0d: failed to submit job with returncode: 128
returncode_int_match/4a693f0d: Test completed in 0.014666 seconds with returncode: 128
returncode_int_match/4a693f0d: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/4a693f0d/returncode_int_match.out
returncode_int_match/4a693f0d: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/4a693f0d/returncode_int_match.err
returncode_int_match/4a693f0d: Checking returncode - 128 is matched in list [128]
returncode_int_match/4a693f0d: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/4a693f0d/stage/returncode_int_match_postrun.sh
returncode_int_match/4a693f0d: Post run script exit code: 1
──────────── returncode_int_match/4a693f0d: Post Run Script Output ─────────────

───────────── returncode_int_match/4a693f0d: Post Run Script Error ─────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/4a693f0d/stage/returncode_int_match_postrun.sh not found.
exit1_fail/978248a0: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/978248a0/stage
exit1_fail/978248a0: Running Test via command: bash exit1_fail_build.sh
──────────────────── Output Message for exit1_fail/978248a0 ────────────────────

exit1_fail/978248a0: failed to submit job with returncode: 1
──────────────────── Error Message for exit1_fail/978248a0 ─────────────────────

exit1_fail/978248a0: Detected failure in running test, will attempt to retry test: 1 times
exit1_fail/978248a0: Run - 1/1
exit1_fail/978248a0: Running Test via command: bash exit1_fail_build.sh
exit1_fail/978248a0: failed to submit job with returncode: 1
exit1_fail/978248a0: Test completed in 0.016264 seconds with returncode: 1
exit1_fail/978248a0: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/978248a0/exit1_fail.out
exit1_fail/978248a0: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/978248a0/exit1_fail.err
exit1_fail/978248a0: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/978248a0/stage/exit1_fail_postrun.sh
exit1_fail/978248a0: Post run script exit code: 1
───────────────── exit1_fail/978248a0: Post Run Script Output ──────────────────

────────────────── exit1_fail/978248a0: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/978248a0/stage/exit1_fail_postrun.sh not found.
returncode_list_mismatch/e974f431: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/e974f431/stage
returncode_list_mismatch/e974f431: Running Test via command: bash returncode_list_mismatch_build.sh
───────────── Output Message for returncode_list_mismatch/e974f431 ─────────────

returncode_list_mismatch/e974f431: failed to submit job with returncode: 2
───────────── Error Message for returncode_list_mismatch/e974f431 ──────────────

returncode_list_mismatch/e974f431: Detected failure in running test, will attempt to retry test: 1 times
returncode_list_mismatch/e974f431: Run - 1/1
returncode_list_mismatch/e974f431: Running Test via command: bash returncode_list_mismatch_build.sh
returncode_list_mismatch/e974f431: failed to submit job with returncode: 2
returncode_list_mismatch/e974f431: Test completed in 0.014356 seconds with returncode: 2
returncode_list_mismatch/e974f431: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/e974f431/returncode_list_mismatch.out
returncode_list_mismatch/e974f431: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/e974f431/returncode_list_mismatch.err
returncode_list_mismatch/e974f431: Checking returncode - 2 is matched in list [1, 3]
returncode_list_mismatch/e974f431: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/e974f431/stage/returncode_list_mismatch_postrun.sh
returncode_list_mismatch/e974f431: Post run script exit code: 1
────────── returncode_list_mismatch/e974f431: Post Run Script Output ───────────

─────────── returncode_list_mismatch/e974f431: Post Run Script Error ───────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/e974f431/stage/returncode_list_mismatch_postrun.sh not found.
returncode_int_match/79c20e2f: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/79c20e2f/stage
returncode_int_match/79c20e2f: Running Test via command: bash returncode_int_match_build.sh
─────────────── Output Message for returncode_int_match/79c20e2f ───────────────

returncode_int_match/79c20e2f: failed to submit job with returncode: 128
─────────────── Error Message for returncode_int_match/79c20e2f ────────────────

returncode_int_match/79c20e2f: Detected failure in running test, will attempt to retry test: 1 times
returncode_int_match/79c20e2f: Run - 1/1
returncode_int_match/79c20e2f: Running Test via command: bash returncode_int_match_build.sh
returncode_int_match/79c20e2f: failed to submit job with returncode: 128
returncode_int_match/79c20e2f: Test completed in 0.014405 seconds with returncode: 128
returncode_int_match/79c20e2f: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/79c20e2f/returncode_int_match.out
returncode_int_match/79c20e2f: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/79c20e2f/returncode_int_match.err
returncode_int_match/79c20e2f: Checking returncode - 128 is matched in list [128]
returncode_int_match/79c20e2f: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/79c20e2f/stage/returncode_int_match_postrun.sh
returncode_int_match/79c20e2f: Post run script exit code: 1
──────────── returncode_int_match/79c20e2f: Post Run Script Output ─────────────

───────────── returncode_int_match/79c20e2f: Post Run Script Error ─────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/79c20e2f/stage/returncode_int_match_postrun.sh not found.
exit1_pass/89e06222: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/89e06222/stage
exit1_pass/89e06222: Running Test via command: bash exit1_pass_build.sh
──────────────────── Output Message for exit1_pass/89e06222 ────────────────────

exit1_pass/89e06222: failed to submit job with returncode: 1
──────────────────── Error Message for exit1_pass/89e06222 ─────────────────────

exit1_pass/89e06222: Detected failure in running test, will attempt to retry test: 1 times
exit1_pass/89e06222: Run - 1/1
exit1_pass/89e06222: Running Test via command: bash exit1_pass_build.sh
exit1_pass/89e06222: failed to submit job with returncode: 1
exit1_pass/89e06222: Test completed in 0.014703 seconds with returncode: 1
exit1_pass/89e06222: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/89e06222/exit1_pass.out
exit1_pass/89e06222: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/89e06222/exit1_pass.err
exit1_pass/89e06222: Checking returncode - 1 is matched in list [1]
exit1_pass/89e06222: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/89e06222/stage/exit1_pass_postrun.sh
exit1_pass/89e06222: Post run script exit code: 1
───────────────── exit1_pass/89e06222: Post Run Script Output ──────────────────

────────────────── exit1_pass/89e06222: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/89e06222/stage/exit1_pass_postrun.sh not found.
exit1_pass/01dc22c5: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/01dc22c5/stage
exit1_pass/01dc22c5: Running Test via command: bash exit1_pass_build.sh
──────────────────── Output Message for exit1_pass/01dc22c5 ────────────────────

exit1_pass/01dc22c5: failed to submit job with returncode: 1
──────────────────── Error Message for exit1_pass/01dc22c5 ─────────────────────

exit1_pass/01dc22c5: Detected failure in running test, will attempt to retry test: 1 times
exit1_pass/01dc22c5: Run - 1/1
exit1_pass/01dc22c5: Running Test via command: bash exit1_pass_build.sh
exit1_pass/01dc22c5: failed to submit job with returncode: 1
exit1_pass/01dc22c5: Test completed in 0.014458 seconds with returncode: 1
exit1_pass/01dc22c5: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/01dc22c5/exit1_pass.out
exit1_pass/01dc22c5: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/01dc22c5/exit1_pass.err
exit1_pass/01dc22c5: Checking returncode - 1 is matched in list [1]
exit1_pass/01dc22c5: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/01dc22c5/stage/exit1_pass_postrun.sh
exit1_pass/01dc22c5: Post run script exit code: 1
───────────────── exit1_pass/01dc22c5: Post Run Script Output ──────────────────

────────────────── exit1_pass/01dc22c5: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/01dc22c5/stage/exit1_pass_postrun.sh not found.
returncode_list_mismatch/11c84752: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/11c84752/stage
returncode_list_mismatch/11c84752: Running Test via command: bash returncode_list_mismatch_build.sh
───────────── Output Message for returncode_list_mismatch/11c84752 ─────────────

returncode_list_mismatch/11c84752: failed to submit job with returncode: 2
───────────── Error Message for returncode_list_mismatch/11c84752 ──────────────

returncode_list_mismatch/11c84752: Detected failure in running test, will attempt to retry test: 1 times
returncode_list_mismatch/11c84752: Run - 1/1
returncode_list_mismatch/11c84752: Running Test via command: bash returncode_list_mismatch_build.sh
returncode_list_mismatch/11c84752: failed to submit job with returncode: 2
returncode_list_mismatch/11c84752: Test completed in 0.014962 seconds with returncode: 2
returncode_list_mismatch/11c84752: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/11c84752/returncode_list_mismatch.out
returncode_list_mismatch/11c84752: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/11c84752/returncode_list_mismatch.err
returncode_list_mismatch/11c84752: Checking returncode - 2 is matched in list [1, 3]
returncode_list_mismatch/11c84752: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/11c84752/stage/returncode_list_mismatch_postrun.sh
returncode_list_mismatch/11c84752: Post run script exit code: 1
────────── returncode_list_mismatch/11c84752: Post Run Script Output ───────────

─────────── returncode_list_mismatch/11c84752: Post Run Script Error ───────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/11c84752/stage/returncode_list_mismatch_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_fail/978248a0     │ generic.local.bash │ FAIL   │ 1          │ 0.016   │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ exit1_pass/01dc22c5     │ generic.local.bash │ PASS   │ 1          │ 0.014   │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ exit1_fail/a916f91d     │ generic.local.bash │ FAIL   │ 1          │ 0.015   │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ returncode_int_match/79 │ generic.local.bash │ PASS   │ 128        │ 0.014   │
│ c20e2f                  │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ exit1_pass/89e06222     │ generic.local.bash │ PASS   │ 1          │ 0.015   │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ returncode_int_match/4a │ generic.local.bash │ PASS   │ 128        │ 0.015   │
│ 693f0d                  │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ returncode_list_mismatc │ generic.local.bash │ FAIL   │ 2          │ 0.014   │
│ h/e974f431              │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ returncode_list_mismatc │ generic.local.bash │ FAIL   │ 2          │ 0.015   │
│ h/11c84752              │                    │        │            │         │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 4/8 Percentage: 50.000%
Failed Tests: 4/8 Percentage: 50.000%


Adding 8 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_6i0gtwn8.log

The rebuild option expects a range between 1-50, the --rebuild=1 is equivalent to running without --rebuild option. We set a max limit for rebuild option to avoid system degredation due to high workload.

If you try to exceed this bound you will get an error such as

buildtest build -b tutorials/test_status/pass_returncode.yml --rebuild 51
$ buildtest build -b tutorials/test_status/pass_returncode.yml --rebuild 51
╭───────────────────── Traceback (most recent call last) ──────────────────────╮
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/b │
│ in/buildtest:38 in <module>                                                  │
│                                                                              │
│   35                                                                         │
│   36 if __name__ == "__main__":                                              │
│   37                                                                         │
│ ❱ 38   sys.exit(main())                                                      │
│   39                                                                         │
│                                                                              │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │ buildtest_file = '/home/docs/checkouts/readthedocs.org/user_builds/buil… │ │
│ │           main = <function main at 0x7faa7cc03280>                       │ │
│ │             os = <module 'os' from                                       │ │
│ │                  '/home/docs/.asdf/installs/python/3.9.18/lib/python3.9… │ │
│ │         prefix = '/home/docs/checkouts/readthedocs.org/user_builds/buil… │ │
│ │            sys = <module 'sys' (built-in)>                               │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│                                                                              │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/b │
│ uildtest/main.py:96 in main                                                  │
│                                                                              │
│    93 │                                                                      │
│    94 │   # buildtest build command                                          │
│    95 │   if args.subcommands in ["build", "bd"]:                            │
│ ❱  96 │   │   handle_build_command(args, configuration, report_file)         │
│    97 │                                                                      │
│    98 │   # buildtest build history                                          │
│    99 │   if args.subcommands in ["history", "hy"]:                          │
│                                                                              │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │             args = Namespace(subcommands='build', configfile=None,       │ │
│ │                    debug=False, loglevel='DEBUG', editor=None,           │ │
│ │                    view_log=False, logpath=False, print_log=False,       │ │
│ │                    color=None, no_color=False, helpcolor=False,          │ │
│ │                    report=None, listopts=False, verbose=False,           │ │
│ │                    buildspec=['tutorials/test_status/pass_returncode.ym… │ │
│ │                    exclude=None, name=None, executor=None,               │ │
│ │                    exclude_tags=None, tags=None, rerun=False,            │ │
│ │                    filter=None, helpfilter=False, executor_type=None,    │ │
│ │                    module_purge=False, modules=None,                     │ │
│ │                    unload_modules=None, account=None, maxpendtime=None,  │ │
│ │                    pollinterval=None, procs=None, nodes=None,            │ │
│ │                    dry_run=False, limit=None, max_jobs=None,             │ │
│ │                    profile=None, remove_stagedir=False, rebuild=51,      │ │
│ │                    retry=1, save_profile=None, strict=False,             │ │
│ │                    testdir=None, timeout=None, validate=False,           │ │
│ │                    write_config_file=None)                               │ │
│ │ buildtest_editor = '/usr/bin/vim'                                        │ │
│ │    configuration = <buildtest.config.SiteConfiguration object at         │ │
│ │                    0x7faa7adc3760>                                       │ │
│ │           parser = <buildtest.cli.BuildTestParser object at              │ │
│ │                    0x7faa7ccf87c0>                                       │ │
│ │      report_file = None                                                  │ │
│ │           system = <buildtest.system.BuildTestSystem object at           │ │
│ │                    0x7faa7adc34f0>                                       │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│                                                                              │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/b │
│ uildtest/main.py:296 in handle_build_command                                 │
│                                                                              │
│   293 │   if args.subcommands in ["build", "bd"]:                            │
│   294 │   │   stdout_file = tempfile.NamedTemporaryFile(delete=True, suffix= │
│   295 │   │   with Tee(stdout_file.name):                                    │
│ ❱ 296 │   │   │   cmd = BuildTest(                                           │
│   297 │   │   │   │   configuration=configuration,                           │
│   298 │   │   │   │   buildspecs=args.buildspec,                             │
│   299 │   │   │   │   exclude_buildspecs=args.exclude,                       │
│                                                                              │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │          args = Namespace(subcommands='build', configfile=None,          │ │
│ │                 debug=False, loglevel='DEBUG', editor=None,              │ │
│ │                 view_log=False, logpath=False, print_log=False,          │ │
│ │                 color=None, no_color=False, helpcolor=False,             │ │
│ │                 report=None, listopts=False, verbose=False,              │ │
│ │                 buildspec=['tutorials/test_status/pass_returncode.yml'], │ │
│ │                 exclude=None, name=None, executor=None,                  │ │
│ │                 exclude_tags=None, tags=None, rerun=False, filter=None,  │ │
│ │                 helpfilter=False, executor_type=None,                    │ │
│ │                 module_purge=False, modules=None, unload_modules=None,   │ │
│ │                 account=None, maxpendtime=None, pollinterval=None,       │ │
│ │                 procs=None, nodes=None, dry_run=False, limit=None,       │ │
│ │                 max_jobs=None, profile=None, remove_stagedir=False,      │ │
│ │                 rebuild=51, retry=1, save_profile=None, strict=False,    │ │
│ │                 testdir=None, timeout=None, validate=False,              │ │
│ │                 write_config_file=None)                                  │ │
│ │ configuration = <buildtest.config.SiteConfiguration object at            │ │
│ │                 0x7faa7adc3760>                                          │ │
│ │   report_file = None                                                     │ │
│ │   stdout_file = <tempfile._TemporaryFileWrapper object at                │ │
│ │                 0x7faa7ade8940>                                          │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│                                                                              │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/b │
│ uildtest/cli/build.py:707 in __init__                                        │
│                                                                              │
│    704 │   │   │   │   raise BuildTestError(f"{rebuild} is not of type int") │
│    705 │   │   │                                                             │
│    706 │   │   │   if rebuild > 50:                                          │
│ ❱  707 │   │   │   │   raise BuildTestError(                                 │
│    708 │   │   │   │   │   f"--rebuild {rebuild} exceeds maximum rebuild lim │
│    709 │   │   │   │   )                                                     │
│    710                                                                       │
│                                                                              │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │            account = None                                                │ │
│ │           arg_name = None                                                │ │
│ │         buildspecs = ['tutorials/test_status/pass_returncode.yml']       │ │
│ │      configuration = <buildtest.config.SiteConfiguration object at       │ │
│ │                      0x7faa7adc3760>                                     │ │
│ │            dry_run = False                                               │ │
│ │ exclude_buildspecs = None                                                │ │
│ │       exclude_tags = None                                                │ │
│ │      executor_type = None                                                │ │
│ │          executors = None                                                │ │
│ │  filter_buildspecs = None                                                │ │
│ │         helpfilter = False                                               │ │
│ │              limit = None                                                │ │
│ │           max_jobs = None                                                │ │
│ │        maxpendtime = None                                                │ │
│ │        modulepurge = False                                               │ │
│ │            modules = None                                                │ │
│ │               name = None                                                │ │
│ │           numnodes = None                                                │ │
│ │           numprocs = None                                                │ │
│ │      poll_interval = None                                                │ │
│ │            profile = None                                                │ │
│ │            rebuild = 51                                                  │ │
│ │    remove_stagedir = False                                               │ │
│ │        report_file = None                                                │ │
│ │              rerun = False                                               │ │
│ │              retry = 1                                                   │ │
│ │       save_profile = None                                                │ │
│ │               self = <buildtest.cli.build.BuildTest object at            │ │
│ │                      0x7faa7adf8790>                                     │ │
│ │             strict = False                                               │ │
│ │               tags = None                                                │ │
│ │            testdir = None                                                │ │
│ │            timeout = None                                                │ │
│ │     unload_modules = None                                                │ │
│ │           validate = False                                               │ │
│ │            verbose = False                                               │ │
│ │  write_config_file = None                                                │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────╯
BuildTestError: '--rebuild 51 exceeds maximum rebuild limit of 50'

Limit Number of Tests (buildtest build --limit)

The buildtest build command can limit the number of tests that can run via --limit option. This can be useful when running large number of tests and you have no idea how many tests will run. The --limit <NUM> option expects a positive number which will limit number of tests to the total limit. If there are less tests to run than the value specified by --limit, then buildtest will run all the test. When buildtest has more tests to run than the value specified by --limit, then buildtest will exclude some tests.

To demonstrate this feature, we will run the same command with and without –limit option.

In first example, we will run a test that will run 4 tests.

buildtest build -b tutorials/test_status/pass_returncode.yml
$ buildtest build -b tutorials/test_status/pass_returncode.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:50                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/pass_returncode.yml                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml: VALID
Total builder objects created: 4
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_fa │ script │ generic. │ None     │ None  │ None  │ exit 1   │ /home/d │
│ il/d67ea │        │ local.ba │          │       │       │ by       │ ocs/che │
│ e6e      │        │ sh       │          │       │       │ default  │ ckouts/ │
│          │        │          │          │       │       │ is FAIL  │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_pa │ script │ generic. │ None     │ None  │ None  │ report   │ /home/d │
│ ss/0d373 │        │ local.ba │          │       │       │ exit 1   │ ocs/che │
│ f39      │        │ sh       │          │       │       │ as PASS  │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit 2   │ /home/d │
│ de_list_ │        │ local.ba │          │       │       │ failed   │ ocs/che │
│ mismatch │        │ sh       │          │       │       │ since it │ ckouts/ │
│ /e12c89d │        │          │          │       │       │ failed   │ readthe │
│ 2        │        │          │          │       │       │ to match │ docs.or │
│          │        │          │          │       │       │ returnco │ g/user_ │
│          │        │          │          │       │       │ de 1     │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit 128 │ /home/d │
│ de_int_m │        │ local.ba │          │       │       │ matches  │ ocs/che │
│ atch/e89 │        │ sh       │          │       │       │ returnco │ ckouts/ │
│ 266d2    │        │          │          │       │       │ de 128   │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
exit1_fail/d67eae6e: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/d67eae6e
exit1_pass/0d373f39: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/0d373f39
returncode_list_mismatch/e12c89d2: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/e12c89d2
returncode_int_match/e89266d2: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/e89266d2
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
returncode_list_mismatch/e12c89d2 does not have any dependencies adding test to queue
exit1_pass/0d373f39 does not have any dependencies adding test to queue
returncode_int_match/e89266d2 does not have any dependencies adding test to queue
exit1_fail/d67eae6e does not have any dependencies adding test to queue
      Builders Eligible to Run       
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ returncode_list_mismatch/e12c89d2 │
│ exit1_pass/0d373f39               │
│ returncode_int_match/e89266d2     │
│ exit1_fail/d67eae6e               │
└───────────────────────────────────┘
returncode_list_mismatch/e12c89d2: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/e12c89d2/stage
returncode_list_mismatch/e12c89d2: Running Test via command: bash returncode_list_mismatch_build.sh
───────────── Output Message for returncode_list_mismatch/e12c89d2 ─────────────

returncode_list_mismatch/e12c89d2: failed to submit job with returncode: 2
───────────── Error Message for returncode_list_mismatch/e12c89d2 ──────────────

returncode_list_mismatch/e12c89d2: Detected failure in running test, will attempt to retry test: 1 times
returncode_list_mismatch/e12c89d2: Run - 1/1
returncode_list_mismatch/e12c89d2: Running Test via command: bash returncode_list_mismatch_build.sh
returncode_list_mismatch/e12c89d2: failed to submit job with returncode: 2
returncode_list_mismatch/e12c89d2: Test completed in 0.015023 seconds with returncode: 2
returncode_list_mismatch/e12c89d2: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/e12c89d2/returncode_list_mismatch.out
returncode_list_mismatch/e12c89d2: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/e12c89d2/returncode_list_mismatch.err
returncode_list_mismatch/e12c89d2: Checking returncode - 2 is matched in list [1, 3]
returncode_list_mismatch/e12c89d2: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/e12c89d2/stage/returncode_list_mismatch_postrun.sh
returncode_list_mismatch/e12c89d2: Post run script exit code: 1
────────── returncode_list_mismatch/e12c89d2: Post Run Script Output ───────────

─────────── returncode_list_mismatch/e12c89d2: Post Run Script Error ───────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/e12c89d2/stage/returncode_list_mismatch_postrun.sh not found.
exit1_pass/0d373f39: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/0d373f39/stage
exit1_pass/0d373f39: Running Test via command: bash exit1_pass_build.sh
──────────────────── Output Message for exit1_pass/0d373f39 ────────────────────

exit1_pass/0d373f39: failed to submit job with returncode: 1
──────────────────── Error Message for exit1_pass/0d373f39 ─────────────────────

exit1_pass/0d373f39: Detected failure in running test, will attempt to retry test: 1 times
exit1_pass/0d373f39: Run - 1/1
exit1_pass/0d373f39: Running Test via command: bash exit1_pass_build.sh
exit1_pass/0d373f39: failed to submit job with returncode: 1
exit1_pass/0d373f39: Test completed in 0.014221 seconds with returncode: 1
exit1_pass/0d373f39: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/0d373f39/exit1_pass.out
exit1_pass/0d373f39: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/0d373f39/exit1_pass.err
exit1_pass/0d373f39: Checking returncode - 1 is matched in list [1]
exit1_pass/0d373f39: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/0d373f39/stage/exit1_pass_postrun.sh
exit1_pass/0d373f39: Post run script exit code: 1
───────────────── exit1_pass/0d373f39: Post Run Script Output ──────────────────

────────────────── exit1_pass/0d373f39: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/0d373f39/stage/exit1_pass_postrun.sh not found.
returncode_int_match/e89266d2: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/e89266d2/stage
returncode_int_match/e89266d2: Running Test via command: bash returncode_int_match_build.sh
─────────────── Output Message for returncode_int_match/e89266d2 ───────────────

returncode_int_match/e89266d2: failed to submit job with returncode: 128
─────────────── Error Message for returncode_int_match/e89266d2 ────────────────

returncode_int_match/e89266d2: Detected failure in running test, will attempt to retry test: 1 times
returncode_int_match/e89266d2: Run - 1/1
returncode_int_match/e89266d2: Running Test via command: bash returncode_int_match_build.sh
returncode_int_match/e89266d2: failed to submit job with returncode: 128
returncode_int_match/e89266d2: Test completed in 0.01523 seconds with returncode: 128
returncode_int_match/e89266d2: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/e89266d2/returncode_int_match.out
returncode_int_match/e89266d2: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/e89266d2/returncode_int_match.err
returncode_int_match/e89266d2: Checking returncode - 128 is matched in list [128]
returncode_int_match/e89266d2: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/e89266d2/stage/returncode_int_match_postrun.sh
returncode_int_match/e89266d2: Post run script exit code: 1
──────────── returncode_int_match/e89266d2: Post Run Script Output ─────────────

───────────── returncode_int_match/e89266d2: Post Run Script Error ─────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/returncode_int_match/e89266d2/stage/returncode_int_match_postrun.sh not found.
exit1_fail/d67eae6e: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/d67eae6e/stage
exit1_fail/d67eae6e: Running Test via command: bash exit1_fail_build.sh
──────────────────── Output Message for exit1_fail/d67eae6e ────────────────────

exit1_fail/d67eae6e: failed to submit job with returncode: 1
──────────────────── Error Message for exit1_fail/d67eae6e ─────────────────────

exit1_fail/d67eae6e: Detected failure in running test, will attempt to retry test: 1 times
exit1_fail/d67eae6e: Run - 1/1
exit1_fail/d67eae6e: Running Test via command: bash exit1_fail_build.sh
exit1_fail/d67eae6e: failed to submit job with returncode: 1
exit1_fail/d67eae6e: Test completed in 0.01444 seconds with returncode: 1
exit1_fail/d67eae6e: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/d67eae6e/exit1_fail.out
exit1_fail/d67eae6e: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/d67eae6e/exit1_fail.err
exit1_fail/d67eae6e: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/d67eae6e/stage/exit1_fail_postrun.sh
exit1_fail/d67eae6e: Post run script exit code: 1
───────────────── exit1_fail/d67eae6e: Post Run Script Output ──────────────────

────────────────── exit1_fail/d67eae6e: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/d67eae6e/stage/exit1_fail_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ returncode_int_match/e8 │ generic.local.bash │ PASS   │ 128        │ 0.015   │
│ 9266d2                  │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ exit1_pass/0d373f39     │ generic.local.bash │ PASS   │ 1          │ 0.014   │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ returncode_list_mismatc │ generic.local.bash │ FAIL   │ 2          │ 0.015   │
│ h/e12c89d2              │                    │        │            │         │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ exit1_fail/d67eae6e     │ generic.local.bash │ FAIL   │ 1          │ 0.014   │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 2/4 Percentage: 50.000%
Failed Tests: 2/4 Percentage: 50.000%


Adding 4 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_qq_y_kgt.log

Now let’s run this same test with --limit=2 and notice buildtest will run 2/4 tests

buildtest build -b tutorials/test_status/pass_returncode.yml --limit=2
$ buildtest build -b tutorials/test_status/pass_returncode.yml --limit=2
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:51                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/test_status/pass_returncode.yml                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/test_status/pass_returncode.yml: VALID
Total builder objects created: 4
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_fa │ script │ generic. │ None     │ None  │ None  │ exit 1   │ /home/d │
│ il/3182c │        │ local.ba │          │       │       │ by       │ ocs/che │
│ 00c      │        │ sh       │          │       │       │ default  │ ckouts/ │
│          │        │          │          │       │       │ is FAIL  │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_pa │ script │ generic. │ None     │ None  │ None  │ report   │ /home/d │
│ ss/7429a │        │ local.ba │          │       │       │ exit 1   │ ocs/che │
│ 76a      │        │ sh       │          │       │       │ as PASS  │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit 2   │ /home/d │
│ de_list_ │        │ local.ba │          │       │       │ failed   │ ocs/che │
│ mismatch │        │ sh       │          │       │       │ since it │ ckouts/ │
│ /8406f9a │        │          │          │       │       │ failed   │ readthe │
│ e        │        │          │          │       │       │ to match │ docs.or │
│          │        │          │          │       │       │ returnco │ g/user_ │
│          │        │          │          │       │       │ de 1     │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnco │ script │ generic. │ None     │ None  │ None  │ exit 128 │ /home/d │
│ de_int_m │        │ local.ba │          │       │       │ matches  │ ocs/che │
│ atch/422 │        │ sh       │          │       │       │ returnco │ ckouts/ │
│ 9962d    │        │          │          │       │       │ de 128   │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /test_s │
│          │        │          │          │       │       │          │ tatus/p │
│          │        │          │          │       │       │          │ ass_ret │
│          │        │          │          │       │       │          │ urncode │
│          │        │          │          │       │       │          │ .yml    │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
Limit number of tests to 2 for Building and Running. 
──────────────────────────────── Building Test ─────────────────────────────────
exit1_fail/3182c00c: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/3182c00c
exit1_pass/7429a76a: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/7429a76a
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
exit1_pass/7429a76a does not have any dependencies adding test to queue
exit1_fail/3182c00c does not have any dependencies adding test to queue
Builders Eligible to Run
┏━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder             ┃
┡━━━━━━━━━━━━━━━━━━━━━┩
│ exit1_pass/7429a76a │
│ exit1_fail/3182c00c │
└─────────────────────┘
exit1_pass/7429a76a: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/7429a76a/stage
exit1_pass/7429a76a: Running Test via command: bash exit1_pass_build.sh
──────────────────── Output Message for exit1_pass/7429a76a ────────────────────

exit1_pass/7429a76a: failed to submit job with returncode: 1
──────────────────── Error Message for exit1_pass/7429a76a ─────────────────────

exit1_pass/7429a76a: Detected failure in running test, will attempt to retry test: 1 times
exit1_pass/7429a76a: Run - 1/1
exit1_pass/7429a76a: Running Test via command: bash exit1_pass_build.sh
exit1_pass/7429a76a: failed to submit job with returncode: 1
exit1_pass/7429a76a: Test completed in 0.015051 seconds with returncode: 1
exit1_pass/7429a76a: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/7429a76a/exit1_pass.out
exit1_pass/7429a76a: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/7429a76a/exit1_pass.err
exit1_pass/7429a76a: Checking returncode - 1 is matched in list [1]
exit1_pass/7429a76a: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/7429a76a/stage/exit1_pass_postrun.sh
exit1_pass/7429a76a: Post run script exit code: 1
───────────────── exit1_pass/7429a76a: Post Run Script Output ──────────────────

────────────────── exit1_pass/7429a76a: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_pass/7429a76a/stage/exit1_pass_postrun.sh not found.
exit1_fail/3182c00c: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/3182c00c/stage
exit1_fail/3182c00c: Running Test via command: bash exit1_fail_build.sh
──────────────────── Output Message for exit1_fail/3182c00c ────────────────────

exit1_fail/3182c00c: failed to submit job with returncode: 1
──────────────────── Error Message for exit1_fail/3182c00c ─────────────────────

exit1_fail/3182c00c: Detected failure in running test, will attempt to retry test: 1 times
exit1_fail/3182c00c: Run - 1/1
exit1_fail/3182c00c: Running Test via command: bash exit1_fail_build.sh
exit1_fail/3182c00c: failed to submit job with returncode: 1
exit1_fail/3182c00c: Test completed in 0.014551 seconds with returncode: 1
exit1_fail/3182c00c: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/3182c00c/exit1_fail.out
exit1_fail/3182c00c: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/3182c00c/exit1_fail.err
exit1_fail/3182c00c: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/3182c00c/stage/exit1_fail_postrun.sh
exit1_fail/3182c00c: Post run script exit code: 1
───────────────── exit1_fail/3182c00c: Post Run Script Output ──────────────────

────────────────── exit1_fail/3182c00c: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/pass_returncode/exit1_fail/3182c00c/stage/exit1_fail_postrun.sh not found.
                                Test Summary                                
┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder             ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_fail/3182c00c │ generic.local.bash │ FAIL   │ 1          │ 0.015   │
├─────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ exit1_pass/7429a76a │ generic.local.bash │ PASS   │ 1          │ 0.015   │
└─────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 1/2 Percentage: 50.000%
Failed Tests: 1/2 Percentage: 50.000%


Adding 2 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_5x311frr.log

If you specify 0 or negative number you will get an error as follows

buildtest build -b tutorials/test_status/pass_returncode.yml --limit=0
$ buildtest build -b tutorials/test_status/pass_returncode.yml --limit=0
usage: buildtest [options] [COMMANDS] build [-h] [-b BUILDSPEC] [-x EXCLUDE]
                                            [-n NAME] [-e EXECUTOR]
                                            [-xt EXCLUDE_TAGS] [-t TAGS]
                                            [--rerun] [-f FILTER]
                                            [--helpfilter] [-et {local,batch}]
                                            [--module-purge] [-m MODULES]
                                            [-u UNLOAD_MODULES]
                                            [--account ACCOUNT]
                                            [--maxpendtime MAXPENDTIME]
                                            [--pollinterval POLLINTERVAL]
                                            [--procs PROCS [PROCS ...]]
                                            [--nodes NODES [NODES ...]]
                                            [--dry-run] [--limit LIMIT]
                                            [--max-jobs MAX_JOBS]
                                            [--profile PROFILE]
                                            [--remove-stagedir]
                                            [--rebuild REBUILD]
                                            [--retry RETRY]
                                            [--save-profile SAVE_PROFILE]
                                            [--strict] [--testdir TESTDIR]
                                            [--timeout TIMEOUT] [--validate]
                                            [--write-config-file WRITE_CONFIG_FILE]
buildtest [options] [COMMANDS] build: error: argument --limit: Input: 0 converted to int: 0 must be a positive number

Rerun Last Command (buildtest build --rerun)

The buildtest build --rerun command can be used to rerun last successful buildtest build command, this can be useful if you want to repeat a certain build without having to remember the command or going through your command history to find the command you ran. When using this option all other options passed to buildtest will be ignored. In order to use –rerun option you must run buildtest build command such that buildtest can rerun your last successful command.

Let’s start by building a simple test.

buildtest build -b tutorials/vars.yml
$ buildtest build -b tutorials/vars.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:52                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/vars.yml                                                            ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/vars.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ variable │ script │ generic. │ None     │ None  │ None  │ Declare  │ /home/d │
│ s_bash/a │        │ local.ba │          │       │       │ shell    │ ocs/che │
│ 9cd6587  │        │ sh       │          │       │       │ variable │ ckouts/ │
│          │        │          │          │       │       │ s in     │ readthe │
│          │        │          │          │       │       │ bash     │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /vars.y │
│          │        │          │          │       │       │          │ ml      │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
variables_bash/a9cd6587: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/a9cd6587
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
variables_bash/a9cd6587 does not have any dependencies adding test to queue
 Builders Eligible to Run  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                 ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ variables_bash/a9cd6587 │
└─────────────────────────┘
variables_bash/a9cd6587: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/a9cd6587/stage
variables_bash/a9cd6587: Running Test via command: bash variables_bash_build.sh
────────────────── Output Message for variables_bash/a9cd6587 ──────────────────
1+2=3
 this is a literal string
 \'singlequote\'
 "doublequote"
 current user: docs
 number of files: 4
 Hello my name is Bob 
  I am 30 years old

variables_bash/a9cd6587: Test completed in 0.011004 seconds with returncode: 0
variables_bash/a9cd6587: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/a9cd6587/variables_bash.out
variables_bash/a9cd6587: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/a9cd6587/variables_bash.err
variables_bash/a9cd6587: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/a9cd6587/stage/variables_bash_postrun.sh
variables_bash/a9cd6587: Post run script exit code: 1
─────────────── variables_bash/a9cd6587: Post Run Script Output ────────────────

──────────────── variables_bash/a9cd6587: Post Run Script Error ────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/a9cd6587/stage/variables_bash_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ variables_bash/a9cd6587 │ generic.local.bash │ PASS   │ 0          │ 0.011   │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 1/1 Percentage: 100.000%
Failed Tests: 0/1 Percentage: 0.000%


Adding 1 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_shf3zm7n.log

Next let’s rerun the same command via buildtest build --rerun and take note that it will rerun same command as before

buildtest build --rerun
$ buildtest build --rerun
Reading content of rerun file /tmp/tmpqzxycqdh/var/rerun.json all other options will be ignored.
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:53                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/vars.yml                                                            ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/vars.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ variable │ script │ generic. │ None     │ None  │ None  │ Declare  │ /home/d │
│ s_bash/9 │        │ local.ba │          │       │       │ shell    │ ocs/che │
│ 5ff0c24  │        │ sh       │          │       │       │ variable │ ckouts/ │
│          │        │          │          │       │       │ s in     │ readthe │
│          │        │          │          │       │       │ bash     │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /vars.y │
│          │        │          │          │       │       │          │ ml      │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
variables_bash/95ff0c24: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/95ff0c24
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
variables_bash/95ff0c24 does not have any dependencies adding test to queue
 Builders Eligible to Run  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                 ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ variables_bash/95ff0c24 │
└─────────────────────────┘
variables_bash/95ff0c24: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/95ff0c24/stage
variables_bash/95ff0c24: Running Test via command: bash variables_bash_build.sh
────────────────── Output Message for variables_bash/95ff0c24 ──────────────────
1+2=3
 this is a literal string
 \'singlequote\'
 "doublequote"
 current user: docs
 number of files: 4
 Hello my name is Bob 
  I am 30 years old

variables_bash/95ff0c24: Test completed in 0.011389 seconds with returncode: 0
variables_bash/95ff0c24: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/95ff0c24/variables_bash.out
variables_bash/95ff0c24: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/95ff0c24/variables_bash.err
variables_bash/95ff0c24: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/95ff0c24/stage/variables_bash_postrun.sh
variables_bash/95ff0c24: Post run script exit code: 1
─────────────── variables_bash/95ff0c24: Post Run Script Output ────────────────

──────────────── variables_bash/95ff0c24: Post Run Script Error ────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/95ff0c24/stage/variables_bash_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ variables_bash/95ff0c24 │ generic.local.bash │ PASS   │ 0          │ 0.011   │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 1/1 Percentage: 100.000%
Failed Tests: 0/1 Percentage: 0.000%


Adding 1 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_sz_ifv__.log

If you pass additional options with --rerun it will simply be ignored. In this case -t python --dry-run will not be read by buildtest instead we will rerun same command.

buildtest build --rerun -t python --dry-run
$ buildtest build --rerun -t python --dry-run
Reading content of rerun file /tmp/tmpqzxycqdh/var/rerun.json all other options will be ignored.
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:54                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/vars.yml                                                            ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/vars.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ variable │ script │ generic. │ None     │ None  │ None  │ Declare  │ /home/d │
│ s_bash/f │        │ local.ba │          │       │       │ shell    │ ocs/che │
│ 3df05f1  │        │ sh       │          │       │       │ variable │ ckouts/ │
│          │        │          │          │       │       │ s in     │ readthe │
│          │        │          │          │       │       │ bash     │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /vars.y │
│          │        │          │          │       │       │          │ ml      │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
variables_bash/f3df05f1: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/f3df05f1
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
variables_bash/f3df05f1 does not have any dependencies adding test to queue
 Builders Eligible to Run  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                 ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ variables_bash/f3df05f1 │
└─────────────────────────┘
variables_bash/f3df05f1: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/f3df05f1/stage
variables_bash/f3df05f1: Running Test via command: bash variables_bash_build.sh
────────────────── Output Message for variables_bash/f3df05f1 ──────────────────
1+2=3
 this is a literal string
 \'singlequote\'
 "doublequote"
 current user: docs
 number of files: 4
 Hello my name is Bob 
  I am 30 years old

variables_bash/f3df05f1: Test completed in 0.011065 seconds with returncode: 0
variables_bash/f3df05f1: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/f3df05f1/variables_bash.out
variables_bash/f3df05f1: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/f3df05f1/variables_bash.err
variables_bash/f3df05f1: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/f3df05f1/stage/variables_bash_postrun.sh
variables_bash/f3df05f1: Post run script exit code: 1
─────────────── variables_bash/f3df05f1: Post Run Script Output ────────────────

──────────────── variables_bash/f3df05f1: Post Run Script Error ────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/vars/variables_bash/f3df05f1/stage/variables_bash_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ variables_bash/f3df05f1 │ generic.local.bash │ PASS   │ 0          │ 0.011   │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 1/1 Percentage: 100.000%
Failed Tests: 0/1 Percentage: 0.000%


Adding 1 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_vk53yzw7.log

Note

The buildtest clean will erase all history of builds and if you run buildtest build --rerun will raise an exception

Specify Modules in command line

If your system supports modules such as environment-modules or Lmod you can specify a list of modules to load (module load) in the test via buildtest build --modules. You can specify a comma separated list of modules to load, for example if you want to load gcc and python module in your test you can run buildtest build --modules gcc,python. You may specify full name of module with version for instance you want test to load gcc/9.3.0 and python/3.7 you can run buildtest build --modules gcc/9.3.0,python/3.7.

If you want test to run module purge before running test you can specify buildtest build --module-purge option. If you specify --module-purge and --modules then module purge will be run prior to loading any modules.

Similarly, you can unload modules before running any test via buildtest build --unload-modules which is a list of modules to run module unload command and works similar to --modules option. Buildtest will unload modules before loading modules if both –modules and –unload-modules are specified. If –module-purge is also specified then we run module purge first before loading/unloading any modules.

Use Alternate Configuration file

If you want to use an alternate configuration file when building test you can use buildtest -c <config> build. buildtest will prefer configuration file on command line over the user configuration ($HOME/.buildtest/config.yml). For more details see Which configuration file does buildtest read?.

Removing Stage Directory

buildtest will write the tests in stage directory where test will be executed, typically buildtest will keep the stage directory but if you want to remove the directory you can use buildtest build --remove-stagedir.

Specify Project Account for batch jobs (buildtest build --account)

For batch jobs you typically require one to specify a project account in order to charge jobs depending on your scheduler you can use buildtest build --account option and specify an account name. The command line argument --account will override configuration setting. For more details see Specifying Project Account

Test Timeout (buildtest build --timeout)

Buildtest can terminate test based on timeout value specified via --timeout option which can be used to terminate long running test. The timeout is in seconds and value must be a positive integer which is applied to all test that are run via buildtest build command. If test exceeds the timeout value, then process will be terminated.

To demonstrate this behavior, we will run the following test with a timeout of 1 sec which is expected to fail. Take note of the test returncode of test.

buildtest build -b tutorials/sleep.yml --timeout 1
$ buildtest build -b tutorials/sleep.yml --timeout 1
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:54                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/sleep.yml                                                           ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/sleep.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ sleep/f4 │ script │ generic. │ None     │ None  │ None  │ sleep 2  │ /home/d │
│ d44617   │        │ local.ba │          │       │       │ seconds  │ ocs/che │
│          │        │ sh       │          │       │       │          │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /sleep. │
│          │        │          │          │       │       │          │ yml     │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
sleep/f4d44617: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/sleep/sleep/f4d44617
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
sleep/f4d44617 does not have any dependencies adding test to queue
Builders Eligible to Run
┏━━━━━━━━━━━━━━━━┓
┃ Builder        ┃
┡━━━━━━━━━━━━━━━━┩
│ sleep/f4d44617 │
└────────────────┘
sleep/f4d44617: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/sleep/sleep/f4d44617/stage
sleep/f4d44617: Running Test via command: bash sleep_build.sh
────────────────────── Output Message for sleep/f4d44617 ───────────────────────

sleep/f4d44617: failed to submit job with returncode: -9
─────────────────────── Error Message for sleep/f4d44617 ───────────────────────

sleep/f4d44617: Detected failure in running test, will attempt to retry test: 1 times
sleep/f4d44617: Run - 1/1
sleep/f4d44617: Running Test via command: bash sleep_build.sh
sleep/f4d44617: failed to submit job with returncode: -9
sleep/f4d44617: Test completed in 2.009709 seconds with returncode: -9
sleep/f4d44617: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/sleep/sleep/f4d44617/sleep.out
sleep/f4d44617: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/sleep/sleep/f4d44617/sleep.err
sleep/f4d44617: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/sleep/sleep/f4d44617/stage/sleep_postrun.sh
sleep/f4d44617: Post run script exit code: 1
──────────────────── sleep/f4d44617: Post Run Script Output ────────────────────

──────────────────── sleep/f4d44617: Post Run Script Error ─────────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/sleep/sleep/f4d44617/stage/sleep_postrun.sh not found.
                             Test Summary                              
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder        ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ sleep/f4d44617 │ generic.local.bash │ FAIL   │ -9         │ 2.010   │
└────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 0/1 Percentage: 0.000%
Failed Tests: 1/1 Percentage: 100.000%


Adding 1 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_gdx6svsq.log

Now if we run this test with a higher timeout value we will see this test will pass, if no timeout is specified then test will run until completion.

buildtest build -b tutorials/sleep.yml --timeout 10
$ buildtest build -b tutorials/sleep.yml --timeout 10
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:58:57                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/sleep.yml                                                           ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/sleep.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ sleep/91 │ script │ generic. │ None     │ None  │ None  │ sleep 2  │ /home/d │
│ 56ca3f   │        │ local.ba │          │       │       │ seconds  │ ocs/che │
│          │        │ sh       │          │       │       │          │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /sleep. │
│          │        │          │          │       │       │          │ yml     │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
sleep/9156ca3f: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/sleep/sleep/9156ca3f
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
sleep/9156ca3f does not have any dependencies adding test to queue
Builders Eligible to Run
┏━━━━━━━━━━━━━━━━┓
┃ Builder        ┃
┡━━━━━━━━━━━━━━━━┩
│ sleep/9156ca3f │
└────────────────┘
sleep/9156ca3f: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/sleep/sleep/9156ca3f/stage
sleep/9156ca3f: Running Test via command: bash sleep_build.sh
────────────────────── Output Message for sleep/9156ca3f ───────────────────────

sleep/9156ca3f: Test completed in 2.020408 seconds with returncode: 0
sleep/9156ca3f: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/sleep/sleep/9156ca3f/sleep.out
sleep/9156ca3f: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/sleep/sleep/9156ca3f/sleep.err
sleep/9156ca3f: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/sleep/sleep/9156ca3f/stage/sleep_postrun.sh
sleep/9156ca3f: Post run script exit code: 1
──────────────────── sleep/9156ca3f: Post Run Script Output ────────────────────

──────────────────── sleep/9156ca3f: Post Run Script Error ─────────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/sleep/sleep/9156ca3f/stage/sleep_postrun.sh not found.
                             Test Summary                              
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder        ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ sleep/9156ca3f │ generic.local.bash │ PASS   │ 0          │ 2.020   │
└────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 1/1 Percentage: 100.000%
Failed Tests: 0/1 Percentage: 0.000%


Adding 1 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_lts6sy_g.log

Using Profiles (buildtest build --profile)

Buildtest has a concept of profiles, which allows one to run a set of buildtest build options without having to remember all the options. This can be useful if you are running a set of tests repeatedly. In-order to use profiles you must first, create a profile by using --save-profile.

For example, let’s create a profile called python-tests for all tests with tag python

buildtest build -t python --save-profile=python-tests
$ buildtest build -t python --save-profile=python-tests
Saved profile python-tests to configuration file /tmp/tmpqzxycqdh/config.yml

Next, let’s see our configuration file, you will notice a new section called profiles with a profile called python-tests

buildtest configuration with profile
$ buildtest config view
───────────────────────── /tmp/tmpqzxycqdh/config.yml ──────────────────────────
    1 system:
    2   generic:
    3     # specify a list of hostnames that is a regular expression where buildtest can run.
    4     hostnames: ['.*']
    5     # system description
    6     description: Generic System
    7     # specify module system to use. Supported module systems are [lmod, environment-modules, none]
    8     moduletool: none
    9 
   10     # specify size of job pool (https://docs.python.org/3/library/multiprocessing.html#multiprocessing.pool.Pool). This will configure the number of processes that can run in parallel.
   11     # If not specified then buildtest will use all available cores on the system.
   12     poolsize: 1
   13 
   14     # maximum number of jobs that can run in parallel. If not specified, buildtest will run all jobs in parallel.
   15     #max_jobs: 1
   16 
   17     # test timeout in number of seconds
   18     # timeout: 3600
   19 
   20     # enable pagination for buildtest
   21     pager: false
   22 
   23     # options for buildtest buildspec find command
   24     buildspecs:
   25       # determine whether to rebuild buildspec cache
   26       rebuild: false
   27       # determine number of records to display
   28       count: 15
   29 
   30       # specify format fields
   31       #format: name,description
   32 
   33       # display output in terse mode
   34       terse: false
   35 
   36       # list of paths to search for buildspecs
   37       #root: ["$BUILDTEST_ROOT/tutorials", "$BUILDTEST_ROOT/examples"]
   38 
   39     # options for buildtest report command
   40     report:
   41       # number of records to display
   42       count: 25
   43       # display output in terse mode
   44       terse: false
   45       # specify format fields
   46       format: name,id,state,runtime,returncode
   47 
   48     # specify directory paths to search for binaries
   49     #paths:
   50       # directory path to search for slurm binaries.
   51       #slurm: "/usr/bin"
   52 
   53       # directory path to search for lsf binaries.
   54       #lsf: "/usr/bin"
   55 
   56       # directory path to search for pbs binaries.
   57       #pbs: "/usr/bin"
   58 
   59       # directory path to search for torque binaries.
   60       #torque: "/usr/bin"
   61 
   62       # path to docker directory
   63       #docker: "/usr/local/bin"
   64 
   65       # path to singularity directory
   66       #singularity: "/usr/local/bin"
   67 
   68       # path to podman directory
   69       #podman: "/usr/local/bin"
   70 
   71     # start of executor configuration
   72     executors:
   73       # local executor is used to submit jobs on local machine. In this example we have 4 executors: bash, sh, csh, zsh that will submit jobs using bash, sh, csh, zsh shell respectively.
   74       local:
   75         bash:
   76           description: submit jobs on local machine using bash shell
   77           shell: bash
   78         sh:
   79           description: submit jobs on local machine using sh shell
   80           shell: sh
   81         csh:
   82           description: submit jobs on local machine using csh shell
   83           shell: csh
   84         zsh:
   85           description: submit jobs on local machine using zsh shell
   86           shell: zsh
   87     # specify compiler declaration
   88     compilers:
   89       compiler:
   90         # declaration of all gcc compilers
   91         gcc:
   92           # name of compiler
   93           builtin_gcc:
   94             cc: gcc
   95             fc: gfortran
   96             cxx: g++
   97     # specify CDASH configuration when using 'buildtest cdash upload'
   98     cdash:
   99       # CDASH server
  100       url: https://my.cdash.org/
  101       # name of CDASH project where to push test reports
  102       project: buildtest
  103       # specify the site name which should generally by name of your HPC system. This is used by CDASH to group test results by site
  104       site: generic
  105       # specify the build name which is used to group test results by build name
  106       buildname: tutorials
  107

Next, let’s build the tests via newly created profile and take note that it will run all tests with tag python

buildtest build --profile=python-tests
$ buildtest build --profile=python-tests
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:59:00                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-shell.yml                                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-hello.yml                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 2                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
                            Buildspecs By Tag=python                            
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-shell.yml                                                    ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/python-hello.yml                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 2                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  2
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  2
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/python-shell.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/python-hello.yml: VALID
Total builder objects created: 2
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ circle_a │ script │ generic. │ None     │ None  │ None  │ Calculat │ /home/d │
│ rea/b445 │        │ local.ba │          │       │       │ e circle │ ocs/che │
│ b2b3     │        │ sh       │          │       │       │ of area  │ ckouts/ │
│          │        │          │          │       │       │ given a  │ readthe │
│          │        │          │          │       │       │ radius   │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /python │
│          │        │          │          │       │       │          │ -shell. │
│          │        │          │          │       │       │          │ yml     │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ python_h │ script │ generic. │ None     │ None  │ None  │ Hello    │ /home/d │
│ ello/7a7 │        │ local.ba │          │       │       │ World    │ ocs/che │
│ dd0f9    │        │ sh       │          │       │       │ python   │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /python │
│          │        │          │          │       │       │          │ -hello. │
│          │        │          │          │       │       │          │ yml     │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
circle_area/b445b2b3: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/b445b2b3
python_hello/7a7dd0f9: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/7a7dd0f9
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
python_hello/7a7dd0f9 does not have any dependencies adding test to queue
circle_area/b445b2b3 does not have any dependencies adding test to queue
Builders Eligible to Run 
┏━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder               ┃
┡━━━━━━━━━━━━━━━━━━━━━━━┩
│ python_hello/7a7dd0f9 │
│ circle_area/b445b2b3  │
└───────────────────────┘
python_hello/7a7dd0f9: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/7a7dd0f9/stage
python_hello/7a7dd0f9: Running Test via command: bash python_hello_build.sh
─────────────────── Output Message for python_hello/7a7dd0f9 ───────────────────
Hello World

python_hello/7a7dd0f9: Test completed in 0.035267 seconds with returncode: 0
python_hello/7a7dd0f9: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/7a7dd0f9/python_hello.out
python_hello/7a7dd0f9: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/7a7dd0f9/python_hello.err
python_hello/7a7dd0f9: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/7a7dd0f9/stage/python_hello_postrun.sh
python_hello/7a7dd0f9: Post run script exit code: 1
──────────────── python_hello/7a7dd0f9: Post Run Script Output ─────────────────

───────────────── python_hello/7a7dd0f9: Post Run Script Error ─────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-hello/python_hello/7a7dd0f9/stage/python_hello_postrun.sh not found.
circle_area/b445b2b3: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/b445b2b3/stage
circle_area/b445b2b3: Running Test via command: bash circle_area_build.sh
─────────────────── Output Message for circle_area/b445b2b3 ────────────────────
Circle Radius  2
 Area of circle  12.566370614359172

circle_area/b445b2b3: Test completed in 0.034076 seconds with returncode: 0
circle_area/b445b2b3: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/b445b2b3/circle_area.out
circle_area/b445b2b3: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/b445b2b3/circle_area.err
circle_area/b445b2b3: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/b445b2b3/stage/circle_area_postrun.sh
circle_area/b445b2b3: Post run script exit code: 1
───────────────── circle_area/b445b2b3: Post Run Script Output ─────────────────

───────────────── circle_area/b445b2b3: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/python-shell/circle_area/b445b2b3/stage/circle_area_postrun.sh not found.
                                 Test Summary                                 
┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder               ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ circle_area/b445b2b3  │ generic.local.bash │ PASS   │ 0          │ 0.034   │
├───────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ python_hello/7a7dd0f9 │ generic.local.bash │ PASS   │ 0          │ 0.035   │
└───────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 2/2 Percentage: 100.000%
Failed Tests: 0/2 Percentage: 0.000%


Adding 2 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_we2mefg7.log

You can also specify an alternate location to write configuration file via --write-config-file when saving profile configuration. This can be useful if one wants to use a new configuration file without overwriting the current file for testing purposes. To demonstrate this, we will save the profile to configuration file /tmp/my_config.yml

buildtest build -t python --save-profile=python --write-config-file=/tmp/my_config.yml
$ buildtest build -t python --save-profile=python --write-config-file=/tmp/my_config.yml
Saved profile python to configuration file /tmp/my_config.yml

We can view the profile configuration file by specifying the path to the configuration file.

$ buildtest --config /tmp/my_config.yml config view
────────────────────────────── /tmp/my_config.yml ──────────────────────────────
   1 system:
   2   generic:
   3     hostnames:
   4     - .*
   5     description: Generic System
   6     moduletool: none
   7     poolsize: 1
   8     pager: false
   9     buildspecs:
  10       rebuild: false
  11       count: 15
  12       terse: false
  13     report:
  14       count: 25
  15       terse: false
  16       format: name,id,state,runtime,returncode
  17     executors:
  18       local:
  19         bash:
  20           description: submit jobs on local machine using bash shell
  21           shell: bash
  22         sh:
  23           description: submit jobs on local machine using sh shell
  24           shell: sh
  25         csh:
  26           description: submit jobs on local machine using csh shell
  27           shell: csh
  28     compilers:
  29       compiler:
  30         gcc:
  31           builtin_gcc:
  32             cc: gcc
  33             fc: gfortran
  34             cxx: g++
  35     cdash:
  36       url: https://my.cdash.org/
  37       project: buildtest
  38       site: generic
  39       buildname: tutorials
  40     profiles:
  41       python:
  42         tags:
  43         - python
  44         validate: false
  45         dry-run: false
  46         testdir: /tmp/tmpqzxycqdh/var/tests
  47         remove-stagedir: false
  48         strict: false
  49       prof1:
  50         tags:
  51         - python
  52         validate: false
  53         dry-run: false
  54         testdir: /tmp/tmpqzxycqdh/var/tests
  55         remove-stagedir: false
  56         strict: false
  57       prof2:
  58         buildspecs:
  59         - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/shell_examples.yml
  60         validate: false
  61         dry-run: false
  62         testdir: /tmp/tmpqzxycqdh/var/tests
  63         remove-stagedir: false
  64         strict: false
  65       python-tests:
  66         tags:
  67         - python
  68         validate: false
  69         dry-run: false
  70         testdir: /tmp/tmpqzxycqdh/var/tests
  71         remove-stagedir: false
  72         strict: false
  73

Please note that when using -write-config-file, the path must be a file path and file must not exist. If you specify a directory path or file already exists you will get an error message.

Limit Maximum Jobs that can run concurrently (buildtest build --max-jobs)

Buildtest can cap a limit on number of tests that can run concurrently. This can be set in configuration file via max_jobs field or overridden on command line option via --max-jobs. By default, buildtest will run all jobs concurrently, however with --max-jobs, buildtest will limit number of concurrent jobs specified by --max-jobs.

Let’s limit the number of concurrent jobs to 2 tests, take note that buildtest will run 2 tests per iteration, and wait until test is completed and then proceed to next test.

buildtest build -b tutorials/hello_world.yml --rebuild=5 --max-jobs=2
$ buildtest build -b tutorials/hello_world.yml --rebuild=5 --max-jobs=2
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:59:02                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/hello_world.yml                                                     ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/hello_world.yml: VALID
Total builder objects created: 5
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ hello_wo │ script │ generic. │ None     │ None  │ None  │ hello    │ /home/d │
│ rld/5d8d │        │ local.ba │          │       │       │ world    │ ocs/che │
│ 8b61     │        │ sh       │          │       │       │ example  │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /hello_ │
│          │        │          │          │       │       │          │ world.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ hello_wo │ script │ generic. │ None     │ None  │ None  │ hello    │ /home/d │
│ rld/98b0 │        │ local.ba │          │       │       │ world    │ ocs/che │
│ 779a     │        │ sh       │          │       │       │ example  │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /hello_ │
│          │        │          │          │       │       │          │ world.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ hello_wo │ script │ generic. │ None     │ None  │ None  │ hello    │ /home/d │
│ rld/8391 │        │ local.ba │          │       │       │ world    │ ocs/che │
│ 5ced     │        │ sh       │          │       │       │ example  │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /hello_ │
│          │        │          │          │       │       │          │ world.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ hello_wo │ script │ generic. │ None     │ None  │ None  │ hello    │ /home/d │
│ rld/13a1 │        │ local.ba │          │       │       │ world    │ ocs/che │
│ 2e66     │        │ sh       │          │       │       │ example  │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /hello_ │
│          │        │          │          │       │       │          │ world.y │
│          │        │          │          │       │       │          │ ml      │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ hello_wo │ script │ generic. │ None     │ None  │ None  │ hello    │ /home/d │
│ rld/44c4 │        │ local.ba │          │       │       │ world    │ ocs/che │
│ 196f     │        │ sh       │          │       │       │ example  │ ckouts/ │
│          │        │          │          │       │       │          │ readthe │
│          │        │          │          │       │       │          │ docs.or │
│          │        │          │          │       │       │          │ g/user_ │
│          │        │          │          │       │       │          │ builds/ │
│          │        │          │          │       │       │          │ buildte │
│          │        │          │          │       │       │          │ st/chec │
│          │        │          │          │       │       │          │ kouts/d │
│          │        │          │          │       │       │          │ evel/tu │
│          │        │          │          │       │       │          │ torials │
│          │        │          │          │       │       │          │ /hello_ │
│          │        │          │          │       │       │          │ world.y │
│          │        │          │          │       │       │          │ ml      │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
hello_world/5d8d8b61: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/5d8d8b61
hello_world/98b0779a: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/98b0779a
hello_world/83915ced: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/83915ced
hello_world/13a12e66: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/13a12e66
hello_world/44c4196f: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/44c4196f
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
hello_world/44c4196f does not have any dependencies adding test to queue
hello_world/83915ced does not have any dependencies adding test to queue
hello_world/13a12e66 does not have any dependencies adding test to queue
hello_world/5d8d8b61 does not have any dependencies adding test to queue
hello_world/98b0779a does not have any dependencies adding test to queue
Builders Eligible to Run
┏━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder              ┃
┡━━━━━━━━━━━━━━━━━━━━━━┩
│ hello_world/44c4196f │
│ hello_world/83915ced │
└──────────────────────┘
hello_world/44c4196f: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/44c4196f/stage
hello_world/44c4196f: Running Test via command: bash hello_world_build.sh
─────────────────── Output Message for hello_world/44c4196f ────────────────────
hello world!

hello_world/44c4196f: Test completed in 0.006939 seconds with returncode: 0
hello_world/44c4196f: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/44c4196f/hello_world.out
hello_world/44c4196f: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/44c4196f/hello_world.err
hello_world/44c4196f: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/44c4196f/stage/hello_world_postrun.sh
hello_world/44c4196f: Post run script exit code: 1
───────────────── hello_world/44c4196f: Post Run Script Output ─────────────────

───────────────── hello_world/44c4196f: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/44c4196f/stage/hello_world_postrun.sh not found.
hello_world/83915ced: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/83915ced/stage
hello_world/83915ced: Running Test via command: bash hello_world_build.sh
─────────────────── Output Message for hello_world/83915ced ────────────────────
hello world!

hello_world/83915ced: Test completed in 0.006601 seconds with returncode: 0
hello_world/83915ced: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/83915ced/hello_world.out
hello_world/83915ced: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/83915ced/hello_world.err
hello_world/83915ced: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/83915ced/stage/hello_world_postrun.sh
hello_world/83915ced: Post run script exit code: 1
───────────────── hello_world/83915ced: Post Run Script Output ─────────────────

───────────────── hello_world/83915ced: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/83915ced/stage/hello_world_postrun.sh not found.
───────────────────────────────── Iteration 2 ──────────────────────────────────
hello_world/13a12e66 does not have any dependencies adding test to queue
hello_world/5d8d8b61 does not have any dependencies adding test to queue
hello_world/98b0779a does not have any dependencies adding test to queue
Builders Eligible to Run
┏━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder              ┃
┡━━━━━━━━━━━━━━━━━━━━━━┩
│ hello_world/98b0779a │
│ hello_world/5d8d8b61 │
└──────────────────────┘
hello_world/98b0779a: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/98b0779a/stage
hello_world/98b0779a: Running Test via command: bash hello_world_build.sh
─────────────────── Output Message for hello_world/98b0779a ────────────────────
hello world!

hello_world/98b0779a: Test completed in 0.006564 seconds with returncode: 0
hello_world/98b0779a: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/98b0779a/hello_world.out
hello_world/98b0779a: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/98b0779a/hello_world.err
hello_world/98b0779a: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/98b0779a/stage/hello_world_postrun.sh
hello_world/98b0779a: Post run script exit code: 1
───────────────── hello_world/98b0779a: Post Run Script Output ─────────────────

───────────────── hello_world/98b0779a: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/98b0779a/stage/hello_world_postrun.sh not found.
hello_world/5d8d8b61: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/5d8d8b61/stage
hello_world/5d8d8b61: Running Test via command: bash hello_world_build.sh
─────────────────── Output Message for hello_world/5d8d8b61 ────────────────────
hello world!

hello_world/5d8d8b61: Test completed in 0.006593 seconds with returncode: 0
hello_world/5d8d8b61: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/5d8d8b61/hello_world.out
hello_world/5d8d8b61: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/5d8d8b61/hello_world.err
hello_world/5d8d8b61: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/5d8d8b61/stage/hello_world_postrun.sh
hello_world/5d8d8b61: Post run script exit code: 1
───────────────── hello_world/5d8d8b61: Post Run Script Output ─────────────────

───────────────── hello_world/5d8d8b61: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/5d8d8b61/stage/hello_world_postrun.sh not found.
───────────────────────────────── Iteration 3 ──────────────────────────────────
hello_world/13a12e66 does not have any dependencies adding test to queue
Builders Eligible to Run
┏━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder              ┃
┡━━━━━━━━━━━━━━━━━━━━━━┩
│ hello_world/13a12e66 │
└──────────────────────┘
hello_world/13a12e66: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/13a12e66/stage
hello_world/13a12e66: Running Test via command: bash hello_world_build.sh
─────────────────── Output Message for hello_world/13a12e66 ────────────────────
hello world!

hello_world/13a12e66: Test completed in 0.006646 seconds with returncode: 0
hello_world/13a12e66: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/13a12e66/hello_world.out
hello_world/13a12e66: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/13a12e66/hello_world.err
hello_world/13a12e66: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/13a12e66/stage/hello_world_postrun.sh
hello_world/13a12e66: Post run script exit code: 1
───────────────── hello_world/13a12e66: Post Run Script Output ─────────────────

───────────────── hello_world/13a12e66: Post Run Script Error ──────────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/hello_world/hello_world/13a12e66/stage/hello_world_postrun.sh not found.
                                Test Summary                                 
┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder              ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ hello_world/44c4196f │ generic.local.bash │ PASS   │ 0          │ 0.007   │
├──────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ hello_world/98b0779a │ generic.local.bash │ PASS   │ 0          │ 0.007   │
├──────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ hello_world/5d8d8b61 │ generic.local.bash │ PASS   │ 0          │ 0.007   │
├──────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ hello_world/83915ced │ generic.local.bash │ PASS   │ 0          │ 0.007   │
├──────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ hello_world/13a12e66 │ generic.local.bash │ PASS   │ 0          │ 0.007   │
└──────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 5/5 Percentage: 100.000%
Failed Tests: 0/5 Percentage: 0.000%


Adding 5 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_nhjntv1g.log

Strict Mode

Buildtest has an option to enable strict mode for test execution which can be enabled via --strict option. If this is set, buildtest will instead set -eo pipefail in the generated test which will cause test to exit immediately if any commands fail. To demonstrate this we have the following buildspec, which runs an ls command for an invalid path followed by an echo command.

buildspecs:
  linux_strict_test:
    type: script
    executor: generic.local.bash
    description: "This example test will show how returncode will change when using --strict flag"
    run: |
      echo "This is a test"
      ls -l /BAD_PATH
      echo "This is another test"

If we were to run this test without strict mode, we see the test will pass.

buildtest build -b tutorials/strict_example.yml
$ buildtest build -b tutorials/strict_example.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:59:02                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/strict_example.yml                                                  ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/strict_example.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ linux_st │ script │ generic. │ None     │ None  │ None  │ This     │ /home/d │
│ rict_tes │        │ local.ba │          │       │       │ example  │ ocs/che │
│ t/60414f │        │ sh       │          │       │       │ test     │ ckouts/ │
│ dc       │        │          │          │       │       │ will     │ readthe │
│          │        │          │          │       │       │ show how │ docs.or │
│          │        │          │          │       │       │ returnco │ g/user_ │
│          │        │          │          │       │       │ de will  │ builds/ │
│          │        │          │          │       │       │ change   │ buildte │
│          │        │          │          │       │       │ when     │ st/chec │
│          │        │          │          │       │       │ using    │ kouts/d │
│          │        │          │          │       │       │ --strict │ evel/tu │
│          │        │          │          │       │       │ flag     │ torials │
│          │        │          │          │       │       │          │ /strict │
│          │        │          │          │       │       │          │ _exampl │
│          │        │          │          │       │       │          │ e.yml   │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
linux_strict_test/60414fdc: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/linux_strict_test/60414fdc
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
linux_strict_test/60414fdc does not have any dependencies adding test to queue
   Builders Eligible to Run   
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                    ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ linux_strict_test/60414fdc │
└────────────────────────────┘
linux_strict_test/60414fdc: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/linux_strict_test/60414fdc/stage
linux_strict_test/60414fdc: Running Test via command: bash linux_strict_test_build.sh
──────────────── Output Message for linux_strict_test/60414fdc ─────────────────
This is a test
 This is another test

linux_strict_test/60414fdc: Test completed in 0.008499 seconds with returncode: 0
linux_strict_test/60414fdc: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/linux_strict_test/60414fdc/linux_strict_test.out
linux_strict_test/60414fdc: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/linux_strict_test/60414fdc/linux_strict_test.err
linux_strict_test/60414fdc: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/linux_strict_test/60414fdc/stage/linux_strict_test_postrun.sh
linux_strict_test/60414fdc: Post run script exit code: 1
────────────── linux_strict_test/60414fdc: Post Run Script Output ──────────────

────────────── linux_strict_test/60414fdc: Post Run Script Error ───────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/linux_strict_test/60414fdc/stage/linux_strict_test_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ linux_strict_test/60414 │ generic.local.bash │ PASS   │ 0          │ 0.008   │
│ fdc                     │                    │        │            │         │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 1/1 Percentage: 100.000%
Failed Tests: 0/1 Percentage: 0.000%


Adding 1 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_rrpvuqk8.log

Now let’s run the same test with strict mode enabled, we will see the test will fail with a different return code.

buildtest build -b tutorials/strict_example.yml --strict
$ buildtest build -b tutorials/strict_example.yml --strict
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-24413852-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2024/05/17 17:59:03                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  2.0                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.9.18                                                   │
│ Configuration File: /tmp/tmpqzxycqdh/config.yml                              │
│ Test Directory:     /tmp/tmpqzxycqdh/var/tests                               │
│ Report File:        /tmp/tmpqzxycqdh/var/report.json                         │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/t ║
║ utorials/strict_example.yml                                                  ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1                                                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/devel/tutorials/strict_example.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃          ┃        ┃          ┃          ┃       ┃       ┃ descript ┃ buildsp ┃
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion      ┃ ecs     ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ linux_st │ script │ generic. │ None     │ None  │ None  │ This     │ /home/d │
│ rict_tes │        │ local.ba │          │       │       │ example  │ ocs/che │
│ t/1ef66d │        │ sh       │          │       │       │ test     │ ckouts/ │
│ 92       │        │          │          │       │       │ will     │ readthe │
│          │        │          │          │       │       │ show how │ docs.or │
│          │        │          │          │       │       │ returnco │ g/user_ │
│          │        │          │          │       │       │ de will  │ builds/ │
│          │        │          │          │       │       │ change   │ buildte │
│          │        │          │          │       │       │ when     │ st/chec │
│          │        │          │          │       │       │ using    │ kouts/d │
│          │        │          │          │       │       │ --strict │ evel/tu │
│          │        │          │          │       │       │ flag     │ torials │
│          │        │          │          │       │       │          │ /strict │
│          │        │          │          │       │       │          │ _exampl │
│          │        │          │          │       │       │          │ e.yml   │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
linux_strict_test/1ef66d92: Creating Test Directory: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/linux_strict_test/1ef66d92
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
linux_strict_test/1ef66d92 does not have any dependencies adding test to queue
   Builders Eligible to Run   
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder                    ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ linux_strict_test/1ef66d92 │
└────────────────────────────┘
linux_strict_test/1ef66d92: Current Working Directory : /tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/linux_strict_test/1ef66d92/stage
linux_strict_test/1ef66d92: Running Test via command: bash linux_strict_test_build.sh
──────────────── Output Message for linux_strict_test/1ef66d92 ─────────────────
This is a test

linux_strict_test/1ef66d92: failed to submit job with returncode: 2
───────────────── Error Message for linux_strict_test/1ef66d92 ─────────────────
ls: cannot access '/BAD_PATH': No such file or directory

linux_strict_test/1ef66d92: Detected failure in running test, will attempt to retry test: 1 times
linux_strict_test/1ef66d92: Run - 1/1
linux_strict_test/1ef66d92: Running Test via command: bash linux_strict_test_build.sh
linux_strict_test/1ef66d92: failed to submit job with returncode: 2
linux_strict_test/1ef66d92: Test completed in 0.018359 seconds with returncode: 2
linux_strict_test/1ef66d92: Writing output file -  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/linux_strict_test/1ef66d92/linux_strict_test.out
linux_strict_test/1ef66d92: Writing error file - /tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/linux_strict_test/1ef66d92/linux_strict_test.err
linux_strict_test/1ef66d92: Running Post Run Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/linux_strict_test/1ef66d92/stage/linux_strict_test_postrun.sh
linux_strict_test/1ef66d92: Post run script exit code: 1
────────────── linux_strict_test/1ef66d92: Post Run Script Output ──────────────

────────────── linux_strict_test/1ef66d92: Post Run Script Error ───────────────
/tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/linux_strict_test/1ef66d92/stage/linux_strict_test_postrun.sh not found.
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder                 ┃ executor           ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ linux_strict_test/1ef66 │ generic.local.bash │ FAIL   │ 2          │ 0.018   │
│ d92                     │                    │        │            │         │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘



Passed Tests: 0/1 Percentage: 0.000%
Failed Tests: 1/1 Percentage: 100.000%


Adding 1 test results to report file: /tmp/tmpqzxycqdh/var/report.json
Writing Logfile to /tmp/tmpqzxycqdh/var/logs/buildtest_qeebi5e3.log

We can see the generated test using buildtest inspect query -t and we will see the test script has set -eo pipefail in the generated test.

$ buildtest inspect query -t linux_strict_test
──────────── linux_strict_test/1ef66d92-f2b3-4e66-99de-5c075a696af5 ────────────
Executor: generic.local.bash
Description: This example test will show how returncode will change when using --strict flag
State: FAIL
Returncode: 2
Runtime: 0.018359 sec
Starttime: 2024/05/17 17:59:03
Endtime: 2024/05/17 17:59:03
Command: bash linux_strict_test_build.sh
Test Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/linux_strict_test/1ef66d92/linux_strict_test.sh
Build Script: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/linux_strict_test/1ef66d92/linux_strict_test_build.sh
Output File: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/linux_strict_test/1ef66d92/linux_strict_test.out
Error File: /tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/linux_strict_test/1ef66d92/linux_strict_test.err
Log File: /tmp/tmpqzxycqdh/var/logs/buildtest_qeebi5e3.log
─ Test File:  /tmp/tmpqzxycqdh/var/tests/generic.local.bash/strict_example/li… ─
#!/usr/bin/bash                                                                 
set -eo pipefail                                                                
# Content of run section                                                        
echo "This is a test"                                                           
ls -l /BAD_PATH                                                                 
echo "This is another test"