Building Test via buildtest (buildtest build)

This 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.

Once you install buildtest, you should find the buildtest command in your $PATH. You can check the path to buildtest command by running:

$ which buildtest

If you don’t see buildtest go back and install buildtest.

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
usage: buildtest [options] [COMMANDS] build [-h] [-b BUILDSPEC] [-x EXCLUDE]
                                            [-e EXECUTOR] [-t TAGS] [--rerun]
                                            [-f FILTER] [--helpfilter]
                                            [-et {local,batch}]
                                            [--account ACCOUNT]
                                            [--disable-executor-check] [-k]
                                            [--maxpendtime MAXPENDTIME]
                                            [--pollinterval POLLINTERVAL]
                                            [--rebuild REBUILD]
                                            [--retry RETRY] [-s {parse,build}]
                                            [--testdir TESTDIR]
                                            [--procs PROCS [PROCS ...]]
                                            [--module-purge] [-m MODULES]
                                            [-u UNLOAD_MODULES]
                                            [--nodes NODES [NODES ...]]

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

discover:
  select buildspecs

  -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.
  -e EXECUTOR, --executor EXECUTOR
                        Discover buildspecs by executor name 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

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

extra:
  All extra options

  --account ACCOUNT     Specify project account used to charge batch jobs
                        (applicable for batch jobs only)
  --disable-executor-check
                        Disable executor check during configuration check. By
                        default these checks are enforced for Local, Slurm,
                        PBS, LSF, and Cobalt Executor.
  -k, --keep-stage-dir  Keep stage directory after job completion.
  --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
  --rebuild REBUILD     Rebuild test X number of times. Must be a positive
                        number between [1-50]
  --retry RETRY         Retry failed jobs
  -s {parse,build}, --stage {parse,build}
                        Control behavior of buildtest build to stop execution
                        after 'parse' or 'build' stage
  --testdir TESTDIR     Specify a custom test directory where to write tests.
                        This overrides configuration file and default
                        location.
  --procs PROCS [PROCS ...]
                        Specify number of processes to run tests (only
                        applicable with batch jobs). Multiple values can be
                        specified comma separated.
  --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 commaseparated 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
  --nodes NODES [NODES ...]
                        Specify number of nodes to run tests (only applicable
                        with batch jobs). Multiple values can be specified
                        comma separated.

Building a Test

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 summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:20:27                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build -b /home/docs/checkouts/readthedocs. │
│ org/user_builds/buildtest/checkouts/latest/tutorials/vars.yml                │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  1
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/vars.yml: VALID
Total builder objects created: 1
Total compiler builder: 0
Total script builder: 1
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ variables_bash │ generic.local. │ None     │ Declare shell  │ /home/docs/che │
│ /59213d24      │ bash           │          │ variables in   │ ckouts/readthe │
│                │                │          │ bash           │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/vars.yml     │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
variables_bash/59213d24: Creating test directory: /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/
variables_bash/59213d24
variables_bash/59213d24: Creating the stage directory: /home/docs/checkouts/read
thedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/
vars/variables_bash/59213d24/stage
variables_bash/59213d24: Writing build script: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/var
iables_bash/59213d24/variables_bash_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 2 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
variables_bash/59213d24 does not have any dependencies adding test to queue
variables_bash/59213d24: Running Test via command: bash --norc --noprofile -eo 
pipefail variables_bash_build.sh
variables_bash/59213d24: Test completed in 0.014886 seconds
variables_bash/59213d24: Test completed with returncode: 0
variables_bash/59213d24: Writing output file -  /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/va
riables_bash/59213d24/variables_bash.out
variables_bash/59213d24: Writing error file - /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/vari
ables_bash/59213d24/variables_bash.err
In this iteration we are going to run the following tests: [variables_bash/59213d24]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ Checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ Builder      ┃ executor     ┃ status ┃ Runtime)      ┃ ReturnCode ┃ Runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ variables_ba │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.014886 │
│ sh/59213d24  │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 1 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildt
est/checkouts/latest/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/logs/buildtest_f8tg0m9q.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 general_tests/configuration/
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:18                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build -b general_tests/configuration/      │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  4
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  4
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 4
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/gene
ral_tests/configuration/kernel_state.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/gene
ral_tests/configuration/disk_usage.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/gene
ral_tests/configuration/ulimits.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/gene
ral_tests/configuration/systemd-default-target.yml: VALID
Total builder objects created: 9
Total compiler builder: 0
Total script builder: 9
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ kernel_swapusa │ generic.local. │ None     │ Retrieve       │ /home/docs/che │
│ ge/6e207837    │ bash           │          │ Kernel Swap    │ ckouts/readthe │
│                │                │          │ Usage          │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/kernel_s │
│                │                │          │                │ tate.yml       │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ root_disk_usag │ generic.local. │ None     │ Check root     │ /home/docs/che │
│ e/529a3249     │ bash           │          │ disk usage and │ ckouts/readthe │
│                │                │          │ report if it   │ docs.org/user_ │
│                │                │          │ exceeds        │ builds/buildte │
│                │                │          │ threshold      │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/disk_usa │
│                │                │          │                │ ge.yml         │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ ulimit_fileloc │ generic.local. │ None     │ Check if file  │ /home/docs/che │
│ k_unlimited/de │ bash           │          │ lock is set to │ ckouts/readthe │
│ 82d010         │                │          │ unlimited in   │ docs.org/user_ │
│                │                │          │ ulimits        │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/ulimits. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ ulimit_cputime │ generic.local. │ None     │ Check if       │ /home/docs/che │
│ _unlimited/913 │ bash           │          │ cputime is set │ ckouts/readthe │
│ 3d8eb          │                │          │ to unlimited   │ docs.org/user_ │
│                │                │          │ in ulimits     │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/ulimits. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ ulimit_stacksi │ generic.local. │ None     │ Check if stack │ /home/docs/che │
│ ze_unlimited/9 │ bash           │          │ size is set to │ ckouts/readthe │
│ e084812        │                │          │ unlimited in   │ docs.org/user_ │
│                │                │          │ ulimits        │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/ulimits. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ ulimit_vmsize_ │ generic.local. │ None     │ Check virtual  │ /home/docs/che │
│ unlimited/12f3 │ bash           │          │ memory size    │ ckouts/readthe │
│ 91d3           │                │          │ and check if   │ docs.org/user_ │
│                │                │          │ its set to     │ builds/buildte │
│                │                │          │ unlimited      │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/ulimits. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ ulimit_filedes │ generic.local. │ None     │ Check if open  │ /home/docs/che │
│ criptor_4096/2 │ bash           │          │ file           │ ckouts/readthe │
│ 08be0f5        │                │          │ descriptors    │ docs.org/user_ │
│                │                │          │ limit is set   │ builds/buildte │
│                │                │          │ to 4096        │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/ulimits. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ ulimit_max_use │ generic.local. │ None     │ Check max      │ /home/docs/che │
│ r_process_2048 │ bash           │          │ number of user │ ckouts/readthe │
│ /8e540e31      │                │          │ process limit  │ docs.org/user_ │
│                │                │          │ is set to 2048 │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/ulimits. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ systemd_defaul │ generic.local. │ None     │ check if       │ /home/docs/che │
│ t_target/a2607 │ bash           │          │ default target │ ckouts/readthe │
│ 163            │                │          │ is multi-user. │ docs.org/user_ │
│                │                │          │ target         │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/systemd- │
│                │                │          │                │ default-target │
│                │                │          │                │ .yml           │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
kernel_swapusage/6e207837: Creating test directory: /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ker
nel_state/kernel_swapusage/6e207837
kernel_swapusage/6e207837: Creating the stage directory: /home/docs/checkouts/re
adthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bas
h/kernel_state/kernel_swapusage/6e207837/stage
kernel_swapusage/6e207837: Writing build script: /home/docs/checkouts/readthedoc
s.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/kernel
_state/kernel_swapusage/6e207837/kernel_swapusage_build.sh
root_disk_usage/529a3249: Creating test directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/disk
_usage/root_disk_usage/529a3249
root_disk_usage/529a3249: Creating the stage directory: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/disk_usage/root_disk_usage/529a3249/stage
root_disk_usage/529a3249: Writing build script: /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/disk_us
age/root_disk_usage/529a3249/root_disk_usage_build.sh
ulimit_filelock_unlimited/de82d010: Creating test directory: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.bash/ulimits/ulimit_filelock_unlimited/de82d010
ulimit_filelock_unlimited/de82d010: Creating the stage directory: /home/docs/che
ckouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.
local.bash/ulimits/ulimit_filelock_unlimited/de82d010/stage
ulimit_filelock_unlimited/de82d010: Writing build script: /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/ulimits/ulimit_filelock_unlimited/de82d010/ulimit_filelock_unlimited_build.sh
ulimit_cputime_unlimited/9133d8eb: Creating test directory: /home/docs/checkouts
/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.
bash/ulimits/ulimit_cputime_unlimited/9133d8eb
ulimit_cputime_unlimited/9133d8eb: Creating the stage directory: /home/docs/chec
kouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.l
ocal.bash/ulimits/ulimit_cputime_unlimited/9133d8eb/stage
ulimit_cputime_unlimited/9133d8eb: Writing build script: /home/docs/checkouts/re
adthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bas
h/ulimits/ulimit_cputime_unlimited/9133d8eb/ulimit_cputime_unlimited_build.sh
ulimit_stacksize_unlimited/9e084812: Creating test directory: /home/docs/checkou
ts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.loca
l.bash/ulimits/ulimit_stacksize_unlimited/9e084812
ulimit_stacksize_unlimited/9e084812: Creating the stage directory: /home/docs/ch
eckouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic
.local.bash/ulimits/ulimit_stacksize_unlimited/9e084812/stage
ulimit_stacksize_unlimited/9e084812: Writing build script: /home/docs/checkouts/
readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.b
ash/ulimits/ulimit_stacksize_unlimited/9e084812/ulimit_stacksize_unlimited_build
.sh
ulimit_vmsize_unlimited/12f391d3: Creating test directory: /home/docs/checkouts/
readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.b
ash/ulimits/ulimit_vmsize_unlimited/12f391d3
ulimit_vmsize_unlimited/12f391d3: Creating the stage directory: /home/docs/check
outs/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.lo
cal.bash/ulimits/ulimit_vmsize_unlimited/12f391d3/stage
ulimit_vmsize_unlimited/12f391d3: Writing build script: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/ulimits/ulimit_vmsize_unlimited/12f391d3/ulimit_vmsize_unlimited_build.sh
ulimit_filedescriptor_4096/208be0f5: Creating test directory: /home/docs/checkou
ts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.loca
l.bash/ulimits/ulimit_filedescriptor_4096/208be0f5
ulimit_filedescriptor_4096/208be0f5: Creating the stage directory: /home/docs/ch
eckouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic
.local.bash/ulimits/ulimit_filedescriptor_4096/208be0f5/stage
ulimit_filedescriptor_4096/208be0f5: Writing build script: /home/docs/checkouts/
readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.b
ash/ulimits/ulimit_filedescriptor_4096/208be0f5/ulimit_filedescriptor_4096_build
.sh
ulimit_max_user_process_2048/8e540e31: Creating test directory: /home/docs/check
outs/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.lo
cal.bash/ulimits/ulimit_max_user_process_2048/8e540e31
ulimit_max_user_process_2048/8e540e31: Creating the stage directory: /home/docs/
checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/gener
ic.local.bash/ulimits/ulimit_max_user_process_2048/8e540e31/stage
ulimit_max_user_process_2048/8e540e31: Writing build script: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.bash/ulimits/ulimit_max_user_process_2048/8e540e31/ulimit_max_user_process_2048
_build.sh
systemd_default_target/a2607163: Creating test directory: /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/systemd-default-target/systemd_default_target/a2607163
systemd_default_target/a2607163: Creating the stage directory: /home/docs/checko
uts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.loc
al.bash/systemd-default-target/systemd_default_target/a2607163/stage
systemd_default_target/a2607163: Writing build script: /home/docs/checkouts/read
thedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/
systemd-default-target/systemd_default_target/a2607163/systemd_default_target_bu
ild.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 2 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
ulimit_vmsize_unlimited/12f391d3 does not have any dependencies adding test to 
queue
ulimit_max_user_process_2048/8e540e31 does not have any dependencies adding test
to queue
ulimit_filedescriptor_4096/208be0f5 does not have any dependencies adding test 
to queue
ulimit_stacksize_unlimited/9e084812 does not have any dependencies adding test 
to queue
ulimit_cputime_unlimited/9133d8eb does not have any dependencies adding test to 
queue
kernel_swapusage/6e207837 does not have any dependencies adding test to queue
root_disk_usage/529a3249 does not have any dependencies adding test to queue
ulimit_filelock_unlimited/de82d010 does not have any dependencies adding test to
queue
systemd_default_target/a2607163 does not have any dependencies adding test to 
queue
ulimit_max_user_process_2048/8e540e31: Running Test via command: bash --norc 
--noprofile -eo pipefail ulimit_max_user_process_2048_build.sh
ulimit_vmsize_unlimited/12f391d3: Running Test via command: bash --norc 
--noprofile -eo pipefail ulimit_vmsize_unlimited_build.sh
ulimit_vmsize_unlimited/12f391d3: Test completed in 0.026206 seconds
ulimit_max_user_process_2048/8e540e31: Test completed in 0.026995 seconds
ulimit_vmsize_unlimited/12f391d3: Test completed with returncode: 0
ulimit_max_user_process_2048/8e540e31: Test completed with returncode: 0
ulimit_vmsize_unlimited/12f391d3: Writing output file -  /home/docs/checkouts/re
adthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bas
h/ulimits/ulimit_vmsize_unlimited/12f391d3/ulimit_vmsize_unlimited.out
ulimit_max_user_process_2048/8e540e31: Writing output file -  /home/docs/checkou
ts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.loca
l.bash/ulimits/ulimit_max_user_process_2048/8e540e31/ulimit_max_user_process_204
8.out
ulimit_max_user_process_2048/8e540e31: Writing error file - /home/docs/checkouts
/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.
bash/ulimits/ulimit_max_user_process_2048/8e540e31/ulimit_max_user_process_2048.
err
ulimit_vmsize_unlimited/12f391d3: Writing error file - /home/docs/checkouts/read
thedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/
ulimits/ulimit_vmsize_unlimited/12f391d3/ulimit_vmsize_unlimited.err
ulimit_max_user_process_2048/8e540e31: performing regular expression - '^2048$' 
on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/la
test/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/8e540e31/
ulimit_max_user_process_2048.out
ulimit_vmsize_unlimited/12f391d3: performing regular expression - '^unlimited$' 
on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/la
test/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/12f391d3/ulimi
t_vmsize_unlimited.out
ulimit_vmsize_unlimited/12f391d3: Regular Expression Match - Success!
ulimit_max_user_process_2048/8e540e31: Regular Expression Match - Failed!
ulimit_stacksize_unlimited/9e084812: Running Test via command: bash --norc 
--noprofile -eo pipefail ulimit_stacksize_unlimited_build.sh
ulimit_filedescriptor_4096/208be0f5: Running Test via command: bash --norc 
--noprofile -eo pipefail ulimit_filedescriptor_4096_build.sh
ulimit_stacksize_unlimited/9e084812: Test completed in 0.015553 seconds
ulimit_stacksize_unlimited/9e084812: Test completed with returncode: 0
ulimit_stacksize_unlimited/9e084812: Writing output file -  /home/docs/checkouts
/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.
bash/ulimits/ulimit_stacksize_unlimited/9e084812/ulimit_stacksize_unlimited.out
ulimit_stacksize_unlimited/9e084812: Writing error file - /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/ulimits/ulimit_stacksize_unlimited/9e084812/ulimit_stacksize_unlimited.err
ulimit_stacksize_unlimited/9e084812: performing regular expression - 
'^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtes
t/checkouts/latest/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimit
ed/9e084812/ulimit_stacksize_unlimited.out
ulimit_stacksize_unlimited/9e084812: Regular Expression Match - Failed!
ulimit_filedescriptor_4096/208be0f5: Test completed in 0.027571 seconds
ulimit_filedescriptor_4096/208be0f5: Test completed with returncode: 0
ulimit_filedescriptor_4096/208be0f5: Writing output file -  /home/docs/checkouts
/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.
bash/ulimits/ulimit_filedescriptor_4096/208be0f5/ulimit_filedescriptor_4096.out
ulimit_filedescriptor_4096/208be0f5: Writing error file - /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/ulimits/ulimit_filedescriptor_4096/208be0f5/ulimit_filedescriptor_4096.err
ulimit_filedescriptor_4096/208be0f5: performing regular expression - '^4096$' on
file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/lates
t/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/208be0f5/ulimi
t_filedescriptor_4096.out
ulimit_filedescriptor_4096/208be0f5: Regular Expression Match - Failed!
ulimit_cputime_unlimited/9133d8eb: Running Test via command: bash --norc 
--noprofile -eo pipefail ulimit_cputime_unlimited_build.sh
kernel_swapusage/6e207837: Running Test via command: bash --norc --noprofile -eo
pipefail kernel_swapusage_build.sh
ulimit_cputime_unlimited/9133d8eb: Test completed in 0.019699 seconds
ulimit_cputime_unlimited/9133d8eb: Test completed with returncode: 0
ulimit_cputime_unlimited/9133d8eb: Writing output file -  /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/ulimits/ulimit_cputime_unlimited/9133d8eb/ulimit_cputime_unlimited.out
ulimit_cputime_unlimited/9133d8eb: Writing error file - /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/ulimits/ulimit_cputime_unlimited/9133d8eb/ulimit_cputime_unlimited.err
ulimit_cputime_unlimited/9133d8eb: performing regular expression - '^unlimited$'
on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/la
test/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/9133d8eb/ulim
it_cputime_unlimited.out
ulimit_cputime_unlimited/9133d8eb: Regular Expression Match - Success!
root_disk_usage/529a3249: Running Test via command: bash --norc --noprofile -eo 
pipefail root_disk_usage_build.sh
kernel_swapusage/6e207837: Test completed in 0.05922 seconds
kernel_swapusage/6e207837: Test completed with returncode: 255
kernel_swapusage/6e207837: Writing output file -  /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/kerne
l_state/kernel_swapusage/6e207837/kernel_swapusage.out
kernel_swapusage/6e207837: Writing error file - /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/kernel_
state/kernel_swapusage/6e207837/kernel_swapusage.err
ulimit_filelock_unlimited/de82d010: Running Test via command: bash --norc 
--noprofile -eo pipefail ulimit_filelock_unlimited_build.sh
root_disk_usage/529a3249: Test completed in 0.046396 seconds
root_disk_usage/529a3249: Test completed with returncode: 0
root_disk_usage/529a3249: Writing output file -  /home/docs/checkouts/readthedoc
s.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/disk_u
sage/root_disk_usage/529a3249/root_disk_usage.out
root_disk_usage/529a3249: Writing error file - /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/disk_usa
ge/root_disk_usage/529a3249/root_disk_usage.err
ulimit_filelock_unlimited/de82d010: Test completed in 0.016307 seconds
ulimit_filelock_unlimited/de82d010: Test completed with returncode: 0
ulimit_filelock_unlimited/de82d010: Writing output file -  /home/docs/checkouts/
readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.b
ash/ulimits/ulimit_filelock_unlimited/de82d010/ulimit_filelock_unlimited.out
ulimit_filelock_unlimited/de82d010: Writing error file - /home/docs/checkouts/re
adthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bas
h/ulimits/ulimit_filelock_unlimited/de82d010/ulimit_filelock_unlimited.err
ulimit_filelock_unlimited/de82d010: performing regular expression - 
'^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtes
t/checkouts/latest/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimite
d/de82d010/ulimit_filelock_unlimited.out
ulimit_filelock_unlimited/de82d010: Regular Expression Match - Success!
systemd_default_target/a2607163: Running Test via command: bash --norc 
--noprofile -eo pipefail systemd_default_target_build.sh
systemd_default_target/a2607163: Test completed in 0.051473 seconds
systemd_default_target/a2607163: Test completed with returncode: 1
systemd_default_target/a2607163: Writing output file -  /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/systemd-default-target/systemd_default_target/a2607163/systemd_default_target.o
ut
systemd_default_target/a2607163: Writing error file - /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/s
ystemd-default-target/systemd_default_target/a2607163/systemd_default_target.err
In this iteration we are going to run the following tests: [ulimit_vmsize_unlimited/12f391d3, ulimit_max_user_process_2048/8e540e31, ulimit_filedescriptor_4096/208be0f5, ulimit_stacksize_unlimited/9e084812, ulimit_cputime_unlimited/9133d8eb, kernel_swapusage/6e207837, root_disk_usage/529a3249, ulimit_filelock_unlimited/de82d010, systemd_default_target/a2607163]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ Checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ Builder      ┃ executor     ┃ status ┃ Runtime)      ┃ ReturnCode ┃ Runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ ulimit_vmsiz │ generic.loc… │ PASS   │ False True    │ 0          │ 0.026206 │
│ e_unlimited/ │              │        │ False         │            │          │
│ 12f391d3     │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_filed │ generic.loc… │ FAIL   │ False False   │ 0          │ 0.027571 │
│ escriptor_40 │              │        │ False         │            │          │
│ 96/208be0f5  │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ kernel_swapu │ generic.loc… │ FAIL   │ N/A N/A N/A   │ 255        │ 0.05922  │
│ sage/6e20783 │              │        │               │            │          │
│ 7            │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ root_disk_us │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.046396 │
│ age/529a3249 │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_max_u │ generic.loc… │ FAIL   │ False False   │ 0          │ 0.026995 │
│ ser_process_ │              │        │ False         │            │          │
│ 2048/8e540e3 │              │        │               │            │          │
│ 1            │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_cputi │ generic.loc… │ PASS   │ False True    │ 0          │ 0.019699 │
│ me_unlimited │              │        │ False         │            │          │
│ /9133d8eb    │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_filel │ generic.loc… │ PASS   │ False True    │ 0          │ 0.016307 │
│ ock_unlimite │              │        │ False         │            │          │
│ d/de82d010   │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ systemd_defa │ generic.loc… │ FAIL   │ N/A N/A N/A   │ 1          │ 0.051473 │
│ ult_target/a │              │        │               │            │          │
│ 2607163      │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_stack │ generic.loc… │ FAIL   │ False False   │ 0          │ 0.015553 │
│ size_unlimit │              │        │ False         │            │          │
│ ed/9e084812  │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 9 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildt
est/checkouts/latest/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/logs/buildtest_n2c9_ffy.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 general_tests/configuration/ -b tutorials/vars.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:19                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build -b general_tests/configuration/ -b   │
│ tutorials/vars.yml                                                           │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  5
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  5
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 5
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/gene
ral_tests/configuration/systemd-default-target.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/gene
ral_tests/configuration/kernel_state.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/gene
ral_tests/configuration/ulimits.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/vars.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/gene
ral_tests/configuration/disk_usage.yml: VALID
Total builder objects created: 10
Total compiler builder: 0
Total script builder: 10
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ systemd_defaul │ generic.local. │ None     │ check if       │ /home/docs/che │
│ t_target/90df2 │ bash           │          │ default target │ ckouts/readthe │
│ 619            │                │          │ is multi-user. │ docs.org/user_ │
│                │                │          │ target         │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/systemd- │
│                │                │          │                │ default-target │
│                │                │          │                │ .yml           │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ kernel_swapusa │ generic.local. │ None     │ Retrieve       │ /home/docs/che │
│ ge/1fa80c6d    │ bash           │          │ Kernel Swap    │ ckouts/readthe │
│                │                │          │ Usage          │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/kernel_s │
│                │                │          │                │ tate.yml       │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ ulimit_fileloc │ generic.local. │ None     │ Check if file  │ /home/docs/che │
│ k_unlimited/ff │ bash           │          │ lock is set to │ ckouts/readthe │
│ a03864         │                │          │ unlimited in   │ docs.org/user_ │
│                │                │          │ ulimits        │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/ulimits. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ ulimit_cputime │ generic.local. │ None     │ Check if       │ /home/docs/che │
│ _unlimited/726 │ bash           │          │ cputime is set │ ckouts/readthe │
│ e1dec          │                │          │ to unlimited   │ docs.org/user_ │
│                │                │          │ in ulimits     │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/ulimits. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ ulimit_stacksi │ generic.local. │ None     │ Check if stack │ /home/docs/che │
│ ze_unlimited/2 │ bash           │          │ size is set to │ ckouts/readthe │
│ b65c0c5        │                │          │ unlimited in   │ docs.org/user_ │
│                │                │          │ ulimits        │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/ulimits. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ ulimit_vmsize_ │ generic.local. │ None     │ Check virtual  │ /home/docs/che │
│ unlimited/3921 │ bash           │          │ memory size    │ ckouts/readthe │
│ 6238           │                │          │ and check if   │ docs.org/user_ │
│                │                │          │ its set to     │ builds/buildte │
│                │                │          │ unlimited      │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/ulimits. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ ulimit_filedes │ generic.local. │ None     │ Check if open  │ /home/docs/che │
│ criptor_4096/e │ bash           │          │ file           │ ckouts/readthe │
│ db735db        │                │          │ descriptors    │ docs.org/user_ │
│                │                │          │ limit is set   │ builds/buildte │
│                │                │          │ to 4096        │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/ulimits. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ ulimit_max_use │ generic.local. │ None     │ Check max      │ /home/docs/che │
│ r_process_2048 │ bash           │          │ number of user │ ckouts/readthe │
│ /3817a882      │                │          │ process limit  │ docs.org/user_ │
│                │                │          │ is set to 2048 │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/ulimits. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ variables_bash │ generic.local. │ None     │ Declare shell  │ /home/docs/che │
│ /5e7c2542      │ bash           │          │ variables in   │ ckouts/readthe │
│                │                │          │ bash           │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/vars.yml     │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ root_disk_usag │ generic.local. │ None     │ Check root     │ /home/docs/che │
│ e/0b64c38b     │ bash           │          │ disk usage and │ ckouts/readthe │
│                │                │          │ report if it   │ docs.org/user_ │
│                │                │          │ exceeds        │ builds/buildte │
│                │                │          │ threshold      │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/disk_usa │
│                │                │          │                │ ge.yml         │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
systemd_default_target/90df2619: Creating test directory: /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/systemd-default-target/systemd_default_target/90df2619
systemd_default_target/90df2619: Creating the stage directory: /home/docs/checko
uts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.loc
al.bash/systemd-default-target/systemd_default_target/90df2619/stage
systemd_default_target/90df2619: Writing build script: /home/docs/checkouts/read
thedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/
systemd-default-target/systemd_default_target/90df2619/systemd_default_target_bu
ild.sh
kernel_swapusage/1fa80c6d: Creating test directory: /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ker
nel_state/kernel_swapusage/1fa80c6d
kernel_swapusage/1fa80c6d: Creating the stage directory: /home/docs/checkouts/re
adthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bas
h/kernel_state/kernel_swapusage/1fa80c6d/stage
kernel_swapusage/1fa80c6d: Writing build script: /home/docs/checkouts/readthedoc
s.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/kernel
_state/kernel_swapusage/1fa80c6d/kernel_swapusage_build.sh
ulimit_filelock_unlimited/ffa03864: Creating test directory: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.bash/ulimits/ulimit_filelock_unlimited/ffa03864
ulimit_filelock_unlimited/ffa03864: Creating the stage directory: /home/docs/che
ckouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.
local.bash/ulimits/ulimit_filelock_unlimited/ffa03864/stage
ulimit_filelock_unlimited/ffa03864: Writing build script: /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/ulimits/ulimit_filelock_unlimited/ffa03864/ulimit_filelock_unlimited_build.sh
ulimit_cputime_unlimited/726e1dec: Creating test directory: /home/docs/checkouts
/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.
bash/ulimits/ulimit_cputime_unlimited/726e1dec
ulimit_cputime_unlimited/726e1dec: Creating the stage directory: /home/docs/chec
kouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.l
ocal.bash/ulimits/ulimit_cputime_unlimited/726e1dec/stage
ulimit_cputime_unlimited/726e1dec: Writing build script: /home/docs/checkouts/re
adthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bas
h/ulimits/ulimit_cputime_unlimited/726e1dec/ulimit_cputime_unlimited_build.sh
ulimit_stacksize_unlimited/2b65c0c5: Creating test directory: /home/docs/checkou
ts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.loca
l.bash/ulimits/ulimit_stacksize_unlimited/2b65c0c5
ulimit_stacksize_unlimited/2b65c0c5: Creating the stage directory: /home/docs/ch
eckouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic
.local.bash/ulimits/ulimit_stacksize_unlimited/2b65c0c5/stage
ulimit_stacksize_unlimited/2b65c0c5: Writing build script: /home/docs/checkouts/
readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.b
ash/ulimits/ulimit_stacksize_unlimited/2b65c0c5/ulimit_stacksize_unlimited_build
.sh
ulimit_vmsize_unlimited/39216238: Creating test directory: /home/docs/checkouts/
readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.b
ash/ulimits/ulimit_vmsize_unlimited/39216238
ulimit_vmsize_unlimited/39216238: Creating the stage directory: /home/docs/check
outs/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.lo
cal.bash/ulimits/ulimit_vmsize_unlimited/39216238/stage
ulimit_vmsize_unlimited/39216238: Writing build script: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/ulimits/ulimit_vmsize_unlimited/39216238/ulimit_vmsize_unlimited_build.sh
ulimit_filedescriptor_4096/edb735db: Creating test directory: /home/docs/checkou
ts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.loca
l.bash/ulimits/ulimit_filedescriptor_4096/edb735db
ulimit_filedescriptor_4096/edb735db: Creating the stage directory: /home/docs/ch
eckouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic
.local.bash/ulimits/ulimit_filedescriptor_4096/edb735db/stage
ulimit_filedescriptor_4096/edb735db: Writing build script: /home/docs/checkouts/
readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.b
ash/ulimits/ulimit_filedescriptor_4096/edb735db/ulimit_filedescriptor_4096_build
.sh
ulimit_max_user_process_2048/3817a882: Creating test directory: /home/docs/check
outs/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.lo
cal.bash/ulimits/ulimit_max_user_process_2048/3817a882
ulimit_max_user_process_2048/3817a882: Creating the stage directory: /home/docs/
checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/gener
ic.local.bash/ulimits/ulimit_max_user_process_2048/3817a882/stage
ulimit_max_user_process_2048/3817a882: Writing build script: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.bash/ulimits/ulimit_max_user_process_2048/3817a882/ulimit_max_user_process_2048
_build.sh
variables_bash/5e7c2542: Creating test directory: /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/
variables_bash/5e7c2542
variables_bash/5e7c2542: Creating the stage directory: /home/docs/checkouts/read
thedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/
vars/variables_bash/5e7c2542/stage
variables_bash/5e7c2542: Writing build script: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/var
iables_bash/5e7c2542/variables_bash_build.sh
root_disk_usage/0b64c38b: Creating test directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/disk
_usage/root_disk_usage/0b64c38b
root_disk_usage/0b64c38b: Creating the stage directory: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/disk_usage/root_disk_usage/0b64c38b/stage
root_disk_usage/0b64c38b: Writing build script: /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/disk_us
age/root_disk_usage/0b64c38b/root_disk_usage_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 2 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
root_disk_usage/0b64c38b does not have any dependencies adding test to queue
kernel_swapusage/1fa80c6d does not have any dependencies adding test to queue
systemd_default_target/90df2619 does not have any dependencies adding test to 
queue
ulimit_vmsize_unlimited/39216238 does not have any dependencies adding test to 
queue
ulimit_stacksize_unlimited/2b65c0c5 does not have any dependencies adding test 
to queue
ulimit_filedescriptor_4096/edb735db does not have any dependencies adding test 
to queue
ulimit_cputime_unlimited/726e1dec does not have any dependencies adding test to 
queue
ulimit_max_user_process_2048/3817a882 does not have any dependencies adding test
to queue
ulimit_filelock_unlimited/ffa03864 does not have any dependencies adding test to
queue
variables_bash/5e7c2542 does not have any dependencies adding test to queue
systemd_default_target/90df2619: Running Test via command: bash --norc 
--noprofile -eo pipefail systemd_default_target_build.sh
root_disk_usage/0b64c38b: Running Test via command: bash --norc --noprofile -eo 
pipefail root_disk_usage_build.sh
root_disk_usage/0b64c38b: Test completed in 0.037756 seconds
systemd_default_target/90df2619: Test completed in 0.038434 seconds
root_disk_usage/0b64c38b: Test completed with returncode: 0
systemd_default_target/90df2619: Test completed with returncode: 1
root_disk_usage/0b64c38b: Writing output file -  /home/docs/checkouts/readthedoc
s.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/disk_u
sage/root_disk_usage/0b64c38b/root_disk_usage.out
systemd_default_target/90df2619: Writing output file -  /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/systemd-default-target/systemd_default_target/90df2619/systemd_default_target.o
ut
root_disk_usage/0b64c38b: Writing error file - /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/disk_usa
ge/root_disk_usage/0b64c38b/root_disk_usage.err
systemd_default_target/90df2619: Writing error file - /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/s
ystemd-default-target/systemd_default_target/90df2619/systemd_default_target.err
kernel_swapusage/1fa80c6d: Running Test via command: bash --norc --noprofile -eo
pipefail kernel_swapusage_build.sh
ulimit_vmsize_unlimited/39216238: Running Test via command: bash --norc 
--noprofile -eo pipefail ulimit_vmsize_unlimited_build.sh
ulimit_vmsize_unlimited/39216238: Test completed in 0.007507 seconds
ulimit_vmsize_unlimited/39216238: Test completed with returncode: 0
ulimit_vmsize_unlimited/39216238: Writing output file -  /home/docs/checkouts/re
adthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bas
h/ulimits/ulimit_vmsize_unlimited/39216238/ulimit_vmsize_unlimited.out
ulimit_vmsize_unlimited/39216238: Writing error file - /home/docs/checkouts/read
thedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/
ulimits/ulimit_vmsize_unlimited/39216238/ulimit_vmsize_unlimited.err
ulimit_vmsize_unlimited/39216238: performing regular expression - '^unlimited$' 
on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/la
test/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/39216238/ulimi
t_vmsize_unlimited.out
ulimit_vmsize_unlimited/39216238: Regular Expression Match - Success!
kernel_swapusage/1fa80c6d: Test completed in 0.025193 seconds
kernel_swapusage/1fa80c6d: Test completed with returncode: 255
kernel_swapusage/1fa80c6d: Writing output file -  /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/kerne
l_state/kernel_swapusage/1fa80c6d/kernel_swapusage.out
kernel_swapusage/1fa80c6d: Writing error file - /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/kernel_
state/kernel_swapusage/1fa80c6d/kernel_swapusage.err
ulimit_stacksize_unlimited/2b65c0c5: Running Test via command: bash --norc 
--noprofile -eo pipefail ulimit_stacksize_unlimited_build.sh
ulimit_filedescriptor_4096/edb735db: Running Test via command: bash --norc 
--noprofile -eo pipefail ulimit_filedescriptor_4096_build.sh
ulimit_stacksize_unlimited/2b65c0c5: Test completed in 0.016601 seconds
ulimit_stacksize_unlimited/2b65c0c5: Test completed with returncode: 0
ulimit_stacksize_unlimited/2b65c0c5: Writing output file -  /home/docs/checkouts
/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.
bash/ulimits/ulimit_stacksize_unlimited/2b65c0c5/ulimit_stacksize_unlimited.out
ulimit_stacksize_unlimited/2b65c0c5: Writing error file - /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/ulimits/ulimit_stacksize_unlimited/2b65c0c5/ulimit_stacksize_unlimited.err
ulimit_stacksize_unlimited/2b65c0c5: performing regular expression - 
'^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtes
t/checkouts/latest/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimit
ed/2b65c0c5/ulimit_stacksize_unlimited.out
ulimit_stacksize_unlimited/2b65c0c5: Regular Expression Match - Failed!
ulimit_filedescriptor_4096/edb735db: Test completed in 0.025534 seconds
ulimit_cputime_unlimited/726e1dec: Running Test via command: bash --norc 
--noprofile -eo pipefail ulimit_cputime_unlimited_build.sh
ulimit_filedescriptor_4096/edb735db: Test completed with returncode: 0
ulimit_filedescriptor_4096/edb735db: Writing output file -  /home/docs/checkouts
/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.
bash/ulimits/ulimit_filedescriptor_4096/edb735db/ulimit_filedescriptor_4096.out
ulimit_filedescriptor_4096/edb735db: Writing error file - /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/ulimits/ulimit_filedescriptor_4096/edb735db/ulimit_filedescriptor_4096.err
ulimit_filedescriptor_4096/edb735db: performing regular expression - '^4096$' on
file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/lates
t/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/edb735db/ulimi
t_filedescriptor_4096.out
ulimit_filedescriptor_4096/edb735db: Regular Expression Match - Failed!
ulimit_max_user_process_2048/3817a882: Running Test via command: bash --norc 
--noprofile -eo pipefail ulimit_max_user_process_2048_build.sh
ulimit_cputime_unlimited/726e1dec: Test completed in 0.021078 seconds
ulimit_cputime_unlimited/726e1dec: Test completed with returncode: 0
ulimit_cputime_unlimited/726e1dec: Writing output file -  /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/ulimits/ulimit_cputime_unlimited/726e1dec/ulimit_cputime_unlimited.out
ulimit_cputime_unlimited/726e1dec: Writing error file - /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/ulimits/ulimit_cputime_unlimited/726e1dec/ulimit_cputime_unlimited.err
ulimit_cputime_unlimited/726e1dec: performing regular expression - '^unlimited$'
on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/la
test/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/726e1dec/ulim
it_cputime_unlimited.out
ulimit_cputime_unlimited/726e1dec: Regular Expression Match - Success!
ulimit_max_user_process_2048/3817a882: Test completed in 0.022242 seconds
ulimit_max_user_process_2048/3817a882: Test completed with returncode: 0
ulimit_max_user_process_2048/3817a882: Writing output file -  /home/docs/checkou
ts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.loca
l.bash/ulimits/ulimit_max_user_process_2048/3817a882/ulimit_max_user_process_204
8.out
ulimit_max_user_process_2048/3817a882: Writing error file - /home/docs/checkouts
/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.
bash/ulimits/ulimit_max_user_process_2048/3817a882/ulimit_max_user_process_2048.
err
ulimit_max_user_process_2048/3817a882: performing regular expression - '^2048$' 
on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/la
test/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/3817a882/
ulimit_max_user_process_2048.out
ulimit_max_user_process_2048/3817a882: Regular Expression Match - Failed!
ulimit_filelock_unlimited/ffa03864: Running Test via command: bash --norc 
--noprofile -eo pipefail ulimit_filelock_unlimited_build.sh
variables_bash/5e7c2542: Running Test via command: bash --norc --noprofile -eo 
pipefail variables_bash_build.sh
ulimit_filelock_unlimited/ffa03864: Test completed in 0.019529 seconds
ulimit_filelock_unlimited/ffa03864: Test completed with returncode: 0
ulimit_filelock_unlimited/ffa03864: Writing output file -  /home/docs/checkouts/
readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.b
ash/ulimits/ulimit_filelock_unlimited/ffa03864/ulimit_filelock_unlimited.out
ulimit_filelock_unlimited/ffa03864: Writing error file - /home/docs/checkouts/re
adthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bas
h/ulimits/ulimit_filelock_unlimited/ffa03864/ulimit_filelock_unlimited.err
ulimit_filelock_unlimited/ffa03864: performing regular expression - 
'^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtes
t/checkouts/latest/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimite
d/ffa03864/ulimit_filelock_unlimited.out
ulimit_filelock_unlimited/ffa03864: Regular Expression Match - Success!
variables_bash/5e7c2542: Test completed in 0.029173 seconds
variables_bash/5e7c2542: Test completed with returncode: 0
variables_bash/5e7c2542: Writing output file -  /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/va
riables_bash/5e7c2542/variables_bash.out
variables_bash/5e7c2542: Writing error file - /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/vari
ables_bash/5e7c2542/variables_bash.err
In this iteration we are going to run the following tests: [root_disk_usage/0b64c38b, systemd_default_target/90df2619, kernel_swapusage/1fa80c6d, ulimit_vmsize_unlimited/39216238, ulimit_stacksize_unlimited/2b65c0c5, ulimit_filedescriptor_4096/edb735db, ulimit_cputime_unlimited/726e1dec, ulimit_max_user_process_2048/3817a882, ulimit_filelock_unlimited/ffa03864, variables_bash/5e7c2542]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ Checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ Builder      ┃ executor     ┃ status ┃ Runtime)      ┃ ReturnCode ┃ Runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ ulimit_cputi │ generic.loc… │ PASS   │ False True    │ 0          │ 0.021078 │
│ me_unlimited │              │        │ False         │            │          │
│ /726e1dec    │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ variables_ba │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.029173 │
│ sh/5e7c2542  │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_filel │ generic.loc… │ PASS   │ False True    │ 0          │ 0.019529 │
│ ock_unlimite │              │        │ False         │            │          │
│ d/ffa03864   │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_stack │ generic.loc… │ FAIL   │ False False   │ 0          │ 0.016601 │
│ size_unlimit │              │        │ False         │            │          │
│ ed/2b65c0c5  │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ root_disk_us │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.037756 │
│ age/0b64c38b │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_max_u │ generic.loc… │ FAIL   │ False False   │ 0          │ 0.022242 │
│ ser_process_ │              │        │ False         │            │          │
│ 2048/3817a88 │              │        │               │            │          │
│ 2            │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_vmsiz │ generic.loc… │ PASS   │ False True    │ 0          │ 0.007507 │
│ e_unlimited/ │              │        │ False         │            │          │
│ 39216238     │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ systemd_defa │ generic.loc… │ FAIL   │ N/A N/A N/A   │ 1          │ 0.038434 │
│ ult_target/9 │              │        │               │            │          │
│ 0df2619      │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_filed │ generic.loc… │ FAIL   │ False False   │ 0          │ 0.025534 │
│ escriptor_40 │              │        │ False         │            │          │
│ 96/edb735db  │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ kernel_swapu │ generic.loc… │ FAIL   │ N/A N/A N/A   │ 255        │ 0.025193 │
│ sage/1fa80c6 │              │        │               │            │          │
│ d            │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 10 test results to /home/docs/checkouts/readthedocs.org/user_builds/build
test/checkouts/latest/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/logs/buildtest_wjiw5q7j.log

Excluding Buildspecs

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 summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:20                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest bd -b tutorials/ -x tutorials/             │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
There are no 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 summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:20                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest bd -b general_tests/configuration/ -x      │
│ general_tests/configuration/ulimits.yml                                      │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  4
Excluded Buildspecs:  1
Detected Buildspecs after exclusion:  3
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                              Excluded buildspecs                               
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 3
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/gene
ral_tests/configuration/disk_usage.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/gene
ral_tests/configuration/kernel_state.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/gene
ral_tests/configuration/systemd-default-target.yml: VALID
Total builder objects created: 3
Total compiler builder: 0
Total script builder: 3
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ root_disk_usag │ generic.local. │ None     │ Check root     │ /home/docs/che │
│ e/495a9d52     │ bash           │          │ disk usage and │ ckouts/readthe │
│                │                │          │ report if it   │ docs.org/user_ │
│                │                │          │ exceeds        │ builds/buildte │
│                │                │          │ threshold      │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/disk_usa │
│                │                │          │                │ ge.yml         │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ kernel_swapusa │ generic.local. │ None     │ Retrieve       │ /home/docs/che │
│ ge/657b3293    │ bash           │          │ Kernel Swap    │ ckouts/readthe │
│                │                │          │ Usage          │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/kernel_s │
│                │                │          │                │ tate.yml       │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ systemd_defaul │ generic.local. │ None     │ check if       │ /home/docs/che │
│ t_target/438ed │ bash           │          │ default target │ ckouts/readthe │
│ 7e5            │                │          │ is multi-user. │ docs.org/user_ │
│                │                │          │ target         │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/general_ │
│                │                │          │                │ tests/configur │
│                │                │          │                │ ation/systemd- │
│                │                │          │                │ default-target │
│                │                │          │                │ .yml           │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
root_disk_usage/495a9d52: Creating test directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/disk
_usage/root_disk_usage/495a9d52
root_disk_usage/495a9d52: Creating the stage directory: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/disk_usage/root_disk_usage/495a9d52/stage
root_disk_usage/495a9d52: Writing build script: /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/disk_us
age/root_disk_usage/495a9d52/root_disk_usage_build.sh
kernel_swapusage/657b3293: Creating test directory: /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ker
nel_state/kernel_swapusage/657b3293
kernel_swapusage/657b3293: Creating the stage directory: /home/docs/checkouts/re
adthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bas
h/kernel_state/kernel_swapusage/657b3293/stage
kernel_swapusage/657b3293: Writing build script: /home/docs/checkouts/readthedoc
s.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/kernel
_state/kernel_swapusage/657b3293/kernel_swapusage_build.sh
systemd_default_target/438ed7e5: Creating test directory: /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/systemd-default-target/systemd_default_target/438ed7e5
systemd_default_target/438ed7e5: Creating the stage directory: /home/docs/checko
uts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.loc
al.bash/systemd-default-target/systemd_default_target/438ed7e5/stage
systemd_default_target/438ed7e5: Writing build script: /home/docs/checkouts/read
thedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/
systemd-default-target/systemd_default_target/438ed7e5/systemd_default_target_bu
ild.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 2 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
root_disk_usage/495a9d52 does not have any dependencies adding test to queue
kernel_swapusage/657b3293 does not have any dependencies adding test to queue
systemd_default_target/438ed7e5 does not have any dependencies adding test to 
queue
root_disk_usage/495a9d52: Running Test via command: bash --norc --noprofile -eo 
pipefail root_disk_usage_build.sh
kernel_swapusage/657b3293: Running Test via command: bash --norc --noprofile -eo
pipefail kernel_swapusage_build.sh
kernel_swapusage/657b3293: Test completed in 0.027 seconds
kernel_swapusage/657b3293: Test completed with returncode: 255
kernel_swapusage/657b3293: Writing output file -  /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/kerne
l_state/kernel_swapusage/657b3293/kernel_swapusage.out
kernel_swapusage/657b3293: Writing error file - /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/kernel_
state/kernel_swapusage/657b3293/kernel_swapusage.err
root_disk_usage/495a9d52: Test completed in 0.041503 seconds
root_disk_usage/495a9d52: Test completed with returncode: 0
root_disk_usage/495a9d52: Writing output file -  /home/docs/checkouts/readthedoc
s.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/disk_u
sage/root_disk_usage/495a9d52/root_disk_usage.out
root_disk_usage/495a9d52: Writing error file - /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/disk_usa
ge/root_disk_usage/495a9d52/root_disk_usage.err
systemd_default_target/438ed7e5: Running Test via command: bash --norc 
--noprofile -eo pipefail systemd_default_target_build.sh
systemd_default_target/438ed7e5: Test completed in 0.009813 seconds
systemd_default_target/438ed7e5: Test completed with returncode: 1
systemd_default_target/438ed7e5: Writing output file -  /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/systemd-default-target/systemd_default_target/438ed7e5/systemd_default_target.o
ut
systemd_default_target/438ed7e5: Writing error file - /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/s
ystemd-default-target/systemd_default_target/438ed7e5/systemd_default_target.err
In this iteration we are going to run the following tests: [root_disk_usage/495a9d52, kernel_swapusage/657b3293, systemd_default_target/438ed7e5]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ Checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ Builder      ┃ executor     ┃ status ┃ Runtime)      ┃ ReturnCode ┃ Runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ root_disk_us │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.041503 │
│ age/495a9d52 │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ kernel_swapu │ generic.loc… │ FAIL   │ N/A N/A N/A   │ 255        │ 0.027    │
│ sage/657b329 │              │        │               │            │          │
│ 3            │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ systemd_defa │ generic.loc… │ FAIL   │ N/A N/A N/A   │ 1          │ 0.009813 │
│ ult_target/4 │              │        │               │            │          │
│ 38ed7e5      │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 3 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildt
est/checkouts/latest/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/logs/buildtest_38w6y722.log

Building By 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 summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:21                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build -t network                           │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  1
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                           Buildspecs By Tag=network                            
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/lates… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/tags_example.yml: VALID
Total builder objects created: 2
Total compiler builder: 0
Total script builder: 2
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ string_tag/c18 │ generic.local. │ None     │ tags can be a  │ /home/docs/che │
│ 20c9e          │ bash           │          │ string         │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/tags_example │
│                │                │          │                │ .yml           │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ list_of_string │ generic.local. │ None     │ tags can be a  │ /home/docs/che │
│ s_tags/27e9ff3 │ bash           │          │ list of        │ ckouts/readthe │
│ 2              │                │          │ strings        │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/tags_example │
│                │                │          │                │ .yml           │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
string_tag/c1820c9e: Creating test directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/tags_exam
ple/string_tag/c1820c9e
string_tag/c1820c9e: Creating the stage directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/tags
_example/string_tag/c1820c9e/stage
string_tag/c1820c9e: Writing build script: /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/tags_example
/string_tag/c1820c9e/string_tag_build.sh
list_of_strings_tags/27e9ff32: Creating test directory: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/tags_example/list_of_strings_tags/27e9ff32
list_of_strings_tags/27e9ff32: Creating the stage directory: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.bash/tags_example/list_of_strings_tags/27e9ff32/stage
list_of_strings_tags/27e9ff32: Writing build script: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ta
gs_example/list_of_strings_tags/27e9ff32/list_of_strings_tags_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 2 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
list_of_strings_tags/27e9ff32 does not have any dependencies adding test to 
queue
string_tag/c1820c9e does not have any dependencies adding test to queue
list_of_strings_tags/27e9ff32: Running Test via command: bash --norc --noprofile
-eo pipefail list_of_strings_tags_build.sh
string_tag/c1820c9e: Running Test via command: bash --norc --noprofile -eo 
pipefail string_tag_build.sh
string_tag/c1820c9e: Test completed in 0.041645 seconds
string_tag/c1820c9e: Test completed with returncode: 0
string_tag/c1820c9e: Writing output file -  /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/tags_exampl
e/string_tag/c1820c9e/string_tag.out
string_tag/c1820c9e: Writing error file - /home/docs/checkouts/readthedocs.org/u
ser_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/tags_example/
string_tag/c1820c9e/string_tag.err
list_of_strings_tags/27e9ff32: Test completed in 3.062674 seconds
list_of_strings_tags/27e9ff32: Test completed with returncode: 0
list_of_strings_tags/27e9ff32: Writing output file -  /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/t
ags_example/list_of_strings_tags/27e9ff32/list_of_strings_tags.out
list_of_strings_tags/27e9ff32: Writing error file - /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/tag
s_example/list_of_strings_tags/27e9ff32/list_of_strings_tags.err
In this iteration we are going to run the following tests: [list_of_strings_tags/27e9ff32, string_tag/c1820c9e]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ Checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ Builder      ┃ executor     ┃ status ┃ Runtime)      ┃ ReturnCode ┃ Runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ list_of_stri │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 3.062674 │
│ ngs_tags/27e │              │        │               │            │          │
│ 9ff32        │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ string_tag/c │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.041645 │
│ 1820c9e      │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 2 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildt
est/checkouts/latest/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/logs/buildtest_z0ow7ek9.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 summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:24                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build -t python -t pass                    │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  3
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  3
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                            Buildspecs By Tag=python                            
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/lates… ║
║  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/lates… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                             Buildspecs By Tag=pass                             
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/lates… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 3
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/python-shell.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/python-hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/pass_returncode.yml: VALID
Total builder objects created: 6
Total compiler builder: 0
Total script builder: 6
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ circle_area/2c │ generic.local. │ None     │ Calculate      │ /home/docs/che │
│ f69ef1         │ bash           │          │ circle of area │ ckouts/readthe │
│                │                │          │ given a radius │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/python-shell │
│                │                │          │                │ .yml           │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ python_hello/c │ generic.local. │ None     │ Hello World    │ /home/docs/che │
│ 040d6fc        │ bash           │          │ python         │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/python-hello │
│                │                │          │                │ .yml           │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ exit1_fail/7f7 │ generic.local. │ None     │ exit 1 by      │ /home/docs/che │
│ b63ff          │ bash           │          │ default is     │ ckouts/readthe │
│                │                │          │ FAIL           │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ exit1_pass/bd4 │ generic.local. │ None     │ report exit 1  │ /home/docs/che │
│ 9548f          │ bash           │          │ as PASS        │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ returncode_lis │ generic.local. │ None     │ exit 2 failed  │ /home/docs/che │
│ t_mismatch/94e │ bash           │          │ since it       │ ckouts/readthe │
│ bb719          │                │          │ failed to      │ docs.org/user_ │
│                │                │          │ match          │ builds/buildte │
│                │                │          │ returncode 1   │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ returncode_int │ generic.local. │ None     │ exit 128       │ /home/docs/che │
│ _match/840d2a5 │ bash           │          │ matches        │ ckouts/readthe │
│ 8              │                │          │ returncode 128 │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
circle_area/2cf69ef1: Creating test directory: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-s
hell/circle_area/2cf69ef1
circle_area/2cf69ef1: Creating the stage directory: /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pyt
hon-shell/circle_area/2cf69ef1/stage
circle_area/2cf69ef1: Writing build script: /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-shel
l/circle_area/2cf69ef1/circle_area_build.sh
python_hello/c040d6fc: Creating test directory: /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-
hello/python_hello/c040d6fc
python_hello/c040d6fc: Creating the stage directory: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/py
thon-hello/python_hello/c040d6fc/stage
python_hello/c040d6fc: Writing build script: /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-hel
lo/python_hello/c040d6fc/python_hello_build.sh
exit1_fail/7f7b63ff: Creating test directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_retu
rncode/exit1_fail/7f7b63ff
exit1_fail/7f7b63ff: Creating the stage directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass
_returncode/exit1_fail/7f7b63ff/stage
exit1_fail/7f7b63ff: Writing build script: /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnc
ode/exit1_fail/7f7b63ff/exit1_fail_build.sh
exit1_pass/bd49548f: Creating test directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_retu
rncode/exit1_pass/bd49548f
exit1_pass/bd49548f: Creating the stage directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass
_returncode/exit1_pass/bd49548f/stage
exit1_pass/bd49548f: Writing build script: /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnc
ode/exit1_pass/bd49548f/exit1_pass_build.sh
returncode_list_mismatch/94ebb719: Creating test directory: /home/docs/checkouts
/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.
bash/pass_returncode/returncode_list_mismatch/94ebb719
returncode_list_mismatch/94ebb719: Creating the stage directory: /home/docs/chec
kouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.l
ocal.bash/pass_returncode/returncode_list_mismatch/94ebb719/stage
returncode_list_mismatch/94ebb719: Writing build script: /home/docs/checkouts/re
adthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bas
h/pass_returncode/returncode_list_mismatch/94ebb719/returncode_list_mismatch_bui
ld.sh
returncode_int_match/840d2a58: Creating test directory: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/pass_returncode/returncode_int_match/840d2a58
returncode_int_match/840d2a58: Creating the stage directory: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.bash/pass_returncode/returncode_int_match/840d2a58/stage
returncode_int_match/840d2a58: Writing build script: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pa
ss_returncode/returncode_int_match/840d2a58/returncode_int_match_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 2 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
returncode_list_mismatch/94ebb719 does not have any dependencies adding test to 
queue
exit1_fail/7f7b63ff does not have any dependencies adding test to queue
python_hello/c040d6fc does not have any dependencies adding test to queue
returncode_int_match/840d2a58 does not have any dependencies adding test to 
queue
exit1_pass/bd49548f does not have any dependencies adding test to queue
circle_area/2cf69ef1 does not have any dependencies adding test to queue
exit1_fail/7f7b63ff: Running Test via command: bash --norc --noprofile -eo 
pipefail exit1_fail_build.sh
returncode_list_mismatch/94ebb719: Running Test via command: bash --norc 
--noprofile -eo pipefail returncode_list_mismatch_build.sh
returncode_list_mismatch/94ebb719: Test completed in 0.019544 seconds
exit1_fail/7f7b63ff: Test completed in 0.019501 seconds
returncode_list_mismatch/94ebb719: Test completed with returncode: 2
exit1_fail/7f7b63ff: Test completed with returncode: 1
exit1_fail/7f7b63ff: Writing output file -  /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_return
code/exit1_fail/7f7b63ff/exit1_fail.out
returncode_list_mismatch/94ebb719: Writing output file -  /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/pass_returncode/returncode_list_mismatch/94ebb719/returncode_list_mismatch.ou
t
returncode_list_mismatch/94ebb719: Writing error file - /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/pass_returncode/returncode_list_mismatch/94ebb719/returncode_list_mismatch.err
exit1_fail/7f7b63ff: Writing error file - /home/docs/checkouts/readthedocs.org/u
ser_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnco
de/exit1_fail/7f7b63ff/exit1_fail.err
returncode_list_mismatch/94ebb719: Checking returncode - 2 is matched in list 
[1, 3]
returncode_int_match/840d2a58: Running Test via command: bash --norc --noprofile
-eo pipefail returncode_int_match_build.sh
python_hello/c040d6fc: Running Test via command: bash --norc --noprofile -eo 
pipefail python_hello_build.sh
returncode_int_match/840d2a58: Test completed in 0.020571 seconds
returncode_int_match/840d2a58: Test completed with returncode: 128
returncode_int_match/840d2a58: Writing output file -  /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/p
ass_returncode/returncode_int_match/840d2a58/returncode_int_match.out
returncode_int_match/840d2a58: Writing error file - /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pas
s_returncode/returncode_int_match/840d2a58/returncode_int_match.err
returncode_int_match/840d2a58: Checking returncode - 128 is matched in list 
[128]
exit1_pass/bd49548f: Running Test via command: bash --norc --noprofile -eo 
pipefail exit1_pass_build.sh
exit1_pass/bd49548f: Test completed in 0.019724 seconds
exit1_pass/bd49548f: Test completed with returncode: 1
exit1_pass/bd49548f: Writing output file -  /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_return
code/exit1_pass/bd49548f/exit1_pass.out
exit1_pass/bd49548f: Writing error file - /home/docs/checkouts/readthedocs.org/u
ser_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnco
de/exit1_pass/bd49548f/exit1_pass.err
exit1_pass/bd49548f: Checking returncode - 1 is matched in list [1]
python_hello/c040d6fc: Test completed in 0.093157 seconds
python_hello/c040d6fc: Test completed with returncode: 0
python_hello/c040d6fc: Writing output file -  /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-he
llo/python_hello/c040d6fc/python_hello.out
python_hello/c040d6fc: Writing error file - /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-hell
o/python_hello/c040d6fc/python_hello.err
circle_area/2cf69ef1: Running Test via command: bash --norc --noprofile -eo 
pipefail circle_area_build.sh
circle_area/2cf69ef1: Test completed in 0.045319 seconds
circle_area/2cf69ef1: Test completed with returncode: 0
circle_area/2cf69ef1: Writing output file -  /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-she
ll/circle_area/2cf69ef1/circle_area.out
circle_area/2cf69ef1: Writing error file - /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-shell
/circle_area/2cf69ef1/circle_area.err
In this iteration we are going to run the following tests: [returncode_list_mismatch/94ebb719, exit1_fail/7f7b63ff, returncode_int_match/840d2a58, python_hello/c040d6fc, exit1_pass/bd49548f, circle_area/2cf69ef1]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ Checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ Builder      ┃ executor     ┃ status ┃ Runtime)      ┃ ReturnCode ┃ Runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ exit1_pass/b │ generic.loc… │ PASS   │ True False    │ 1          │ 0.019724 │
│ d49548f      │              │        │ False         │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ returncode_i │ generic.loc… │ PASS   │ True False    │ 128        │ 0.020571 │
│ nt_match/840 │              │        │ False         │            │          │
│ d2a58        │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ circle_area/ │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.045319 │
│ 2cf69ef1     │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ python_hello │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.093157 │
│ /c040d6fc    │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ returncode_l │ generic.loc… │ FAIL   │ False False   │ 2          │ 0.019544 │
│ ist_mismatch │              │        │ False         │            │          │
│ /94ebb719    │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_fail/7 │ generic.loc… │ FAIL   │ N/A N/A N/A   │ 1          │ 0.019501 │
│ f7b63ff      │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 6 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildt
est/checkouts/latest/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/logs/buildtest_qerl6mv5.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 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 summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:25                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build --tags pass --buildspec              │
│ tutorials/python-hello.yml                                                   │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  2
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  2
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                             Buildspecs By Tag=pass                             
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/lates… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/python-hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/pass_returncode.yml: VALID
Total builder objects created: 5
Total compiler builder: 0
Total script builder: 5
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ python_hello/4 │ generic.local. │ None     │ Hello World    │ /home/docs/che │
│ 8f58bcb        │ bash           │          │ python         │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/python-hello │
│                │                │          │                │ .yml           │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ exit1_fail/ff7 │ generic.local. │ None     │ exit 1 by      │ /home/docs/che │
│ afaf0          │ bash           │          │ default is     │ ckouts/readthe │
│                │                │          │ FAIL           │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ exit1_pass/297 │ generic.local. │ None     │ report exit 1  │ /home/docs/che │
│ 04e41          │ bash           │          │ as PASS        │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ returncode_lis │ generic.local. │ None     │ exit 2 failed  │ /home/docs/che │
│ t_mismatch/d16 │ bash           │          │ since it       │ ckouts/readthe │
│ e74f5          │                │          │ failed to      │ docs.org/user_ │
│                │                │          │ match          │ builds/buildte │
│                │                │          │ returncode 1   │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ returncode_int │ generic.local. │ None     │ exit 128       │ /home/docs/che │
│ _match/092e5ae │ bash           │          │ matches        │ ckouts/readthe │
│ 6              │                │          │ returncode 128 │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
python_hello/48f58bcb: Creating test directory: /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-
hello/python_hello/48f58bcb
python_hello/48f58bcb: Creating the stage directory: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/py
thon-hello/python_hello/48f58bcb/stage
python_hello/48f58bcb: Writing build script: /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-hel
lo/python_hello/48f58bcb/python_hello_build.sh
exit1_fail/ff7afaf0: Creating test directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_retu
rncode/exit1_fail/ff7afaf0
exit1_fail/ff7afaf0: Creating the stage directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass
_returncode/exit1_fail/ff7afaf0/stage
exit1_fail/ff7afaf0: Writing build script: /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnc
ode/exit1_fail/ff7afaf0/exit1_fail_build.sh
exit1_pass/29704e41: Creating test directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_retu
rncode/exit1_pass/29704e41
exit1_pass/29704e41: Creating the stage directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass
_returncode/exit1_pass/29704e41/stage
exit1_pass/29704e41: Writing build script: /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnc
ode/exit1_pass/29704e41/exit1_pass_build.sh
returncode_list_mismatch/d16e74f5: Creating test directory: /home/docs/checkouts
/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.
bash/pass_returncode/returncode_list_mismatch/d16e74f5
returncode_list_mismatch/d16e74f5: Creating the stage directory: /home/docs/chec
kouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.l
ocal.bash/pass_returncode/returncode_list_mismatch/d16e74f5/stage
returncode_list_mismatch/d16e74f5: Writing build script: /home/docs/checkouts/re
adthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bas
h/pass_returncode/returncode_list_mismatch/d16e74f5/returncode_list_mismatch_bui
ld.sh
returncode_int_match/092e5ae6: Creating test directory: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/pass_returncode/returncode_int_match/092e5ae6
returncode_int_match/092e5ae6: Creating the stage directory: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.bash/pass_returncode/returncode_int_match/092e5ae6/stage
returncode_int_match/092e5ae6: Writing build script: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pa
ss_returncode/returncode_int_match/092e5ae6/returncode_int_match_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 2 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
exit1_pass/29704e41 does not have any dependencies adding test to queue
returncode_list_mismatch/d16e74f5 does not have any dependencies adding test to 
queue
returncode_int_match/092e5ae6 does not have any dependencies adding test to 
queue
python_hello/48f58bcb does not have any dependencies adding test to queue
exit1_fail/ff7afaf0 does not have any dependencies adding test to queue
exit1_pass/29704e41: Running Test via command: bash --norc --noprofile -eo 
pipefail exit1_pass_build.sh
python_hello/48f58bcb: Running Test via command: bash --norc --noprofile -eo 
pipefail python_hello_build.sh
exit1_pass/29704e41: Test completed in 0.028927 seconds
exit1_pass/29704e41: Test completed with returncode: 1
exit1_pass/29704e41: Writing output file -  /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_return
code/exit1_pass/29704e41/exit1_pass.out
exit1_pass/29704e41: Writing error file - /home/docs/checkouts/readthedocs.org/u
ser_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnco
de/exit1_pass/29704e41/exit1_pass.err
exit1_pass/29704e41: Checking returncode - 1 is matched in list [1]
returncode_int_match/092e5ae6: Running Test via command: bash --norc --noprofile
-eo pipefail returncode_int_match_build.sh
returncode_int_match/092e5ae6: Test completed in 0.039737 seconds
returncode_int_match/092e5ae6: Test completed with returncode: 128
returncode_int_match/092e5ae6: Writing output file -  /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/p
ass_returncode/returncode_int_match/092e5ae6/returncode_int_match.out
returncode_int_match/092e5ae6: Writing error file - /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pas
s_returncode/returncode_int_match/092e5ae6/returncode_int_match.err
returncode_int_match/092e5ae6: Checking returncode - 128 is matched in list 
[128]
python_hello/48f58bcb: Test completed in 0.112736 seconds
python_hello/48f58bcb: Test completed with returncode: 0
python_hello/48f58bcb: Writing output file -  /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-he
llo/python_hello/48f58bcb/python_hello.out
returncode_list_mismatch/d16e74f5: Running Test via command: bash --norc 
--noprofile -eo pipefail returncode_list_mismatch_build.sh
python_hello/48f58bcb: Writing error file - /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-hell
o/python_hello/48f58bcb/python_hello.err
exit1_fail/ff7afaf0: Running Test via command: bash --norc --noprofile -eo 
pipefail exit1_fail_build.sh
returncode_list_mismatch/d16e74f5: Test completed in 0.015561 seconds
returncode_list_mismatch/d16e74f5: Test completed with returncode: 2
returncode_list_mismatch/d16e74f5: Writing output file -  /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/pass_returncode/returncode_list_mismatch/d16e74f5/returncode_list_mismatch.ou
t
returncode_list_mismatch/d16e74f5: Writing error file - /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/pass_returncode/returncode_list_mismatch/d16e74f5/returncode_list_mismatch.err
returncode_list_mismatch/d16e74f5: Checking returncode - 2 is matched in list 
[1, 3]
exit1_fail/ff7afaf0: Test completed in 0.013588 seconds
exit1_fail/ff7afaf0: Test completed with returncode: 1
exit1_fail/ff7afaf0: Writing output file -  /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_return
code/exit1_fail/ff7afaf0/exit1_fail.out
exit1_fail/ff7afaf0: Writing error file - /home/docs/checkouts/readthedocs.org/u
ser_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnco
de/exit1_fail/ff7afaf0/exit1_fail.err
In this iteration we are going to run the following tests: [exit1_pass/29704e41, python_hello/48f58bcb, returncode_int_match/092e5ae6, returncode_list_mismatch/d16e74f5, exit1_fail/ff7afaf0]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ Checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ Builder      ┃ executor     ┃ status ┃ Runtime)      ┃ ReturnCode ┃ Runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ returncode_l │ generic.loc… │ FAIL   │ False False   │ 2          │ 0.015561 │
│ ist_mismatch │              │        │ False         │            │          │
│ /d16e74f5    │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_pass/2 │ generic.loc… │ PASS   │ True False    │ 1          │ 0.028927 │
│ 9704e41      │              │        │ False         │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ returncode_i │ generic.loc… │ PASS   │ True False    │ 128        │ 0.039737 │
│ nt_match/092 │              │        │ False         │            │          │
│ e5ae6        │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_fail/f │ generic.loc… │ FAIL   │ N/A N/A N/A   │ 1          │ 0.013588 │
│ f7afaf0      │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ python_hello │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.112736 │
│ /48f58bcb    │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 5 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildt
est/checkouts/latest/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/logs/buildtest_77n_6fjj.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.

Building by Executors

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 summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:26                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build --executor generic.local.csh         │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  2
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  2
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                    Buildspecs by Executor=generic.local.csh                    
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/csh_shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/environment.yml: VALID
Total builder objects created: 4
Total compiler builder: 0
Total script builder: 4
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ csh_shell/4bda │ generic.local. │ None     │ csh shell      │ /home/docs/che │
│ df98           │ csh            │          │ example        │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/csh_shell_ex │
│                │                │          │                │ amples.yml     │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ bash_env_varia │ generic.local. │ None     │ Declare        │ /home/docs/che │
│ bles/5ab67113  │ bash           │          │ environment    │ ckouts/readthe │
│                │                │          │ variables in   │ docs.org/user_ │
│                │                │          │ default shell  │ builds/buildte │
│                │                │          │ (bash)         │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/environment. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ csh_env_declar │ generic.local. │ None     │ csh shell      │ /home/docs/che │
│ ation/1915bb25 │ csh            │          │ example to     │ ckouts/readthe │
│                │                │          │ declare        │ docs.org/user_ │
│                │                │          │ environment    │ builds/buildte │
│                │                │          │ variables      │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/environment. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ tcsh_env_decla │ generic.local. │ None     │ tcsh shell     │ /home/docs/che │
│ ration/108ca58 │ csh            │          │ example to     │ ckouts/readthe │
│ 9              │                │          │ declare        │ docs.org/user_ │
│                │                │          │ environment    │ builds/buildte │
│                │                │          │ variables      │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/environment. │
│                │                │          │                │ yml            │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
csh_shell/4bdadf98: Creating test directory: /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/csh_shell_e
xamples/csh_shell/4bdadf98
csh_shell/4bdadf98: Creating the stage directory: /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/csh_sh
ell_examples/csh_shell/4bdadf98/stage
csh_shell/4bdadf98: Writing build script: /home/docs/checkouts/readthedocs.org/u
ser_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/csh_shell_exam
ples/csh_shell/4bdadf98/csh_shell_build.sh
bash_env_variables/5ab67113: Creating test directory: /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/e
nvironment/bash_env_variables/5ab67113
bash_env_variables/5ab67113: Creating the stage directory: /home/docs/checkouts/
readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.b
ash/environment/bash_env_variables/5ab67113/stage
bash_env_variables/5ab67113: Writing build script: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/envi
ronment/bash_env_variables/5ab67113/bash_env_variables_build.sh
csh_env_declaration/1915bb25: Creating test directory: /home/docs/checkouts/read
thedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/e
nvironment/csh_env_declaration/1915bb25
csh_env_declaration/1915bb25: Creating the stage directory: /home/docs/checkouts
/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.
csh/environment/csh_env_declaration/1915bb25/stage
csh_env_declaration/1915bb25: Writing build script: /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/envi
ronment/csh_env_declaration/1915bb25/csh_env_declaration_build.sh
tcsh_env_declaration/108ca589: Creating test directory: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/
environment/tcsh_env_declaration/108ca589
tcsh_env_declaration/108ca589: Creating the stage directory: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.csh/environment/tcsh_env_declaration/108ca589/stage
tcsh_env_declaration/108ca589: Writing build script: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/env
ironment/tcsh_env_declaration/108ca589/tcsh_env_declaration_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 2 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
csh_shell/4bdadf98 does not have any dependencies adding test to queue
csh_env_declaration/1915bb25 does not have any dependencies adding test to queue
bash_env_variables/5ab67113 does not have any dependencies adding test to queue
tcsh_env_declaration/108ca589 does not have any dependencies adding test to 
queue
csh_shell/4bdadf98: Running Test via command: csh -e csh_shell_build.sh
bash_env_variables/5ab67113: Running Test via command: bash --norc --noprofile 
-eo pipefail bash_env_variables_build.sh
bash_env_variables/5ab67113: Test completed in 0.039815 seconds
bash_env_variables/5ab67113: Test completed with returncode: 0
bash_env_variables/5ab67113: Writing output file -  /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/env
ironment/bash_env_variables/5ab67113/bash_env_variables.out
bash_env_variables/5ab67113: Writing error file - /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/envir
onment/bash_env_variables/5ab67113/bash_env_variables.err
csh_env_declaration/1915bb25: Running Test via command: csh -e 
csh_env_declaration_build.sh
csh_env_declaration/1915bb25: Test completed in 9.985829 seconds
csh_env_declaration/1915bb25: Test completed with returncode: 0
csh_env_declaration/1915bb25: Writing output file -  /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/env
ironment/csh_env_declaration/1915bb25/csh_env_declaration.out
csh_env_declaration/1915bb25: Writing error file - /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/envir
onment/csh_env_declaration/1915bb25/csh_env_declaration.err
tcsh_env_declaration/108ca589: Running Test via command: csh -e 
tcsh_env_declaration_build.sh
csh_shell/4bdadf98: Test completed in 10.089408 seconds
csh_shell/4bdadf98: Test completed with returncode: 0
csh_shell/4bdadf98: Writing output file -  /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/csh_shell_exa
mples/csh_shell/4bdadf98/csh_shell.out
csh_shell/4bdadf98: Writing error file - /home/docs/checkouts/readthedocs.org/us
er_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/csh_shell_examp
les/csh_shell/4bdadf98/csh_shell.err
tcsh_env_declaration/108ca589: Test completed in 2.293888 seconds
tcsh_env_declaration/108ca589: Test completed with returncode: 1
tcsh_env_declaration/108ca589: Writing output file -  /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/en
vironment/tcsh_env_declaration/108ca589/tcsh_env_declaration.out
tcsh_env_declaration/108ca589: Writing error file - /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/envi
ronment/tcsh_env_declaration/108ca589/tcsh_env_declaration.err
In this iteration we are going to run the following tests: [csh_shell/4bdadf98, bash_env_variables/5ab67113, csh_env_declaration/1915bb25, tcsh_env_declaration/108ca589]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃              ┃              ┃        ┃ Checks       ┃            ┃           ┃
┃              ┃              ┃        ┃ (ReturnCode, ┃            ┃           ┃
┃              ┃              ┃        ┃ Regex,       ┃            ┃           ┃
┃ Builder      ┃ executor     ┃ status ┃ Runtime)     ┃ ReturnCode ┃ Runtime   ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ bash_env_var │ generic.loc… │ PASS   │ N/A N/A N/A  │ 0          │ 0.039815  │
│ iables/5ab67 │              │        │              │            │           │
│ 113          │              │        │              │            │           │
├──────────────┼──────────────┼────────┼──────────────┼────────────┼───────────┤
│ tcsh_env_dec │ generic.loc… │ FAIL   │ N/A N/A N/A  │ 1          │ 2.293888  │
│ laration/108 │              │        │              │            │           │
│ ca589        │              │        │              │            │           │
├──────────────┼──────────────┼────────┼──────────────┼────────────┼───────────┤
│ csh_shell/4b │ generic.loc… │ PASS   │ N/A N/A N/A  │ 0          │ 10.089408 │
│ dadf98       │              │        │              │            │           │
├──────────────┼──────────────┼────────┼──────────────┼────────────┼───────────┤
│ csh_env_decl │ generic.loc… │ PASS   │ N/A N/A N/A  │ 0          │ 9.985829  │
│ aration/1915 │              │        │              │            │           │
│ bb25         │              │        │              │            │           │
└──────────────┴──────────────┴────────┴──────────────┴────────────┴───────────┘



Passed Tests: 3/4 Percentage: 75.000%
Failed Tests: 1/4 Percentage: 25.000%


Adding 4 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildt
est/checkouts/latest/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/logs/buildtest_40f51kmw.log

Note

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

Filtering Buildspecs

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 buildspecs which expects a single key=value pair. Currently, buildtest can filter tests based on tags, type and maintainers.

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 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 summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:39                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build -t pass --filter tags=pass           │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  1
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                             Buildspecs By Tag=pass                             
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/lates… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
[exit1_fail][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tutorials/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/latest/tutorials/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/latest/tuto
rials/pass_returncode.yml: VALID
Total builder objects created: 2
Total compiler builder: 0
Total script builder: 2
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ exit1_pass/4c5 │ generic.local. │ None     │ report exit 1  │ /home/docs/che │
│ 9e00a          │ bash           │          │ as PASS        │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ returncode_int │ generic.local. │ None     │ exit 128       │ /home/docs/che │
│ _match/bb5ff37 │ bash           │          │ matches        │ ckouts/readthe │
│ 3              │                │          │ returncode 128 │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
exit1_pass/4c59e00a: Creating test directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_retu
rncode/exit1_pass/4c59e00a
exit1_pass/4c59e00a: Creating the stage directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass
_returncode/exit1_pass/4c59e00a/stage
exit1_pass/4c59e00a: Writing build script: /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnc
ode/exit1_pass/4c59e00a/exit1_pass_build.sh
returncode_int_match/bb5ff373: Creating test directory: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/pass_returncode/returncode_int_match/bb5ff373
returncode_int_match/bb5ff373: Creating the stage directory: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.bash/pass_returncode/returncode_int_match/bb5ff373/stage
returncode_int_match/bb5ff373: Writing build script: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pa
ss_returncode/returncode_int_match/bb5ff373/returncode_int_match_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 2 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
returncode_int_match/bb5ff373 does not have any dependencies adding test to 
queue
exit1_pass/4c59e00a does not have any dependencies adding test to queue
returncode_int_match/bb5ff373: Running Test via command: bash --norc --noprofile
-eo pipefail returncode_int_match_build.sh
exit1_pass/4c59e00a: Running Test via command: bash --norc --noprofile -eo 
pipefail exit1_pass_build.sh
returncode_int_match/bb5ff373: Test completed in 0.025103 seconds
returncode_int_match/bb5ff373: Test completed with returncode: 128
returncode_int_match/bb5ff373: Writing output file -  /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/p
ass_returncode/returncode_int_match/bb5ff373/returncode_int_match.out
returncode_int_match/bb5ff373: Writing error file - /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pas
s_returncode/returncode_int_match/bb5ff373/returncode_int_match.err
returncode_int_match/bb5ff373: Checking returncode - 128 is matched in list 
[128]
exit1_pass/4c59e00a: Test completed in 0.030057 seconds
exit1_pass/4c59e00a: Test completed with returncode: 1
exit1_pass/4c59e00a: Writing output file -  /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_return
code/exit1_pass/4c59e00a/exit1_pass.out
exit1_pass/4c59e00a: Writing error file - /home/docs/checkouts/readthedocs.org/u
ser_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnco
de/exit1_pass/4c59e00a/exit1_pass.err
exit1_pass/4c59e00a: Checking returncode - 1 is matched in list [1]
In this iteration we are going to run the following tests: [returncode_int_match/bb5ff373, exit1_pass/4c59e00a]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ Checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ Builder      ┃ executor     ┃ status ┃ Runtime)      ┃ ReturnCode ┃ Runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ returncode_i │ generic.loc… │ PASS   │ True False    │ 128        │ 0.025103 │
│ nt_match/bb5 │              │        │ False         │            │          │
│ ff373        │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_pass/4 │ generic.loc… │ PASS   │ True False    │ 1          │ 0.030057 │
│ c59e00a      │              │        │ False         │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 2 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildt
est/checkouts/latest/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/logs/buildtest_tpyyxjam.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 summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:40                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build -b tutorials --filter                │
│ maintainers=@shahzebsiddiqui                                                 │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  33
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  33
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/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/latest/tuto
rials/environment.yml: skipping test because 'maintainers' field is not 
specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/vars.yml: skipping test because 'maintainers' field is not specified in 
buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/selinux.yml: skipping test because 'maintainers' field is not specified in
buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/script/executor_scheduler.yml: skipping test because 'maintainers' field 
is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/job_dependency_stream.yml: skipping test because 'maintainers' field is 
not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/gcc_version.yml: skipping test because 'maintainers' field is not 
specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/job_dependency/ex3.yml: skipping test because 'maintainers' field is not 
specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/shebang.yml: skipping test because 'maintainers' field is not specified in
buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/python-hello.yml: skipping test because 'maintainers' field is not 
specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/pass_returncode.yml: skipping test because 'maintainers' field is not 
specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/shell_examples.yml: skipping test because 'maintainers' field is not 
specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/executor_regex_script.yml: skipping test because 'maintainers' field is 
not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/metrics_regex.yml: skipping test because 'maintainers' field is not 
specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/add_numbers.yml: skipping test because 'maintainers' field is not 
specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/python-shell.yml: skipping test because 'maintainers' field is not 
specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/tags_example.yml: skipping test because 'maintainers' field is not 
specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/sleep.yml: skipping test because 'maintainers' field is not specified in 
buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/skip_tests.yml: skipping test because 'maintainers' field is not specified
in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/job_dependency/ex2.yml: skipping test because 'maintainers' field is not 
specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/csh_shell_examples.yml: skipping test because 'maintainers' field is not 
specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/script/multiple_executors.yml: skipping test because 'maintainers' field 
is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/job_dependency/ex4.yml: skipping test because 'maintainers' field is not 
specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/explicit_state.yml: skipping test because 'maintainers' field is not 
specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/status_regex.yml: skipping test because 'maintainers' field is not 
specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/script/status_by_executors.yml: skipping test because 'maintainers' field 
is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/job_dependency/ex1.yml: skipping test because 'maintainers' field is not 
specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/runtime_status_test.yml: skipping test because 'maintainers' field is not 
specified in buildspec.
Valid Buildspecs: 29
Invalid Buildspecs: 4
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/maintainers_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/environment.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/vars.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/selinux.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/script/executor_scheduler.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/hello_world.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/job_dependency_stream.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/gcc_version.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/job_dependency/ex3.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/shebang.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/python-hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/pass_returncode.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/executor_regex_script.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/metrics_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/add_numbers.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/python-shell.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/tags_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/sleep.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/skip_tests.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/job_dependency/ex2.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/csh_shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/script/multiple_executors.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/job_dependency/ex4.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/explicit_state.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/status_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/script/status_by_executors.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/job_dependency/ex1.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/runtime_status_test.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/invalid_buildspec_section.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/invalid_executor.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/burstbuffer_datawarp_executors.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/invalid_tags.yml: INVALID
                            Buildspecs Filtered out                             
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Buildspecs                                                                   ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
└──────────────────────────────────────────────────────────────────────────────┘
Total builder objects created: 1
Total compiler builder: 0
Total script builder: 1
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ hello_world/f1 │ generic.local. │ None     │ hello world    │ /home/docs/che │
│ 489cb4         │ bash           │          │ example        │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/hello_world. │
│                │                │          │                │ yml            │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
hello_world/f1489cb4: Creating test directory: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/hello_wo
rld/hello_world/f1489cb4
hello_world/f1489cb4: Creating the stage directory: /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/hel
lo_world/hello_world/f1489cb4/stage
hello_world/f1489cb4: Writing build script: /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/hello_world
/hello_world/f1489cb4/hello_world_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 2 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
hello_world/f1489cb4 does not have any dependencies adding test to queue
hello_world/f1489cb4: Running Test via command: bash --norc --noprofile -eo 
pipefail hello_world_build.sh
hello_world/f1489cb4: Test completed in 0.006437 seconds
hello_world/f1489cb4: Test completed with returncode: 0
hello_world/f1489cb4: Writing output file -  /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/hello_worl
d/hello_world/f1489cb4/hello_world.out
hello_world/f1489cb4: Writing error file - /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/hello_world/
hello_world/f1489cb4/hello_world.err
In this iteration we are going to run the following tests: [hello_world/f1489cb4]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ Checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ Builder      ┃ executor     ┃ status ┃ Runtime)      ┃ ReturnCode ┃ Runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ hello_world/ │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.006437 │
│ f1489cb4     │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 1 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildt
est/checkouts/latest/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/logs/buildtest_887mgrcr.log

Please see Query 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. We inform buildtest to stop after build stage (--stage=build) for more details see Configure Build Stages.

$ buildtest build -b tutorials --filter type=script --stage=build
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:40                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build -b tutorials --filter type=script    │
│ --stage=build                                                                │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  33
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  33
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
skip: skipping test due to 'skip' property.
Valid Buildspecs: 29
Invalid Buildspecs: 4
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/tags_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/csh_shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/script/executor_scheduler.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/selinux.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/explicit_state.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/vars.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/metrics_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/maintainers_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/job_dependency/ex1.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/python-hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/job_dependency_stream.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/status_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/sleep.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/python-shell.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/job_dependency/ex4.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/job_dependency/ex3.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/hello_world.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/script/multiple_executors.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/runtime_status_test.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/job_dependency/ex2.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/shebang.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/environment.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/gcc_version.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/script/status_by_executors.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/add_numbers.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/executor_regex_script.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/skip_tests.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/pass_returncode.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/invalid_executor.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/burstbuffer_datawarp_executors.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/invalid_buildspec_section.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/invalid_tags.yml: INVALID
Total builder objects created: 62
Total compiler builder: 0
Total script builder: 62
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ string_tag/b03 │ generic.local. │ None     │ tags can be a  │ /home/docs/che │
│ f330e          │ bash           │          │ string         │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/tags_example │
│                │                │          │                │ .yml           │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ list_of_string │ generic.local. │ None     │ tags can be a  │ /home/docs/che │
│ s_tags/e2edf4e │ bash           │          │ list of        │ ckouts/readthe │
│ 8              │                │          │ strings        │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/tags_example │
│                │                │          │                │ .yml           │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ csh_shell/0fec │ generic.local. │ None     │ csh shell      │ /home/docs/che │
│ 3b9e           │ csh            │          │ example        │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/csh_shell_ex │
│                │                │          │                │ amples.yml     │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ executors_sbat │ generic.local. │ None     │ Declaring env  │ /home/docs/che │
│ ch_declaration │ bash           │          │ and vars by    │ ckouts/readthe │
│ /bfe2fad4      │                │          │ executors      │ docs.org/user_ │
│                │                │          │ section        │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/script/execu │
│                │                │          │                │ tor_scheduler. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ executors_sbat │ generic.local. │ None     │ Declaring env  │ /home/docs/che │
│ ch_declaration │ sh             │          │ and vars by    │ ckouts/readthe │
│ /668a974c      │                │          │ executors      │ docs.org/user_ │
│                │                │          │ section        │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/script/execu │
│                │                │          │                │ tor_scheduler. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ selinux_disabl │ generic.local. │ None     │ Check if       │ /home/docs/che │
│ e/5d6176be     │ bash           │          │ SELinux is     │ ckouts/readthe │
│                │                │          │ Disabled       │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/selinux.yml  │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ always_pass/45 │ generic.local. │ None     │ This test will │ /home/docs/che │
│ ab3d71         │ sh             │          │ always 'PASS'  │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/explicit_sta │
│                │                │          │                │ te.yml         │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ always_fail/52 │ generic.local. │ None     │ This test will │ /home/docs/che │
│ d888d1         │ sh             │          │ always 'FAIL'  │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/explicit_sta │
│                │                │          │                │ te.yml         │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ test_fail_retu │ generic.local. │ None     │ This test will │ /home/docs/che │
│ rncode_match/5 │ sh             │          │ 'FAIL' even if │ ckouts/readthe │
│ 9e27bb1        │                │          │ we have        │ docs.org/user_ │
│                │                │          │ returncode     │ builds/buildte │
│                │                │          │ match          │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/explicit_sta │
│                │                │          │                │ te.yml         │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ test_pass_retu │ generic.local. │ None     │ This test will │ /home/docs/che │
│ rncode_mismatc │ sh             │          │ 'PASS' even if │ ckouts/readthe │
│ h/bf823b64     │                │          │ we have        │ docs.org/user_ │
│                │                │          │ returncode     │ builds/buildte │
│                │                │          │ mismatch       │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/explicit_sta │
│                │                │          │                │ te.yml         │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ variables_bash │ generic.local. │ None     │ Declare shell  │ /home/docs/che │
│ /02b4cd48      │ bash           │          │ variables in   │ ckouts/readthe │
│                │                │          │ bash           │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/vars.yml     │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ metric_regex_e │ generic.local. │ None     │ capture result │ /home/docs/che │
│ xample/70c9f20 │ sh             │          │ metric from    │ ckouts/readthe │
│ 3              │                │          │ output         │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/metrics_rege │
│                │                │          │                │ x.yml          │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ foo_bar/9226dc │ generic.local. │ None     │ prints         │ /home/docs/che │
│ df             │ sh             │          │ variable $FOO  │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/maintainers_ │
│                │                │          │                │ example.yml    │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ jobA/35ca2547  │ generic.local. │ None     │ no job         │ /home/docs/che │
│                │ bash           │          │ dependency     │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/job_dependen │
│                │                │          │                │ cy/ex1.yml     │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ jobB/489da4f2  │ generic.local. │ None     │ job dependency │ /home/docs/che │
│                │ bash           │          │ on jobA        │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/job_dependen │
│                │                │          │                │ cy/ex1.yml     │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ jobC/fc2d1204  │ generic.local. │ None     │ job dependency │ /home/docs/che │
│                │ bash           │          │ on jobA and    │ ckouts/readthe │
│                │                │          │ jobB           │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/job_dependen │
│                │                │          │                │ cy/ex1.yml     │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ python_hello/b │ generic.local. │ None     │ Hello World    │ /home/docs/che │
│ 54a1085        │ bash           │          │ python         │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/python-hello │
│                │                │          │                │ .yml           │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ download_strea │ generic.local. │ None     │ None           │ /home/docs/che │
│ m/b0b2dc67     │ bash           │          │                │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/job_dependen │
│                │                │          │                │ cy_stream.yml  │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ run_stream/fff │ generic.local. │ None     │ job dependency │ /home/docs/che │
│ 1bd4a          │ bash           │          │ on download_st │ ckouts/readthe │
│                │                │          │ ream           │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/job_dependen │
│                │                │          │                │ cy_stream.yml  │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ status_regex_p │ generic.local. │ None     │ Pass test      │ /home/docs/che │
│ ass/d4ac7521   │ bash           │          │ based on       │ ckouts/readthe │
│                │                │          │ regular        │ docs.org/user_ │
│                │                │          │ expression     │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/status_regex │
│                │                │          │                │ .yml           │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ status_regex_f │ generic.local. │ None     │ Pass test      │ /home/docs/che │
│ ail/c08a7ada   │ bash           │          │ based on       │ ckouts/readthe │
│                │                │          │ regular        │ docs.org/user_ │
│                │                │          │ expression     │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/status_regex │
│                │                │          │                │ .yml           │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ sleep/89f710cc │ generic.local. │ None     │ sleep 2        │ /home/docs/che │
│                │ bash           │          │ seconds        │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/sleep.yml    │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ circle_area/92 │ generic.local. │ None     │ Calculate      │ /home/docs/che │
│ de90dd         │ bash           │          │ circle of area │ ckouts/readthe │
│                │                │          │ given a radius │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/python-shell │
│                │                │          │                │ .yml           │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ runtime_test/3 │ generic.local. │ None     │ This test will │ /home/docs/che │
│ 272d9e4        │ bash           │          │ sleep 5 second │ ckouts/readthe │
│                │                │          │ but will fail  │ docs.org/user_ │
│                │                │          │ due to runtime │ builds/buildte │
│                │                │          │ 2sec           │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/job_dependen │
│                │                │          │                │ cy/ex4.yml     │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ runtime_test_p │ generic.local. │ None     │ This test will │ /home/docs/che │
│ ass/5fbe4965   │ bash           │          │ run when runti │ ckouts/readthe │
│                │                │          │ me_test_pass   │ docs.org/user_ │
│                │                │          │ is PASS        │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/job_dependen │
│                │                │          │                │ cy/ex4.yml     │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ runtime_test_f │ generic.local. │ None     │ This test will │ /home/docs/che │
│ ail/6c6fb361   │ bash           │          │ run when runti │ ckouts/readthe │
│                │                │          │ me_test_pass   │ docs.org/user_ │
│                │                │          │ is FAIL        │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/job_dependen │
│                │                │          │                │ cy/ex4.yml     │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ pass_test/10b4 │ generic.local. │ None     │ This test will │ /home/docs/che │
│ 3545           │ bash           │          │ always pass    │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/job_dependen │
│                │                │          │                │ cy/ex3.yml     │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ fail_test/73e6 │ generic.local. │ None     │ This test will │ /home/docs/che │
│ 6749           │ bash           │          │ run if test    │ ckouts/readthe │
│                │                │          │ 'pass_test' is │ docs.org/user_ │
│                │                │          │ in state       │ builds/buildte │
│                │                │          │ 'PASS'         │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/job_dependen │
│                │                │          │                │ cy/ex3.yml     │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ pass_and_fail_ │ generic.local. │ None     │ This test will │ /home/docs/che │
│ test/3e929cf7  │ bash           │          │ run if         │ ckouts/readthe │
│                │                │          │ pass_test is   │ docs.org/user_ │
│                │                │          │ 'PASS' and     │ builds/buildte │
│                │                │          │ fail_test is   │ st/checkouts/l │
│                │                │          │ 'FAIL'         │ atest/tutorial │
│                │                │          │                │ s/job_dependen │
│                │                │          │                │ cy/ex3.yml     │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ final_test/7a9 │ generic.local. │ None     │ Test will run  │ /home/docs/che │
│ c47b9          │ bash           │          │ after          │ ckouts/readthe │
│                │                │          │ 'pass_test',   │ docs.org/user_ │
│                │                │          │ 'fail_test',   │ builds/buildte │
│                │                │          │ and 'pass_and_ │ st/checkouts/l │
│                │                │          │ fail_test'     │ atest/tutorial │
│                │                │          │                │ s/job_dependen │
│                │                │          │                │ cy/ex3.yml     │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ hello_world/5b │ generic.local. │ None     │ hello world    │ /home/docs/che │
│ c90ef3         │ bash           │          │ example        │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/hello_world. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ executors_vars │ generic.local. │ None     │ Declaring env  │ /home/docs/che │
│ _env_declarati │ bash           │          │ and vars by    │ ckouts/readthe │
│ on/1ea6fa9c    │                │          │ executors      │ docs.org/user_ │
│                │                │          │ section        │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/script/multi │
│                │                │          │                │ ple_executors. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ executors_vars │ generic.local. │ None     │ Declaring env  │ /home/docs/che │
│ _env_declarati │ sh             │          │ and vars by    │ ckouts/readthe │
│ on/52ee85f4    │                │          │ executors      │ docs.org/user_ │
│                │                │          │ section        │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/script/multi │
│                │                │          │                │ ple_executors. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ timelimit_min_ │ generic.local. │ None     │ Run a sleep    │ /home/docs/che │
│ max/03b09f87   │ sh             │          │ job for 2      │ ckouts/readthe │
│                │                │          │ seconds and    │ docs.org/user_ │
│                │                │          │ test pass if   │ builds/buildte │
│                │                │          │ its within     │ st/checkouts/l │
│                │                │          │ 1.0-3.0sec     │ atest/tutorial │
│                │                │          │                │ s/runtime_stat │
│                │                │          │                │ us_test.yml    │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ timelimit_min/ │ generic.local. │ None     │ Run a sleep    │ /home/docs/che │
│ c11c8734       │ sh             │          │ job for 2      │ ckouts/readthe │
│                │                │          │ seconds and    │ docs.org/user_ │
│                │                │          │ test pass if   │ builds/buildte │
│                │                │          │ its exceeds    │ st/checkouts/l │
│                │                │          │ min time of    │ atest/tutorial │
│                │                │          │ 1.0 sec        │ s/runtime_stat │
│                │                │          │                │ us_test.yml    │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ timelimit_max/ │ generic.local. │ None     │ Run a sleep    │ /home/docs/che │
│ 948d8f78       │ sh             │          │ job for 2      │ ckouts/readthe │
│                │                │          │ seconds and    │ docs.org/user_ │
│                │                │          │ test pass if   │ builds/buildte │
│                │                │          │ it's within    │ st/checkouts/l │
│                │                │          │ max time: 5.0  │ atest/tutorial │
│                │                │          │ sec            │ s/runtime_stat │
│                │                │          │                │ us_test.yml    │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ timelimit_min_ │ generic.local. │ None     │ This test      │ /home/docs/che │
│ fail/c60bcc29  │ sh             │          │ fails because  │ ckouts/readthe │
│                │                │          │ it runs less   │ docs.org/user_ │
│                │                │          │ than mintime   │ builds/buildte │
│                │                │          │ of 10 second   │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/runtime_stat │
│                │                │          │                │ us_test.yml    │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ timelimit_max_ │ generic.local. │ None     │ This test      │ /home/docs/che │
│ fail/70b23d09  │ sh             │          │ fails because  │ ckouts/readthe │
│                │                │          │ it exceeds     │ docs.org/user_ │
│                │                │          │ maxtime of 1.0 │ builds/buildte │
│                │                │          │ second         │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/runtime_stat │
│                │                │          │                │ us_test.yml    │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ test1/dd85614f │ generic.local. │ None     │ This test will │ /home/docs/che │
│                │ bash           │          │ pass with exit │ ckouts/readthe │
│                │                │          │ 1              │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/job_dependen │
│                │                │          │                │ cy/ex2.yml     │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ test2/3217d520 │ generic.local. │ None     │ This test will │ /home/docs/che │
│                │ bash           │          │ run if test1   │ ckouts/readthe │
│                │                │          │ has returncode │ docs.org/user_ │
│                │                │          │ 1              │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/job_dependen │
│                │                │          │                │ cy/ex2.yml     │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ test3/09c807b3 │ generic.local. │ None     │ This test will │ /home/docs/che │
│                │ bash           │          │ run if test1   │ ckouts/readthe │
│                │                │          │ has returncode │ docs.org/user_ │
│                │                │          │ 1 and test2    │ builds/buildte │
│                │                │          │ has returncode │ st/checkouts/l │
│                │                │          │ 2              │ atest/tutorial │
│                │                │          │                │ s/job_dependen │
│                │                │          │                │ cy/ex2.yml     │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ bash_login_she │ generic.local. │ None     │ customize      │ /home/docs/che │
│ bang/d41a317b  │ bash           │          │ shebang line   │ ckouts/readthe │
│                │                │          │ with bash      │ docs.org/user_ │
│                │                │          │ login shell    │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/shebang.yml  │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ bash_nonlogin_ │ generic.local. │ None     │ customize      │ /home/docs/che │
│ shebang/c08747 │ bash           │          │ shebang line   │ ckouts/readthe │
│ 79             │                │          │ with default   │ docs.org/user_ │
│                │                │          │ bash           │ builds/buildte │
│                │                │          │ (nonlogin)     │ st/checkouts/l │
│                │                │          │ shell          │ atest/tutorial │
│                │                │          │                │ s/shebang.yml  │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ bash_env_varia │ generic.local. │ None     │ Declare        │ /home/docs/che │
│ bles/03c7f194  │ bash           │          │ environment    │ ckouts/readthe │
│                │                │          │ variables in   │ docs.org/user_ │
│                │                │          │ default shell  │ builds/buildte │
│                │                │          │ (bash)         │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/environment. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ csh_env_declar │ generic.local. │ None     │ csh shell      │ /home/docs/che │
│ ation/a225d8c6 │ csh            │          │ example to     │ ckouts/readthe │
│                │                │          │ declare        │ docs.org/user_ │
│                │                │          │ environment    │ builds/buildte │
│                │                │          │ variables      │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/environment. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ tcsh_env_decla │ generic.local. │ None     │ tcsh shell     │ /home/docs/che │
│ ration/9aa5d80 │ csh            │          │ example to     │ ckouts/readthe │
│ 7              │                │          │ declare        │ docs.org/user_ │
│                │                │          │ environment    │ builds/buildte │
│                │                │          │ variables      │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/environment. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ gcc_version/a9 │ generic.local. │ None     │ Print gcc      │ /home/docs/che │
│ fe0f3a         │ bash           │          │ version        │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/gcc_version. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ status_returnc │ generic.local. │ None     │ define status  │ /home/docs/che │
│ ode_by_executo │ bash           │          │ per executor   │ ckouts/readthe │
│ rs/7bb467f6    │                │          │ type.          │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/script/statu │
│                │                │          │                │ s_by_executors │
│                │                │          │                │ .yml           │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ status_returnc │ generic.local. │ None     │ define status  │ /home/docs/che │
│ ode_by_executo │ sh             │          │ per executor   │ ckouts/readthe │
│ rs/cba0f345    │                │          │ type.          │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/script/statu │
│                │                │          │                │ s_by_executors │
│                │                │          │                │ .yml           │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ add_numbers/52 │ generic.local. │ None     │ Add X+Y        │ /home/docs/che │
│ 12dfac         │ bash           │          │                │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/add_numbers. │
│                │                │          │                │ yml            │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ executor_regex │ generic.local. │ None     │ regular        │ /home/docs/che │
│ _script_schema │ bash           │          │ expression     │ ckouts/readthe │
│ /06df1bc8      │                │          │ test with      │ docs.org/user_ │
│                │                │          │ executor using │ builds/buildte │
│                │                │          │ script schema  │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/executor_reg │
│                │                │          │                │ ex_script.yml  │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ executor_regex │ generic.local. │ None     │ regular        │ /home/docs/che │
│ _script_schema │ sh             │          │ expression     │ ckouts/readthe │
│ /949f5e3d      │                │          │ test with      │ docs.org/user_ │
│                │                │          │ executor using │ builds/buildte │
│                │                │          │ script schema  │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/executor_reg │
│                │                │          │                │ ex_script.yml  │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ _bin_sh_shell/ │ generic.local. │ None     │ /bin/sh shell  │ /home/docs/che │
│ 892702d3       │ sh             │          │ example        │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/shell_exampl │
│                │                │          │                │ es.yml         │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ _bin_bash_shel │ generic.local. │ None     │ /bin/bash      │ /home/docs/che │
│ l/f0ec1eb8     │ bash           │          │ shell example  │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/shell_exampl │
│                │                │          │                │ es.yml         │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ bash_shell/932 │ generic.local. │ None     │ bash shell     │ /home/docs/che │
│ e5e78          │ bash           │          │ example        │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/shell_exampl │
│                │                │          │                │ es.yml         │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ sh_shell/149f3 │ generic.local. │ None     │ sh shell       │ /home/docs/che │
│ f39            │ sh             │          │ example        │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/shell_exampl │
│                │                │          │                │ es.yml         │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ shell_options/ │ generic.local. │ None     │ shell options  │ /home/docs/che │
│ 8fbbcdfd       │ sh             │          │                │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/shell_exampl │
│                │                │          │                │ es.yml         │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ unskipped/ad8a │ generic.local. │ None     │ This test is   │ /home/docs/che │
│ 8772           │ bash           │          │ not skipped    │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/skip_tests.y │
│                │                │          │                │ ml             │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ exit1_fail/2c1 │ generic.local. │ None     │ exit 1 by      │ /home/docs/che │
│ ac4a9          │ bash           │          │ default is     │ ckouts/readthe │
│                │                │          │ FAIL           │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ exit1_pass/a58 │ generic.local. │ None     │ report exit 1  │ /home/docs/che │
│ 0fd5c          │ bash           │          │ as PASS        │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ returncode_lis │ generic.local. │ None     │ exit 2 failed  │ /home/docs/che │
│ t_mismatch/491 │ bash           │          │ since it       │ ckouts/readthe │
│ cf0c4          │                │          │ failed to      │ docs.org/user_ │
│                │                │          │ match          │ builds/buildte │
│                │                │          │ returncode 1   │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ returncode_int │ generic.local. │ None     │ exit 128       │ /home/docs/che │
│ _match/d574aed │ bash           │          │ matches        │ ckouts/readthe │
│ a              │                │          │ returncode 128 │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
string_tag/b03f330e: Creating test directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/tags_exam
ple/string_tag/b03f330e
string_tag/b03f330e: Creating the stage directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/tags
_example/string_tag/b03f330e/stage
string_tag/b03f330e: Writing build script: /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/tags_example
/string_tag/b03f330e/string_tag_build.sh
list_of_strings_tags/e2edf4e8: Creating test directory: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/tags_example/list_of_strings_tags/e2edf4e8
list_of_strings_tags/e2edf4e8: Creating the stage directory: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.bash/tags_example/list_of_strings_tags/e2edf4e8/stage
list_of_strings_tags/e2edf4e8: Writing build script: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ta
gs_example/list_of_strings_tags/e2edf4e8/list_of_strings_tags_build.sh
csh_shell/0fec3b9e: Creating test directory: /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/csh_shell_e
xamples/csh_shell/0fec3b9e
csh_shell/0fec3b9e: Creating the stage directory: /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/csh_sh
ell_examples/csh_shell/0fec3b9e/stage
csh_shell/0fec3b9e: Writing build script: /home/docs/checkouts/readthedocs.org/u
ser_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/csh_shell_exam
ples/csh_shell/0fec3b9e/csh_shell_build.sh
executors_sbatch_declaration/bfe2fad4: Creating test directory: /home/docs/check
outs/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.lo
cal.bash/executor_scheduler/executors_sbatch_declaration/bfe2fad4
executors_sbatch_declaration/bfe2fad4: Creating the stage directory: /home/docs/
checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/gener
ic.local.bash/executor_scheduler/executors_sbatch_declaration/bfe2fad4/stage
executors_sbatch_declaration/bfe2fad4: Writing build script: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.bash/executor_scheduler/executors_sbatch_declaration/bfe2fad4/executors_sbatch_
declaration_build.sh
executors_sbatch_declaration/668a974c: Creating test directory: /home/docs/check
outs/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.lo
cal.sh/executor_scheduler/executors_sbatch_declaration/668a974c
executors_sbatch_declaration/668a974c: Creating the stage directory: /home/docs/
checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/gener
ic.local.sh/executor_scheduler/executors_sbatch_declaration/668a974c/stage
executors_sbatch_declaration/668a974c: Writing build script: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.sh/executor_scheduler/executors_sbatch_declaration/668a974c/executors_sbatch_de
claration_build.sh
selinux_disable/5d6176be: Creating test directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/seli
nux/selinux_disable/5d6176be
selinux_disable/5d6176be: Creating the stage directory: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/selinux/selinux_disable/5d6176be/stage
selinux_disable/5d6176be: Writing build script: /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/selinux
/selinux_disable/5d6176be/selinux_disable_build.sh
always_pass/45ab3d71: Creating test directory: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/explicit_s
tate/always_pass/45ab3d71
always_pass/45ab3d71: Creating the stage directory: /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/expli
cit_state/always_pass/45ab3d71/stage
always_pass/45ab3d71: Writing build script: /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/explicit_stat
e/always_pass/45ab3d71/always_pass_build.sh
always_fail/52d888d1: Creating test directory: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/explicit_s
tate/always_fail/52d888d1
always_fail/52d888d1: Creating the stage directory: /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/expli
cit_state/always_fail/52d888d1/stage
always_fail/52d888d1: Writing build script: /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/explicit_stat
e/always_fail/52d888d1/always_fail_build.sh
test_fail_returncode_match/59e27bb1: Creating test directory: /home/docs/checkou
ts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.loca
l.sh/explicit_state/test_fail_returncode_match/59e27bb1
test_fail_returncode_match/59e27bb1: Creating the stage directory: /home/docs/ch
eckouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic
.local.sh/explicit_state/test_fail_returncode_match/59e27bb1/stage
test_fail_returncode_match/59e27bb1: Writing build script: /home/docs/checkouts/
readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.s
h/explicit_state/test_fail_returncode_match/59e27bb1/test_fail_returncode_match_
build.sh
test_pass_returncode_mismatch/bf823b64: Creating test directory: /home/docs/chec
kouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.l
ocal.sh/explicit_state/test_pass_returncode_mismatch/bf823b64
test_pass_returncode_mismatch/bf823b64: Creating the stage directory: /home/docs
/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/gene
ric.local.sh/explicit_state/test_pass_returncode_mismatch/bf823b64/stage
test_pass_returncode_mismatch/bf823b64: Writing build script: /home/docs/checkou
ts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.loca
l.sh/explicit_state/test_pass_returncode_mismatch/bf823b64/test_pass_returncode_
mismatch_build.sh
variables_bash/02b4cd48: Creating test directory: /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/
variables_bash/02b4cd48
variables_bash/02b4cd48: Creating the stage directory: /home/docs/checkouts/read
thedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/
vars/variables_bash/02b4cd48/stage
variables_bash/02b4cd48: Writing build script: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/var
iables_bash/02b4cd48/variables_bash_build.sh
metric_regex_example/70c9f203: Creating test directory: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/m
etrics_regex/metric_regex_example/70c9f203
metric_regex_example/70c9f203: Creating the stage directory: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.sh/metrics_regex/metric_regex_example/70c9f203/stage
metric_regex_example/70c9f203: Writing build script: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/metr
ics_regex/metric_regex_example/70c9f203/metric_regex_example_build.sh
foo_bar/9226dcdf: Creating test directory: /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/maintainers_ex
ample/foo_bar/9226dcdf
foo_bar/9226dcdf: Creating the stage directory: /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/maintaine
rs_example/foo_bar/9226dcdf/stage
foo_bar/9226dcdf: Writing build script: /home/docs/checkouts/readthedocs.org/use
r_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/maintainers_examp
le/foo_bar/9226dcdf/foo_bar_build.sh
jobA/35ca2547: Creating test directory: /home/docs/checkouts/readthedocs.org/use
r_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex1/jobA/35ca25
47
jobA/35ca2547: Creating the stage directory: /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex1/jobA/3
5ca2547/stage
jobA/35ca2547: Writing build script: /home/docs/checkouts/readthedocs.org/user_b
uilds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex1/jobA/35ca2547/
jobA_build.sh
jobB/489da4f2: Creating test directory: /home/docs/checkouts/readthedocs.org/use
r_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex1/jobB/489da4
f2
jobB/489da4f2: Creating the stage directory: /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex1/jobB/4
89da4f2/stage
jobB/489da4f2: Writing build script: /home/docs/checkouts/readthedocs.org/user_b
uilds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex1/jobB/489da4f2/
jobB_build.sh
jobC/fc2d1204: Creating test directory: /home/docs/checkouts/readthedocs.org/use
r_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex1/jobC/fc2d12
04
jobC/fc2d1204: Creating the stage directory: /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex1/jobC/f
c2d1204/stage
jobC/fc2d1204: Writing build script: /home/docs/checkouts/readthedocs.org/user_b
uilds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex1/jobC/fc2d1204/
jobC_build.sh
python_hello/b54a1085: Creating test directory: /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-
hello/python_hello/b54a1085
python_hello/b54a1085: Creating the stage directory: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/py
thon-hello/python_hello/b54a1085/stage
python_hello/b54a1085: Writing build script: /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-hel
lo/python_hello/b54a1085/python_hello_build.sh
download_stream/b0b2dc67: Creating test directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/job_
dependency_stream/download_stream/b0b2dc67
download_stream/b0b2dc67: Creating the stage directory: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/job_dependency_stream/download_stream/b0b2dc67/stage
download_stream/b0b2dc67: Writing build script: /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/job_dep
endency_stream/download_stream/b0b2dc67/download_stream_build.sh
run_stream/fff1bd4a: Creating test directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/job_depen
dency_stream/run_stream/fff1bd4a
run_stream/fff1bd4a: Creating the stage directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/job_
dependency_stream/run_stream/fff1bd4a/stage
run_stream/fff1bd4a: Writing build script: /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/job_dependen
cy_stream/run_stream/fff1bd4a/run_stream_build.sh
status_regex_pass/d4ac7521: Creating test directory: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/st
atus_regex/status_regex_pass/d4ac7521
status_regex_pass/d4ac7521: Creating the stage directory: /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/status_regex/status_regex_pass/d4ac7521/stage
status_regex_pass/d4ac7521: Writing build script: /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/statu
s_regex/status_regex_pass/d4ac7521/status_regex_pass_build.sh
status_regex_fail/c08a7ada: Creating test directory: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/st
atus_regex/status_regex_fail/c08a7ada
status_regex_fail/c08a7ada: Creating the stage directory: /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/status_regex/status_regex_fail/c08a7ada/stage
status_regex_fail/c08a7ada: Writing build script: /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/statu
s_regex/status_regex_fail/c08a7ada/status_regex_fail_build.sh
sleep/89f710cc: Creating test directory: /home/docs/checkouts/readthedocs.org/us
er_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/sleep/sleep/89
f710cc
sleep/89f710cc: Creating the stage directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/sleep/sle
ep/89f710cc/stage
sleep/89f710cc: Writing build script: /home/docs/checkouts/readthedocs.org/user_
builds/buildtest/checkouts/latest/var/tests/generic.local.bash/sleep/sleep/89f71
0cc/sleep_build.sh
circle_area/92de90dd: Creating test directory: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-s
hell/circle_area/92de90dd
circle_area/92de90dd: Creating the stage directory: /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pyt
hon-shell/circle_area/92de90dd/stage
circle_area/92de90dd: Writing build script: /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-shel
l/circle_area/92de90dd/circle_area_build.sh
runtime_test/3272d9e4: Creating test directory: /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex4/run
time_test/3272d9e4
runtime_test/3272d9e4: Creating the stage directory: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex
4/runtime_test/3272d9e4/stage
runtime_test/3272d9e4: Writing build script: /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex4/runtim
e_test/3272d9e4/runtime_test_build.sh
runtime_test_pass/5fbe4965: Creating test directory: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex
4/runtime_test_pass/5fbe4965
runtime_test_pass/5fbe4965: Creating the stage directory: /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/ex4/runtime_test_pass/5fbe4965/stage
runtime_test_pass/5fbe4965: Writing build script: /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex4/r
untime_test_pass/5fbe4965/runtime_test_pass_build.sh
runtime_test_fail/6c6fb361: Creating test directory: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex
4/runtime_test_fail/6c6fb361
runtime_test_fail/6c6fb361: Creating the stage directory: /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/ex4/runtime_test_fail/6c6fb361/stage
runtime_test_fail/6c6fb361: Writing build script: /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex4/r
untime_test_fail/6c6fb361/runtime_test_fail_build.sh
pass_test/10b43545: Creating test directory: /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex3/pass_t
est/10b43545
pass_test/10b43545: Creating the stage directory: /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex3/p
ass_test/10b43545/stage
pass_test/10b43545: Writing build script: /home/docs/checkouts/readthedocs.org/u
ser_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex3/pass_test
/10b43545/pass_test_build.sh
fail_test/73e66749: Creating test directory: /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex3/fail_t
est/73e66749
fail_test/73e66749: Creating the stage directory: /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex3/f
ail_test/73e66749/stage
fail_test/73e66749: Writing build script: /home/docs/checkouts/readthedocs.org/u
ser_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex3/fail_test
/73e66749/fail_test_build.sh
pass_and_fail_test/3e929cf7: Creating test directory: /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/e
x3/pass_and_fail_test/3e929cf7
pass_and_fail_test/3e929cf7: Creating the stage directory: /home/docs/checkouts/
readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.b
ash/ex3/pass_and_fail_test/3e929cf7/stage
pass_and_fail_test/3e929cf7: Writing build script: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex3/
pass_and_fail_test/3e929cf7/pass_and_fail_test_build.sh
final_test/7a9c47b9: Creating test directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex3/final
_test/7a9c47b9
final_test/7a9c47b9: Creating the stage directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex3/
final_test/7a9c47b9/stage
final_test/7a9c47b9: Writing build script: /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex3/final_te
st/7a9c47b9/final_test_build.sh
hello_world/5bc90ef3: Creating test directory: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/hello_wo
rld/hello_world/5bc90ef3
hello_world/5bc90ef3: Creating the stage directory: /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/hel
lo_world/hello_world/5bc90ef3/stage
hello_world/5bc90ef3: Writing build script: /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/hello_world
/hello_world/5bc90ef3/hello_world_build.sh
executors_vars_env_declaration/1ea6fa9c: Creating test directory: /home/docs/che
ckouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.
local.bash/multiple_executors/executors_vars_env_declaration/1ea6fa9c
executors_vars_env_declaration/1ea6fa9c: Creating the stage directory: /home/doc
s/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/gen
eric.local.bash/multiple_executors/executors_vars_env_declaration/1ea6fa9c/stage
executors_vars_env_declaration/1ea6fa9c: Writing build script: /home/docs/checko
uts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.loc
al.bash/multiple_executors/executors_vars_env_declaration/1ea6fa9c/executors_var
s_env_declaration_build.sh
executors_vars_env_declaration/52ee85f4: Creating test directory: /home/docs/che
ckouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.
local.sh/multiple_executors/executors_vars_env_declaration/52ee85f4
executors_vars_env_declaration/52ee85f4: Creating the stage directory: /home/doc
s/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/gen
eric.local.sh/multiple_executors/executors_vars_env_declaration/52ee85f4/stage
executors_vars_env_declaration/52ee85f4: Writing build script: /home/docs/checko
uts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.loc
al.sh/multiple_executors/executors_vars_env_declaration/52ee85f4/executors_vars_
env_declaration_build.sh
timelimit_min_max/03b09f87: Creating test directory: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/runt
ime_status_test/timelimit_min_max/03b09f87
timelimit_min_max/03b09f87: Creating the stage directory: /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh
/runtime_status_test/timelimit_min_max/03b09f87/stage
timelimit_min_max/03b09f87: Writing build script: /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/runtime
_status_test/timelimit_min_max/03b09f87/timelimit_min_max_build.sh
timelimit_min/c11c8734: Creating test directory: /home/docs/checkouts/readthedoc
s.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/runtime_
status_test/timelimit_min/c11c8734
timelimit_min/c11c8734: Creating the stage directory: /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/run
time_status_test/timelimit_min/c11c8734/stage
timelimit_min/c11c8734: Writing build script: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/runtime_sta
tus_test/timelimit_min/c11c8734/timelimit_min_build.sh
timelimit_max/948d8f78: Creating test directory: /home/docs/checkouts/readthedoc
s.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/runtime_
status_test/timelimit_max/948d8f78
timelimit_max/948d8f78: Creating the stage directory: /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/run
time_status_test/timelimit_max/948d8f78/stage
timelimit_max/948d8f78: Writing build script: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/runtime_sta
tus_test/timelimit_max/948d8f78/timelimit_max_build.sh
timelimit_min_fail/c60bcc29: Creating test directory: /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/run
time_status_test/timelimit_min_fail/c60bcc29
timelimit_min_fail/c60bcc29: Creating the stage directory: /home/docs/checkouts/
readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.s
h/runtime_status_test/timelimit_min_fail/c60bcc29/stage
timelimit_min_fail/c60bcc29: Writing build script: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/runtim
e_status_test/timelimit_min_fail/c60bcc29/timelimit_min_fail_build.sh
timelimit_max_fail/70b23d09: Creating test directory: /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/run
time_status_test/timelimit_max_fail/70b23d09
timelimit_max_fail/70b23d09: Creating the stage directory: /home/docs/checkouts/
readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.s
h/runtime_status_test/timelimit_max_fail/70b23d09/stage
timelimit_max_fail/70b23d09: Writing build script: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/runtim
e_status_test/timelimit_max_fail/70b23d09/timelimit_max_fail_build.sh
test1/dd85614f: Creating test directory: /home/docs/checkouts/readthedocs.org/us
er_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex2/test1/dd85
614f
test1/dd85614f: Creating the stage directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex2/test1
/dd85614f/stage
test1/dd85614f: Writing build script: /home/docs/checkouts/readthedocs.org/user_
builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex2/test1/dd85614
f/test1_build.sh
test2/3217d520: Creating test directory: /home/docs/checkouts/readthedocs.org/us
er_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex2/test2/3217
d520
test2/3217d520: Creating the stage directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex2/test2
/3217d520/stage
test2/3217d520: Writing build script: /home/docs/checkouts/readthedocs.org/user_
builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex2/test2/3217d52
0/test2_build.sh
test3/09c807b3: Creating test directory: /home/docs/checkouts/readthedocs.org/us
er_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex2/test3/09c8
07b3
test3/09c807b3: Creating the stage directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex2/test3
/09c807b3/stage
test3/09c807b3: Writing build script: /home/docs/checkouts/readthedocs.org/user_
builds/buildtest/checkouts/latest/var/tests/generic.local.bash/ex2/test3/09c807b
3/test3_build.sh
bash_login_shebang/d41a317b: Creating test directory: /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/s
hebang/bash_login_shebang/d41a317b
bash_login_shebang/d41a317b: Creating the stage directory: /home/docs/checkouts/
readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.b
ash/shebang/bash_login_shebang/d41a317b/stage
bash_login_shebang/d41a317b: Writing build script: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/sheb
ang/bash_login_shebang/d41a317b/bash_login_shebang_build.sh
bash_nonlogin_shebang/c0874779: Creating test directory: /home/docs/checkouts/re
adthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bas
h/shebang/bash_nonlogin_shebang/c0874779
bash_nonlogin_shebang/c0874779: Creating the stage directory: /home/docs/checkou
ts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.loca
l.bash/shebang/bash_nonlogin_shebang/c0874779/stage
bash_nonlogin_shebang/c0874779: Writing build script: /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/s
hebang/bash_nonlogin_shebang/c0874779/bash_nonlogin_shebang_build.sh
bash_env_variables/03c7f194: Creating test directory: /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/e
nvironment/bash_env_variables/03c7f194
bash_env_variables/03c7f194: Creating the stage directory: /home/docs/checkouts/
readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.b
ash/environment/bash_env_variables/03c7f194/stage
bash_env_variables/03c7f194: Writing build script: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/envi
ronment/bash_env_variables/03c7f194/bash_env_variables_build.sh
csh_env_declaration/a225d8c6: Creating test directory: /home/docs/checkouts/read
thedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/e
nvironment/csh_env_declaration/a225d8c6
csh_env_declaration/a225d8c6: Creating the stage directory: /home/docs/checkouts
/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.
csh/environment/csh_env_declaration/a225d8c6/stage
csh_env_declaration/a225d8c6: Writing build script: /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/envi
ronment/csh_env_declaration/a225d8c6/csh_env_declaration_build.sh
tcsh_env_declaration/9aa5d807: Creating test directory: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/
environment/tcsh_env_declaration/9aa5d807
tcsh_env_declaration/9aa5d807: Creating the stage directory: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.csh/environment/tcsh_env_declaration/9aa5d807/stage
tcsh_env_declaration/9aa5d807: Writing build script: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.csh/env
ironment/tcsh_env_declaration/9aa5d807/tcsh_env_declaration_build.sh
gcc_version/a9fe0f3a: Creating test directory: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/gcc_vers
ion/gcc_version/a9fe0f3a
gcc_version/a9fe0f3a: Creating the stage directory: /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/gcc
_version/gcc_version/a9fe0f3a/stage
gcc_version/a9fe0f3a: Writing build script: /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/gcc_version
/gcc_version/a9fe0f3a/gcc_version_build.sh
status_returncode_by_executors/7bb467f6: Creating test directory: /home/docs/che
ckouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.
local.bash/status_by_executors/status_returncode_by_executors/7bb467f6
status_returncode_by_executors/7bb467f6: Creating the stage directory: /home/doc
s/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/gen
eric.local.bash/status_by_executors/status_returncode_by_executors/7bb467f6/stag
e
status_returncode_by_executors/7bb467f6: Writing build script: /home/docs/checko
uts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.loc
al.bash/status_by_executors/status_returncode_by_executors/7bb467f6/status_retur
ncode_by_executors_build.sh
status_returncode_by_executors/cba0f345: Creating test directory: /home/docs/che
ckouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.
local.sh/status_by_executors/status_returncode_by_executors/cba0f345
status_returncode_by_executors/cba0f345: Creating the stage directory: /home/doc
s/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/gen
eric.local.sh/status_by_executors/status_returncode_by_executors/cba0f345/stage
status_returncode_by_executors/cba0f345: Writing build script: /home/docs/checko
uts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.loc
al.sh/status_by_executors/status_returncode_by_executors/cba0f345/status_returnc
ode_by_executors_build.sh
add_numbers/5212dfac: Creating test directory: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/add_numb
ers/add_numbers/5212dfac
add_numbers/5212dfac: Creating the stage directory: /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/add
_numbers/add_numbers/5212dfac/stage
add_numbers/5212dfac: Writing build script: /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/add_numbers
/add_numbers/5212dfac/add_numbers_build.sh
executor_regex_script_schema/06df1bc8: Creating test directory: /home/docs/check
outs/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.lo
cal.bash/executor_regex_script/executor_regex_script_schema/06df1bc8
executor_regex_script_schema/06df1bc8: Creating the stage directory: /home/docs/
checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/gener
ic.local.bash/executor_regex_script/executor_regex_script_schema/06df1bc8/stage
executor_regex_script_schema/06df1bc8: Writing build script: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.bash/executor_regex_script/executor_regex_script_schema/06df1bc8/executor_regex
_script_schema_build.sh
executor_regex_script_schema/949f5e3d: Creating test directory: /home/docs/check
outs/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.lo
cal.sh/executor_regex_script/executor_regex_script_schema/949f5e3d
executor_regex_script_schema/949f5e3d: Creating the stage directory: /home/docs/
checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/gener
ic.local.sh/executor_regex_script/executor_regex_script_schema/949f5e3d/stage
executor_regex_script_schema/949f5e3d: Writing build script: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.sh/executor_regex_script/executor_regex_script_schema/949f5e3d/executor_regex_s
cript_schema_build.sh
_bin_sh_shell/892702d3: Creating test directory: /home/docs/checkouts/readthedoc
s.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/shell_ex
amples/_bin_sh_shell/892702d3
_bin_sh_shell/892702d3: Creating the stage directory: /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/she
ll_examples/_bin_sh_shell/892702d3/stage
_bin_sh_shell/892702d3: Writing build script: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/shell_examp
les/_bin_sh_shell/892702d3/_bin_sh_shell_build.sh
_bin_bash_shell/f0ec1eb8: Creating test directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/shel
l_examples/_bin_bash_shell/f0ec1eb8
_bin_bash_shell/f0ec1eb8: Creating the stage directory: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/shell_examples/_bin_bash_shell/f0ec1eb8/stage
_bin_bash_shell/f0ec1eb8: Writing build script: /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/shell_e
xamples/_bin_bash_shell/f0ec1eb8/_bin_bash_shell_build.sh
bash_shell/932e5e78: Creating test directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/shell_exa
mples/bash_shell/932e5e78
bash_shell/932e5e78: Creating the stage directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/shel
l_examples/bash_shell/932e5e78/stage
bash_shell/932e5e78: Writing build script: /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/shell_exampl
es/bash_shell/932e5e78/bash_shell_build.sh
sh_shell/149f3f39: Creating test directory: /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/shell_example
s/sh_shell/149f3f39
sh_shell/149f3f39: Creating the stage directory: /home/docs/checkouts/readthedoc
s.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/shell_ex
amples/sh_shell/149f3f39/stage
sh_shell/149f3f39: Writing build script: /home/docs/checkouts/readthedocs.org/us
er_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/shell_examples/s
h_shell/149f3f39/sh_shell_build.sh
shell_options/8fbbcdfd: Creating test directory: /home/docs/checkouts/readthedoc
s.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/shell_ex
amples/shell_options/8fbbcdfd
shell_options/8fbbcdfd: Creating the stage directory: /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/she
ll_examples/shell_options/8fbbcdfd/stage
shell_options/8fbbcdfd: Writing build script: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.sh/shell_examp
les/shell_options/8fbbcdfd/shell_options_build.sh
unskipped/ad8a8772: Creating test directory: /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/skip_tests
/unskipped/ad8a8772
unskipped/ad8a8772: Creating the stage directory: /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/skip_
tests/unskipped/ad8a8772/stage
unskipped/ad8a8772: Writing build script: /home/docs/checkouts/readthedocs.org/u
ser_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/skip_tests/un
skipped/ad8a8772/unskipped_build.sh
exit1_fail/2c1ac4a9: Creating test directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_retu
rncode/exit1_fail/2c1ac4a9
exit1_fail/2c1ac4a9: Creating the stage directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass
_returncode/exit1_fail/2c1ac4a9/stage
exit1_fail/2c1ac4a9: Writing build script: /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnc
ode/exit1_fail/2c1ac4a9/exit1_fail_build.sh
exit1_pass/a580fd5c: Creating test directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_retu
rncode/exit1_pass/a580fd5c
exit1_pass/a580fd5c: Creating the stage directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass
_returncode/exit1_pass/a580fd5c/stage
exit1_pass/a580fd5c: Writing build script: /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnc
ode/exit1_pass/a580fd5c/exit1_pass_build.sh
returncode_list_mismatch/491cf0c4: Creating test directory: /home/docs/checkouts
/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.
bash/pass_returncode/returncode_list_mismatch/491cf0c4
returncode_list_mismatch/491cf0c4: Creating the stage directory: /home/docs/chec
kouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.l
ocal.bash/pass_returncode/returncode_list_mismatch/491cf0c4/stage
returncode_list_mismatch/491cf0c4: Writing build script: /home/docs/checkouts/re
adthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bas
h/pass_returncode/returncode_list_mismatch/491cf0c4/returncode_list_mismatch_bui
ld.sh
returncode_int_match/d574aeda: Creating test directory: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/pass_returncode/returncode_int_match/d574aeda
returncode_int_match/d574aeda: Creating the stage directory: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.bash/pass_returncode/returncode_int_match/d574aeda/stage
returncode_int_match/d574aeda: Writing build script: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pa
ss_returncode/returncode_int_match/d574aeda/returncode_int_match_build.sh

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 summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:42                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build -t python --executor-type local      │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  2
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  2
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                            Buildspecs By Tag=python                            
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/lates… ║
║  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/lates… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/python-hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/python-shell.yml: VALID
Total builder objects created: 2
Total compiler builder: 0
Total script builder: 2
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ python_hello/1 │ generic.local. │ None     │ Hello World    │ /home/docs/che │
│ 9c053e4        │ bash           │          │ python         │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/python-hello │
│                │                │          │                │ .yml           │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ circle_area/79 │ generic.local. │ None     │ Calculate      │ /home/docs/che │
│ 628bc1         │ bash           │          │ circle of area │ ckouts/readthe │
│                │                │          │ given a radius │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/python-shell │
│                │                │          │                │ .yml           │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
python_hello/19c053e4: Creating test directory: /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-
hello/python_hello/19c053e4
python_hello/19c053e4: Creating the stage directory: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/py
thon-hello/python_hello/19c053e4/stage
python_hello/19c053e4: Writing build script: /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-hel
lo/python_hello/19c053e4/python_hello_build.sh
circle_area/79628bc1: Creating test directory: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-s
hell/circle_area/79628bc1
circle_area/79628bc1: Creating the stage directory: /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pyt
hon-shell/circle_area/79628bc1/stage
circle_area/79628bc1: Writing build script: /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-shel
l/circle_area/79628bc1/circle_area_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 2 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
python_hello/19c053e4 does not have any dependencies adding test to queue
circle_area/79628bc1 does not have any dependencies adding test to queue
circle_area/79628bc1: Running Test via command: bash --norc --noprofile -eo 
pipefail circle_area_build.sh
python_hello/19c053e4: Running Test via command: bash --norc --noprofile -eo 
pipefail python_hello_build.sh
python_hello/19c053e4: Test completed in 0.099663 seconds
python_hello/19c053e4: Test completed with returncode: 0
python_hello/19c053e4: Writing output file -  /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-he
llo/python_hello/19c053e4/python_hello.out
python_hello/19c053e4: Writing error file - /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-hell
o/python_hello/19c053e4/python_hello.err
circle_area/79628bc1: Test completed in 0.106029 seconds
circle_area/79628bc1: Test completed with returncode: 0
circle_area/79628bc1: Writing output file -  /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-she
ll/circle_area/79628bc1/circle_area.out
circle_area/79628bc1: Writing error file - /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-shell
/circle_area/79628bc1/circle_area.err
In this iteration we are going to run the following tests: [python_hello/19c053e4, circle_area/79628bc1]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ Checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ Builder      ┃ executor     ┃ status ┃ Runtime)      ┃ ReturnCode ┃ Runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ python_hello │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.099663 │
│ /19c053e4    │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ circle_area/ │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.106029 │
│ 79628bc1     │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 2 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildt
est/checkouts/latest/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/logs/buildtest_qerb387_.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 summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:42                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build -t python --executor-type batch      │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  2
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  2
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                            Buildspecs By Tag=python                            
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/lates… ║
║  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/lates… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
python_hello/697c5f1b is excluded since its not using batch executor
circle_area/b00749ca is excluded since its not using batch executor
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/python-hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/python-shell.yml: VALID
                            Buildspecs Filtered out                             
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Buildspecs                                                                   ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… │
└──────────────────────────────────────────────────────────────────────────────┘

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

Please see logfile: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/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

Discover Buildspecs

Now, let’s discuss how buildtest discovers buildspecs since there are several ways to build buildspecs.

The buildspec search resolution is described as follows:

  • If file or directory specified by -b option doesn’t exist we exit immediately.

  • If buildspec path is a directory, traverse directory recursively to find all .yml extensions

  • If buildspec path is a file, check if file extension is not .yml, exit immediately

  • If user specifies --tags or --executor we search in buildspec cache to discover buildspecs.

Shown below is a diagram on how buildtest discovers buildspecs. The user can build buildspecs by --buildspec, –tags, or –executor which will discover the buildspecs. You can exclude buildspecs using --exclude option which is processed after discovering buildspecs. The excluded buildspecs are removed from list if found and final list of buildspecs is processed.

../_images/DiscoverBuildspecs.jpg

Configure Build Stages

We can control behavior of buildtest build command to stop at certain phase using --stage option. The –stage option accepts parse or build, which will instruct buildtest to stop at parse or build phase of the pipeline.

Buildtest will validate all the buildspecs in the parse stage, so you can instruct buildtest to stop at parse stage via --stage=parse. 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 --stage=parse
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:43                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build -b tutorials/vars.yml --stage=parse  │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  1
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/vars.yml: VALID
Total builder objects created: 1
Total compiler builder: 0
Total script builder: 1
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ variables_bash │ generic.local. │ None     │ Declare shell  │ /home/docs/che │
│ /973e8532      │ bash           │          │ variables in   │ ckouts/readthe │
│                │                │          │ bash           │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/vars.yml     │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘

Likewise, if you want to troubleshoot your test script without running them you can use --stage=build which will stop after build phase. This can be used when you are writing buildspec to troubleshoot how test is generated. In this next example, we inform buildtest to stop after build stage.

$ buildtest build -b tutorials/vars.yml --stage=build
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:43                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build -b tutorials/vars.yml --stage=build  │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  1
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/vars.yml: VALID
Total builder objects created: 1
Total compiler builder: 0
Total script builder: 1
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ variables_bash │ generic.local. │ None     │ Declare shell  │ /home/docs/che │
│ /6c545b8c      │ bash           │          │ variables in   │ ckouts/readthe │
│                │                │          │ bash           │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/vars.yml     │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
variables_bash/6c545b8c: Creating test directory: /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/
variables_bash/6c545b8c
variables_bash/6c545b8c: Creating the stage directory: /home/docs/checkouts/read
thedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/
vars/variables_bash/6c545b8c/stage
variables_bash/6c545b8c: Writing build script: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/var
iables_bash/6c545b8c/variables_bash_build.sh

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 summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:44                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build -b                                   │
│ tutorials/invalid_buildspec_section.yml                                      │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  1
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 0
Invalid Buildspecs: 1
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/invalid_buildspec_section.yml: INVALID

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

Please see logfile: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/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 summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:44                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build -b tutorials/invalid_executor.yml    │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  1
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 0
Invalid Buildspecs: 1
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/invalid_executor.yml: INVALID

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

Please see logfile: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/buildtest.log

Rebuild Tests

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 summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:44                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build -b tutorials/python-shell.yml        │
│ --rebuild=3                                                                  │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  1
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/python-shell.yml: VALID
Total builder objects created: 3
Total compiler builder: 0
Total script builder: 3
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ circle_area/09 │ generic.local. │ None     │ Calculate      │ /home/docs/che │
│ c009d6         │ bash           │          │ circle of area │ ckouts/readthe │
│                │                │          │ given a radius │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/python-shell │
│                │                │          │                │ .yml           │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ circle_area/d5 │ generic.local. │ None     │ Calculate      │ /home/docs/che │
│ 28482a         │ bash           │          │ circle of area │ ckouts/readthe │
│                │                │          │ given a radius │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/python-shell │
│                │                │          │                │ .yml           │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ circle_area/b2 │ generic.local. │ None     │ Calculate      │ /home/docs/che │
│ 65109c         │ bash           │          │ circle of area │ ckouts/readthe │
│                │                │          │ given a radius │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/python-shell │
│                │                │          │                │ .yml           │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
circle_area/09c009d6: Creating test directory: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-s
hell/circle_area/09c009d6
circle_area/09c009d6: Creating the stage directory: /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pyt
hon-shell/circle_area/09c009d6/stage
circle_area/09c009d6: Writing build script: /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-shel
l/circle_area/09c009d6/circle_area_build.sh
circle_area/d528482a: Creating test directory: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-s
hell/circle_area/d528482a
circle_area/d528482a: Creating the stage directory: /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pyt
hon-shell/circle_area/d528482a/stage
circle_area/d528482a: Writing build script: /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-shel
l/circle_area/d528482a/circle_area_build.sh
circle_area/b265109c: Creating test directory: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-s
hell/circle_area/b265109c
circle_area/b265109c: Creating the stage directory: /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pyt
hon-shell/circle_area/b265109c/stage
circle_area/b265109c: Writing build script: /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-shel
l/circle_area/b265109c/circle_area_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 2 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
circle_area/09c009d6 does not have any dependencies adding test to queue
circle_area/b265109c does not have any dependencies adding test to queue
circle_area/d528482a does not have any dependencies adding test to queue
circle_area/09c009d6: Running Test via command: bash --norc --noprofile -eo 
pipefail circle_area_build.sh
circle_area/b265109c: Running Test via command: bash --norc --noprofile -eo 
pipefail circle_area_build.sh
circle_area/b265109c: Test completed in 0.099628 seconds
circle_area/b265109c: Test completed with returncode: 0
circle_area/09c009d6: Test completed in 0.103985 seconds
circle_area/09c009d6: Test completed with returncode: 0
circle_area/b265109c: Writing output file -  /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-she
ll/circle_area/b265109c/circle_area.out
circle_area/09c009d6: Writing output file -  /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-she
ll/circle_area/09c009d6/circle_area.out
circle_area/b265109c: Writing error file - /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-shell
/circle_area/b265109c/circle_area.err
circle_area/09c009d6: Writing error file - /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-shell
/circle_area/09c009d6/circle_area.err
circle_area/d528482a: Running Test via command: bash --norc --noprofile -eo 
pipefail circle_area_build.sh
circle_area/d528482a: Test completed in 0.043197 seconds
circle_area/d528482a: Test completed with returncode: 0
circle_area/d528482a: Writing output file -  /home/docs/checkouts/readthedocs.or
g/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-she
ll/circle_area/d528482a/circle_area.out
circle_area/d528482a: Writing error file - /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/python-shell
/circle_area/d528482a/circle_area.err
In this iteration we are going to run the following tests: [circle_area/09c009d6, circle_area/b265109c, circle_area/d528482a]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ Checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ Builder      ┃ executor     ┃ status ┃ Runtime)      ┃ ReturnCode ┃ Runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ circle_area/ │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.099628 │
│ b265109c     │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ circle_area/ │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.043197 │
│ d528482a     │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ circle_area/ │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.103985 │
│ 09c009d6     │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 3 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildt
est/checkouts/latest/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/logs/buildtest_qytq9srn.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 summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:45                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build -t fail --rebuild 2                  │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  1
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                             Buildspecs By Tag=fail                             
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/lates… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/pass_returncode.yml: VALID
Total builder objects created: 8
Total compiler builder: 0
Total script builder: 8
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ exit1_fail/94e │ generic.local. │ None     │ exit 1 by      │ /home/docs/che │
│ d2856          │ bash           │          │ default is     │ ckouts/readthe │
│                │                │          │ FAIL           │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ exit1_pass/ef4 │ generic.local. │ None     │ report exit 1  │ /home/docs/che │
│ 49690          │ bash           │          │ as PASS        │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ returncode_lis │ generic.local. │ None     │ exit 2 failed  │ /home/docs/che │
│ t_mismatch/ab7 │ bash           │          │ since it       │ ckouts/readthe │
│ 7d6d0          │                │          │ failed to      │ docs.org/user_ │
│                │                │          │ match          │ builds/buildte │
│                │                │          │ returncode 1   │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ returncode_int │ generic.local. │ None     │ exit 128       │ /home/docs/che │
│ _match/7596507 │ bash           │          │ matches        │ ckouts/readthe │
│ 3              │                │          │ returncode 128 │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ exit1_fail/49d │ generic.local. │ None     │ exit 1 by      │ /home/docs/che │
│ f46fc          │ bash           │          │ default is     │ ckouts/readthe │
│                │                │          │ FAIL           │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ exit1_pass/a60 │ generic.local. │ None     │ report exit 1  │ /home/docs/che │
│ 332dc          │ bash           │          │ as PASS        │ ckouts/readthe │
│                │                │          │                │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ returncode_lis │ generic.local. │ None     │ exit 2 failed  │ /home/docs/che │
│ t_mismatch/bc1 │ bash           │          │ since it       │ ckouts/readthe │
│ 3fdc2          │                │          │ failed to      │ docs.org/user_ │
│                │                │          │ match          │ builds/buildte │
│                │                │          │ returncode 1   │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
├────────────────┼────────────────┼──────────┼────────────────┼────────────────┤
│ returncode_int │ generic.local. │ None     │ exit 128       │ /home/docs/che │
│ _match/c00b92a │ bash           │          │ matches        │ ckouts/readthe │
│ 8              │                │          │ returncode 128 │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/pass_returnc │
│                │                │          │                │ ode.yml        │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
exit1_fail/94ed2856: Creating test directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_retu
rncode/exit1_fail/94ed2856
exit1_fail/94ed2856: Creating the stage directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass
_returncode/exit1_fail/94ed2856/stage
exit1_fail/94ed2856: Writing build script: /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnc
ode/exit1_fail/94ed2856/exit1_fail_build.sh
exit1_pass/ef449690: Creating test directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_retu
rncode/exit1_pass/ef449690
exit1_pass/ef449690: Creating the stage directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass
_returncode/exit1_pass/ef449690/stage
exit1_pass/ef449690: Writing build script: /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnc
ode/exit1_pass/ef449690/exit1_pass_build.sh
returncode_list_mismatch/ab77d6d0: Creating test directory: /home/docs/checkouts
/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.
bash/pass_returncode/returncode_list_mismatch/ab77d6d0
returncode_list_mismatch/ab77d6d0: Creating the stage directory: /home/docs/chec
kouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.l
ocal.bash/pass_returncode/returncode_list_mismatch/ab77d6d0/stage
returncode_list_mismatch/ab77d6d0: Writing build script: /home/docs/checkouts/re
adthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bas
h/pass_returncode/returncode_list_mismatch/ab77d6d0/returncode_list_mismatch_bui
ld.sh
returncode_int_match/75965073: Creating test directory: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/pass_returncode/returncode_int_match/75965073
returncode_int_match/75965073: Creating the stage directory: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.bash/pass_returncode/returncode_int_match/75965073/stage
returncode_int_match/75965073: Writing build script: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pa
ss_returncode/returncode_int_match/75965073/returncode_int_match_build.sh
exit1_fail/49df46fc: Creating test directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_retu
rncode/exit1_fail/49df46fc
exit1_fail/49df46fc: Creating the stage directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass
_returncode/exit1_fail/49df46fc/stage
exit1_fail/49df46fc: Writing build script: /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnc
ode/exit1_fail/49df46fc/exit1_fail_build.sh
exit1_pass/a60332dc: Creating test directory: /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_retu
rncode/exit1_pass/a60332dc
exit1_pass/a60332dc: Creating the stage directory: /home/docs/checkouts/readthed
ocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass
_returncode/exit1_pass/a60332dc/stage
exit1_pass/a60332dc: Writing build script: /home/docs/checkouts/readthedocs.org/
user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnc
ode/exit1_pass/a60332dc/exit1_pass_build.sh
returncode_list_mismatch/bc13fdc2: Creating test directory: /home/docs/checkouts
/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.
bash/pass_returncode/returncode_list_mismatch/bc13fdc2
returncode_list_mismatch/bc13fdc2: Creating the stage directory: /home/docs/chec
kouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.l
ocal.bash/pass_returncode/returncode_list_mismatch/bc13fdc2/stage
returncode_list_mismatch/bc13fdc2: Writing build script: /home/docs/checkouts/re
adthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bas
h/pass_returncode/returncode_list_mismatch/bc13fdc2/returncode_list_mismatch_bui
ld.sh
returncode_int_match/c00b92a8: Creating test directory: /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/pass_returncode/returncode_int_match/c00b92a8
returncode_int_match/c00b92a8: Creating the stage directory: /home/docs/checkout
s/readthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local
.bash/pass_returncode/returncode_int_match/c00b92a8/stage
returncode_int_match/c00b92a8: Writing build script: /home/docs/checkouts/readth
edocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pa
ss_returncode/returncode_int_match/c00b92a8/returncode_int_match_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 2 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
returncode_int_match/75965073 does not have any dependencies adding test to 
queue
returncode_int_match/c00b92a8 does not have any dependencies adding test to 
queue
exit1_fail/94ed2856 does not have any dependencies adding test to queue
exit1_pass/a60332dc does not have any dependencies adding test to queue
exit1_pass/ef449690 does not have any dependencies adding test to queue
exit1_fail/49df46fc does not have any dependencies adding test to queue
returncode_list_mismatch/bc13fdc2 does not have any dependencies adding test to 
queue
returncode_list_mismatch/ab77d6d0 does not have any dependencies adding test to 
queue
exit1_fail/94ed2856: Running Test via command: bash --norc --noprofile -eo 
pipefail exit1_fail_build.sh
returncode_int_match/75965073: Running Test via command: bash --norc --noprofile
-eo pipefail returncode_int_match_build.sh
exit1_fail/94ed2856: Test completed in 0.016071 seconds
exit1_fail/94ed2856: Test completed with returncode: 1
exit1_fail/94ed2856: Writing output file -  /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_return
code/exit1_fail/94ed2856/exit1_fail.out
exit1_fail/94ed2856: Writing error file - /home/docs/checkouts/readthedocs.org/u
ser_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnco
de/exit1_fail/94ed2856/exit1_fail.err
returncode_int_match/75965073: Test completed in 0.018189 seconds
returncode_int_match/75965073: Test completed with returncode: 128
returncode_int_match/75965073: Writing output file -  /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/p
ass_returncode/returncode_int_match/75965073/returncode_int_match.out
returncode_int_match/75965073: Writing error file - /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pas
s_returncode/returncode_int_match/75965073/returncode_int_match.err
returncode_int_match/75965073: Checking returncode - 128 is matched in list 
[128]
returncode_list_mismatch/bc13fdc2: Running Test via command: bash --norc 
--noprofile -eo pipefail returncode_list_mismatch_build.sh
exit1_pass/a60332dc: Running Test via command: bash --norc --noprofile -eo 
pipefail exit1_pass_build.sh
returncode_list_mismatch/bc13fdc2: Test completed in 0.016706 seconds
returncode_list_mismatch/bc13fdc2: Test completed with returncode: 2
returncode_list_mismatch/bc13fdc2: Writing output file -  /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/pass_returncode/returncode_list_mismatch/bc13fdc2/returncode_list_mismatch.ou
t
returncode_list_mismatch/bc13fdc2: Writing error file - /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/pass_returncode/returncode_list_mismatch/bc13fdc2/returncode_list_mismatch.err
returncode_list_mismatch/bc13fdc2: Checking returncode - 2 is matched in list 
[1, 3]
exit1_pass/a60332dc: Test completed in 0.019061 seconds
exit1_pass/a60332dc: Test completed with returncode: 1
exit1_pass/a60332dc: Writing output file -  /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_return
code/exit1_pass/a60332dc/exit1_pass.out
exit1_pass/a60332dc: Writing error file - /home/docs/checkouts/readthedocs.org/u
ser_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnco
de/exit1_pass/a60332dc/exit1_pass.err
exit1_pass/a60332dc: Checking returncode - 1 is matched in list [1]
exit1_pass/ef449690: Running Test via command: bash --norc --noprofile -eo 
pipefail exit1_pass_build.sh
exit1_fail/49df46fc: Running Test via command: bash --norc --noprofile -eo 
pipefail exit1_fail_build.sh
exit1_pass/ef449690: Test completed in 0.020431 seconds
exit1_pass/ef449690: Test completed with returncode: 1
exit1_pass/ef449690: Writing output file -  /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_return
code/exit1_pass/ef449690/exit1_pass.out
exit1_pass/ef449690: Writing error file - /home/docs/checkouts/readthedocs.org/u
ser_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnco
de/exit1_pass/ef449690/exit1_pass.err
exit1_pass/ef449690: Checking returncode - 1 is matched in list [1]
exit1_fail/49df46fc: Test completed in 0.020532 seconds
exit1_fail/49df46fc: Test completed with returncode: 1
exit1_fail/49df46fc: Writing output file -  /home/docs/checkouts/readthedocs.org
/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_return
code/exit1_fail/49df46fc/exit1_fail.out
exit1_fail/49df46fc: Writing error file - /home/docs/checkouts/readthedocs.org/u
ser_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pass_returnco
de/exit1_fail/49df46fc/exit1_fail.err
returncode_int_match/c00b92a8: Running Test via command: bash --norc --noprofile
-eo pipefail returncode_int_match_build.sh
returncode_list_mismatch/ab77d6d0: Running Test via command: bash --norc 
--noprofile -eo pipefail returncode_list_mismatch_build.sh
returncode_int_match/c00b92a8: Test completed in 0.021016 seconds
returncode_int_match/c00b92a8: Test completed with returncode: 128
returncode_int_match/c00b92a8: Writing output file -  /home/docs/checkouts/readt
hedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/p
ass_returncode/returncode_int_match/c00b92a8/returncode_int_match.out
returncode_int_match/c00b92a8: Writing error file - /home/docs/checkouts/readthe
docs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/pas
s_returncode/returncode_int_match/c00b92a8/returncode_int_match.err
returncode_int_match/c00b92a8: Checking returncode - 128 is matched in list 
[128]
returncode_list_mismatch/ab77d6d0: Test completed in 0.021482 seconds
returncode_list_mismatch/ab77d6d0: Test completed with returncode: 2
returncode_list_mismatch/ab77d6d0: Writing output file -  /home/docs/checkouts/r
eadthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.ba
sh/pass_returncode/returncode_list_mismatch/ab77d6d0/returncode_list_mismatch.ou
t
returncode_list_mismatch/ab77d6d0: Writing error file - /home/docs/checkouts/rea
dthedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash
/pass_returncode/returncode_list_mismatch/ab77d6d0/returncode_list_mismatch.err
returncode_list_mismatch/ab77d6d0: Checking returncode - 2 is matched in list 
[1, 3]
In this iteration we are going to run the following tests: [returncode_int_match/75965073, exit1_fail/94ed2856, returncode_list_mismatch/bc13fdc2, exit1_pass/a60332dc, exit1_pass/ef449690, exit1_fail/49df46fc, returncode_int_match/c00b92a8, returncode_list_mismatch/ab77d6d0]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ Checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ Builder      ┃ executor     ┃ status ┃ Runtime)      ┃ ReturnCode ┃ Runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ exit1_pass/a │ generic.loc… │ PASS   │ True False    │ 1          │ 0.019061 │
│ 60332dc      │              │        │ False         │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_pass/e │ generic.loc… │ PASS   │ True False    │ 1          │ 0.020431 │
│ f449690      │              │        │ False         │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ returncode_i │ generic.loc… │ PASS   │ True False    │ 128        │ 0.021016 │
│ nt_match/c00 │              │        │ False         │            │          │
│ b92a8        │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ returncode_i │ generic.loc… │ PASS   │ True False    │ 128        │ 0.018189 │
│ nt_match/759 │              │        │ False         │            │          │
│ 65073        │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_fail/4 │ generic.loc… │ FAIL   │ N/A N/A N/A   │ 1          │ 0.020532 │
│ 9df46fc      │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ returncode_l │ generic.loc… │ FAIL   │ False False   │ 2          │ 0.021482 │
│ ist_mismatch │              │        │ False         │            │          │
│ /ab77d6d0    │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_fail/9 │ generic.loc… │ FAIL   │ N/A N/A N/A   │ 1          │ 0.016071 │
│ 4ed2856      │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ returncode_l │ generic.loc… │ FAIL   │ False False   │ 2          │ 0.016706 │
│ ist_mismatch │              │        │ False         │            │          │
│ /bc13fdc2    │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 8 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildt
est/checkouts/latest/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/logs/buildtest_3mahojd_.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/pass_returncode.yml --rebuild 51
╭───────────────────── Traceback (most recent call last) ──────────────────────╮
│                                                                              │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/ │
│ bin/buildtest:36 in <module>                                                 │
│                                                                              │
│   33                                                                         │
│   34 import buildtest.main                                                   │
│   35                                                                         │
│ ❱ 36 buildtest.main.main()                                                   │
│   37                                                                         │
│                                                                              │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │ __annotations__ = {}                                                     │ │
│ │    __builtins__ = <module 'builtins' (built-in)>                         │ │
│ │      __cached__ = None                                                   │ │
│ │         __doc__ = ':"\n# preferred pythons for running                   │ │
│ │                   buildtest\nPREFERRED_PYTHONS="python3 python"\n'+365   │ │
│ │        __file__ = '/home/docs/checkouts/readthedocs.org/user_builds/bui… │ │
│ │      __loader__ = <_frozen_importlib_external.SourceFileLoader object at │ │
│ │                   0x7ff84ea01190>                                        │ │
│ │        __name__ = '__main__'                                             │ │
│ │     __package__ = None                                                   │ │
│ │        __spec__ = None                                                   │ │
│ │       buildtest = <module 'buildtest' from                               │ │
│ │                   '/home/docs/checkouts/readthedocs.org/user_builds/bui… │ │
│ │  buildtest_file = '/home/docs/checkouts/readthedocs.org/user_builds/bui… │ │
│ │              os = <module 'os' from                                      │ │
│ │                   '/home/docs/.asdf/installs/python/3.7.12/lib/python3.… │ │
│ │          prefix = '/home/docs/checkouts/readthedocs.org/user_builds/bui… │ │
│ │             sys = <module 'sys' (built-in)>                              │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/ │
│ buildtest/main.py:140 in main                                                │
│                                                                              │
│   137 │   │   │   │   modulepurge=args.module_purge,                         │
│   138 │   │   │   │   unload_modules=args.unload_modules,                    │
│   139 │   │   │   │   rerun=args.rerun,                                      │
│ ❱ 140 │   │   │   │   executor_type=args.executor_type,                      │
│   141 │   │   │   )                                                          │
│   142 │   │   │   cmd.build()                                                │
│   143                                                                        │
│                                                                              │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │               args = Namespace(account=None,                             │ │
│ │                      buildspec=['tutorials/pass_returncode.yml'],        │ │
│ │                      configfile=None, debug=False,                       │ │
│ │                      disable_executor_check=True, exclude=None,          │ │
│ │                      executor=None, executor_type=None, filter=None,     │ │
│ │                      helpfilter=False, keep_stage_dir=False,             │ │
│ │                      lastlog=False, maxpendtime=None,                    │ │
│ │                      module_purge=False, modules=None, no_color=False,   │ │
│ │                      nodes=None, pollinterval=None, procs=None,          │ │
│ │                      rebuild=51, report=None, rerun=False, retry=1,      │ │
│ │                      stage=None, subcommands='build', tags=None,         │ │
│ │                      testdir=None, unload_modules=None)                  │ │
│ │        config_file = None                                                │ │
│ │      configuration = <buildtest.config.SiteConfiguration object at       │ │
│ │                      0x7ff84c9c62d0>                                     │ │
│ │              fname = '/home/docs/checkouts/readthedocs.org/user_builds/… │ │
│ │             logger = <Logger buildtest (DEBUG)>                          │ │
│ │           no_color = False                                               │ │
│ │             parser = ArgumentParser(prog='buildtest', usage='%(prog)s    │ │
│ │                      [options] [COMMANDS]', description='buildtest is a  │ │
│ │                      HPC testing framework for building and running      │ │
│ │                      tests.', formatter_class=<class                     │ │
│ │                      'argparse.RawDescriptionHelpFormatter'>,            │ │
│ │                      conflict_handler='error', add_help=True)            │ │
│ │        report_file = None                                                │ │
│ │             system = <buildtest.system.BuildTestSystem object at         │ │
│ │                      0x7ff84c9d1850>                                     │ │
│ │ validate_executors = True                                                │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│                                                                              │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/ │
│ buildtest/cli/build.py:552 in __init__                                       │
│                                                                              │
│    549 │   │   │                                                             │
│    550 │   │   │   if rebuild > 50:                                          │
│    551 │   │   │   │   raise BuildTestError(                                 │
│ ❱  552 │   │   │   │   │   f"--rebuild {rebuild} exceeds maximum rebuild lim │
│    553 │   │   │   │   )                                                     │
│    554 │   │                                                                 │
│    555 │   │   self.keep_stage_dir = keep_stage_dir                          │
│                                                                              │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │            account = None                                                │ │
│ │         buildspecs = ['tutorials/pass_returncode.yml']                   │ │
│ │   buildtest_system = <buildtest.system.BuildTestSystem object at         │ │
│ │                      0x7ff84c9d1850>                                     │ │
│ │      configuration = <buildtest.config.SiteConfiguration object at       │ │
│ │                      0x7ff84c9c62d0>                                     │ │
│ │ exclude_buildspecs = None                                                │ │
│ │      executor_type = None                                                │ │
│ │          executors = None                                                │ │
│ │  filter_buildspecs = None                                                │ │
│ │         helpfilter = False                                               │ │
│ │     keep_stage_dir = False                                               │ │
│ │        maxpendtime = None                                                │ │
│ │        modulepurge = False                                               │ │
│ │            modules = None                                                │ │
│ │           numnodes = None                                                │ │
│ │           numprocs = None                                                │ │
│ │      poll_interval = None                                                │ │
│ │            rebuild = 51                                                  │ │
│ │        report_file = None                                                │ │
│ │              rerun = False                                               │ │
│ │              retry = 1                                                   │ │
│ │               self = <buildtest.cli.build.BuildTest object at            │ │
│ │                      0x7ff84c96fb10>                                     │ │
│ │              stage = None                                                │ │
│ │               tags = None                                                │ │
│ │            testdir = None                                                │ │
│ │     unload_modules = None                                                │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────╯
BuildTestError: '--rebuild 51 exceeds maximum rebuild limit of 50'

Rerun Last command

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 summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:46                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build -b tutorials/vars.yml                │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  1
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/vars.yml: VALID
Total builder objects created: 1
Total compiler builder: 0
Total script builder: 1
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ variables_bash │ generic.local. │ None     │ Declare shell  │ /home/docs/che │
│ /385e32d9      │ bash           │          │ variables in   │ ckouts/readthe │
│                │                │          │ bash           │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/vars.yml     │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
variables_bash/385e32d9: Creating test directory: /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/
variables_bash/385e32d9
variables_bash/385e32d9: Creating the stage directory: /home/docs/checkouts/read
thedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/
vars/variables_bash/385e32d9/stage
variables_bash/385e32d9: Writing build script: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/var
iables_bash/385e32d9/variables_bash_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 2 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
variables_bash/385e32d9 does not have any dependencies adding test to queue
variables_bash/385e32d9: Running Test via command: bash --norc --noprofile -eo 
pipefail variables_bash_build.sh
variables_bash/385e32d9: Test completed in 0.011715 seconds
variables_bash/385e32d9: Test completed with returncode: 0
variables_bash/385e32d9: Writing output file -  /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/va
riables_bash/385e32d9/variables_bash.out
variables_bash/385e32d9: Writing error file - /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/vari
ables_bash/385e32d9/variables_bash.err
In this iteration we are going to run the following tests: [variables_bash/385e32d9]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ Checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ Builder      ┃ executor     ┃ status ┃ Runtime)      ┃ ReturnCode ┃ Runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ variables_ba │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.011715 │
│ sh/385e32d9  │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 1 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildt
est/checkouts/latest/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/logs/buildtest_2gmp93hn.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
Reading content of rerun file /home/docs/checkouts/readthedocs.org/user_builds/b
uildtest/checkouts/latest/var/rerun.json all other options will be ignored.
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:47                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build --rerun                              │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  1
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/vars.yml: VALID
Total builder objects created: 1
Total compiler builder: 0
Total script builder: 1
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ variables_bash │ generic.local. │ None     │ Declare shell  │ /home/docs/che │
│ /ee71e893      │ bash           │          │ variables in   │ ckouts/readthe │
│                │                │          │ bash           │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/vars.yml     │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
variables_bash/ee71e893: Creating test directory: /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/
variables_bash/ee71e893
variables_bash/ee71e893: Creating the stage directory: /home/docs/checkouts/read
thedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/
vars/variables_bash/ee71e893/stage
variables_bash/ee71e893: Writing build script: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/var
iables_bash/ee71e893/variables_bash_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 2 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
variables_bash/ee71e893 does not have any dependencies adding test to queue
variables_bash/ee71e893: Running Test via command: bash --norc --noprofile -eo 
pipefail variables_bash_build.sh
variables_bash/ee71e893: Test completed in 0.011426 seconds
variables_bash/ee71e893: Test completed with returncode: 0
variables_bash/ee71e893: Writing output file -  /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/va
riables_bash/ee71e893/variables_bash.out
variables_bash/ee71e893: Writing error file - /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/vari
ables_bash/ee71e893/variables_bash.err
In this iteration we are going to run the following tests: [variables_bash/ee71e893]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ Checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ Builder      ┃ executor     ┃ status ┃ Runtime)      ┃ ReturnCode ┃ Runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ variables_ba │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.011426 │
│ sh/ee71e893  │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 1 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildt
est/checkouts/latest/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/logs/buildtest_siwcwd64.log

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

$ buildtest build --rerun -t python --stage=build
Reading content of rerun file /home/docs/checkouts/readthedocs.org/user_builds/b
uildtest/checkouts/latest/var/rerun.json all other options will be ignored.
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-16516694-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2022/03/30 18:21:48                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest                                            │
│ buildtest version:  0.14.0                                                   │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/envs/latest/bin/python3                                                   │
│ python version:     3.7.12                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/buildtest/settings/config.yml                            │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/tests                                                │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/var/report.json                                          │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ st/checkouts/latest/bin/buildtest build --rerun -t python --stage=build      │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
Discovered Buildspecs:  1
Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ Buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest… ║
╚══════════════════════════════════════════════════════════════════════════════╝
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tuto
rials/vars.yml: VALID
Total builder objects created: 1
Total compiler builder: 0
Total script builder: 1
Total spack builder: 0
                             Script Builder Details                             
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Builder        ┃ Executor       ┃ Compiler ┃ description    ┃ buildspecs     ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ variables_bash │ generic.local. │ None     │ Declare shell  │ /home/docs/che │
│ /f456d19d      │ bash           │          │ variables in   │ ckouts/readthe │
│                │                │          │ bash           │ docs.org/user_ │
│                │                │          │                │ builds/buildte │
│                │                │          │                │ st/checkouts/l │
│                │                │          │                │ atest/tutorial │
│                │                │          │                │ s/vars.yml     │
└────────────────┴────────────────┴──────────┴────────────────┴────────────────┘
──────────────────────────────── Building Test ─────────────────────────────────
variables_bash/f456d19d: Creating test directory: /home/docs/checkouts/readthedo
cs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/
variables_bash/f456d19d
variables_bash/f456d19d: Creating the stage directory: /home/docs/checkouts/read
thedocs.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/
vars/variables_bash/f456d19d/stage
variables_bash/f456d19d: Writing build script: /home/docs/checkouts/readthedocs.
org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/var
iables_bash/f456d19d/variables_bash_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 2 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
variables_bash/f456d19d does not have any dependencies adding test to queue
variables_bash/f456d19d: Running Test via command: bash --norc --noprofile -eo 
pipefail variables_bash_build.sh
variables_bash/f456d19d: Test completed in 0.011703 seconds
variables_bash/f456d19d: Test completed with returncode: 0
variables_bash/f456d19d: Writing output file -  /home/docs/checkouts/readthedocs
.org/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/va
riables_bash/f456d19d/variables_bash.out
variables_bash/f456d19d: Writing error file - /home/docs/checkouts/readthedocs.o
rg/user_builds/buildtest/checkouts/latest/var/tests/generic.local.bash/vars/vari
ables_bash/f456d19d/variables_bash.err
In this iteration we are going to run the following tests: [variables_bash/f456d19d]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ Checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ Builder      ┃ executor     ┃ status ┃ Runtime)      ┃ ReturnCode ┃ Runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ variables_ba │ generic.loc… │ PASS   │ N/A N/A N/A   │ 0          │ 0.011703 │
│ sh/f456d19d  │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 1 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildt
est/checkouts/latest/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/var/logs/buildtest_0bijr2ah.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?.

Keeping Stage Directory

buildtest will create setup the test environment in the stage directory where test will be executed. Once test is complete, buildtest will remove the stage directory. If you want to preserve the stage directory you can use buildtest build --keep-stage-dir, this is only useful if you want to run the test manually

Specify Project Account for batch jobs

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