Building Test (buildtest build)

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

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

Note

buildtest bd is an alias for buildtest build command.

Build Usage

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

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

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

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

filter:
  Filter tests after selection

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

module:
  Module Selection option

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

batch:
  Batch Submission Options

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

extra:
  All extra options

  --limit LIMIT         Limit number of tests that can be run.
  --remove-stagedir     Remove stage directory after job completion.
  --rebuild REBUILD     Rebuild test X number of times. Must be a positive
                        number between [1-50]
  --retry RETRY         Retry failed jobs
  -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.
  --timeout TIMEOUT     Specify test timeout in number of seconds
  --save-profile SAVE_PROFILE
                        Save buildtest command options into a profile and
                        update configuration file
  --profile PROFILE     Specify a profile to load from configuration file

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 build -b $BUILDTEST_ROOT/tutorials/vars.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:23:40                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/vars.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ variabl… │ script │ generic… │ None     │ None  │ None  │ Declare  │ /home/… │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ variabl… │         │
│          │        │          │          │       │       │ in bash  │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
variables_bash/d6841bdb: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/d6841bdb
variables_bash/d6841bdb: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/d6841bdb/stage
variables_bash/d6841bdb: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/d6841bdb/variables_bash_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
variables_bash/d6841bdb does not have any dependencies adding test to queue
variables_bash/d6841bdb: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/d6841bdb/stage
variables_bash/d6841bdb: Running Test via command: bash --norc --noprofile -eo pipefail variables_bash_build.sh
variables_bash/d6841bdb: Test completed in 0.075797 seconds
variables_bash/d6841bdb: Test completed with returncode: 0
variables_bash/d6841bdb: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/d6841bdb/variables_bash.out
variables_bash/d6841bdb: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/d6841bdb/variables_bash.err
In this iteration we are going to run the following tests: [variables_bash/d6841bdb]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ variables_ba │ generic.loc… │ PASS   │ None None     │ 0          │ 0.075797 │
│ sh/d6841bdb  │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_rnqjuluu.log

Note

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

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

buildtest build -b $BUILDTEST_ROOT/general_tests/configuration/
$ buildtest build -b $BUILDTEST_ROOT/general_tests/configuration/
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:24:30                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/g… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/g… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/g… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/g… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  4
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  4
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 4
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/general_tests/configuration/systemd-default-target.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/general_tests/configuration/kernel_state.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/general_tests/configuration/disk_usage.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/general_tests/configuration/ulimits.yml: VALID
Total builder objects created: 9
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ systemd… │ script │ generic… │ None     │ None  │ None  │ check if │ /home/… │
│          │        │          │          │       │       │ default  │         │
│          │        │          │          │       │       │ target   │         │
│          │        │          │          │       │       │ is       │         │
│          │        │          │          │       │       │ multi-u… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ kernel_… │ script │ generic… │ None     │ None  │ None  │ Retrieve │ /home/… │
│          │        │          │          │       │       │ Kernel   │         │
│          │        │          │          │       │       │ Swap     │         │
│          │        │          │          │       │       │ Usage    │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ root_di… │ script │ generic… │ None     │ None  │ None  │ Check    │ /home/… │
│          │        │          │          │       │       │ root     │         │
│          │        │          │          │       │       │ disk     │         │
│          │        │          │          │       │       │ usage    │         │
│          │        │          │          │       │       │ and      │         │
│          │        │          │          │       │       │ report   │         │
│          │        │          │          │       │       │ if it    │         │
│          │        │          │          │       │       │ exceeds  │         │
│          │        │          │          │       │       │ thresho… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_… │ script │ generic… │ None     │ None  │ None  │ Check if │ /home/… │
│          │        │          │          │       │       │ file     │         │
│          │        │          │          │       │       │ lock is  │         │
│          │        │          │          │       │       │ set to   │         │
│          │        │          │          │       │       │ unlimit… │         │
│          │        │          │          │       │       │ in       │         │
│          │        │          │          │       │       │ ulimits  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_… │ script │ generic… │ None     │ None  │ None  │ Check if │ /home/… │
│          │        │          │          │       │       │ cputime  │         │
│          │        │          │          │       │       │ is set   │         │
│          │        │          │          │       │       │ to       │         │
│          │        │          │          │       │       │ unlimit… │         │
│          │        │          │          │       │       │ in       │         │
│          │        │          │          │       │       │ ulimits  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_… │ script │ generic… │ None     │ None  │ None  │ Check if │ /home/… │
│          │        │          │          │       │       │ stack    │         │
│          │        │          │          │       │       │ size is  │         │
│          │        │          │          │       │       │ set to   │         │
│          │        │          │          │       │       │ unlimit… │         │
│          │        │          │          │       │       │ in       │         │
│          │        │          │          │       │       │ ulimits  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_… │ script │ generic… │ None     │ None  │ None  │ Check    │ /home/… │
│          │        │          │          │       │       │ virtual  │         │
│          │        │          │          │       │       │ memory   │         │
│          │        │          │          │       │       │ size and │         │
│          │        │          │          │       │       │ check if │         │
│          │        │          │          │       │       │ its set  │         │
│          │        │          │          │       │       │ to       │         │
│          │        │          │          │       │       │ unlimit… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_… │ script │ generic… │ None     │ None  │ None  │ Check if │ /home/… │
│          │        │          │          │       │       │ open     │         │
│          │        │          │          │       │       │ file     │         │
│          │        │          │          │       │       │ descrip… │         │
│          │        │          │          │       │       │ limit is │         │
│          │        │          │          │       │       │ set to   │         │
│          │        │          │          │       │       │ 4096     │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_… │ script │ generic… │ None     │ None  │ None  │ Check    │ /home/… │
│          │        │          │          │       │       │ max      │         │
│          │        │          │          │       │       │ number   │         │
│          │        │          │          │       │       │ of user  │         │
│          │        │          │          │       │       │ process  │         │
│          │        │          │          │       │       │ limit is │         │
│          │        │          │          │       │       │ set to   │         │
│          │        │          │          │       │       │ 2048     │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
systemd_default_target/775809f0: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/775809f0
systemd_default_target/775809f0: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/775809f0/stage
systemd_default_target/775809f0: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/775809f0/systemd_default_target_build.sh
kernel_swapusage/cf2174db: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/cf2174db
kernel_swapusage/cf2174db: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/cf2174db/stage
kernel_swapusage/cf2174db: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/cf2174db/kernel_swapusage_build.sh
root_disk_usage/82ae0ea3: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/82ae0ea3
root_disk_usage/82ae0ea3: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/82ae0ea3/stage
root_disk_usage/82ae0ea3: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/82ae0ea3/root_disk_usage_build.sh
ulimit_filelock_unlimited/00a74171: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/00a74171
ulimit_filelock_unlimited/00a74171: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/00a74171/stage
ulimit_filelock_unlimited/00a74171: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/00a74171/ulimit_filelock_unlimited_build.sh
ulimit_cputime_unlimited/ef6d11ba: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/ef6d11ba
ulimit_cputime_unlimited/ef6d11ba: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/ef6d11ba/stage
ulimit_cputime_unlimited/ef6d11ba: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/ef6d11ba/ulimit_cputime_unlimited_build.sh
ulimit_stacksize_unlimited/428bb48b: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/428bb48b
ulimit_stacksize_unlimited/428bb48b: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/428bb48b/stage
ulimit_stacksize_unlimited/428bb48b: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/428bb48b/ulimit_stacksize_unlimited_build.sh
ulimit_vmsize_unlimited/d623885d: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/d623885d
ulimit_vmsize_unlimited/d623885d: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/d623885d/stage
ulimit_vmsize_unlimited/d623885d: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/d623885d/ulimit_vmsize_unlimited_build.sh
ulimit_filedescriptor_4096/e2dbb262: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/e2dbb262
ulimit_filedescriptor_4096/e2dbb262: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/e2dbb262/stage
ulimit_filedescriptor_4096/e2dbb262: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/e2dbb262/ulimit_filedescriptor_4096_build.sh
ulimit_max_user_process_2048/44fa4e89: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/44fa4e89
ulimit_max_user_process_2048/44fa4e89: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/44fa4e89/stage
ulimit_max_user_process_2048/44fa4e89: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/44fa4e89/ulimit_max_user_process_2048_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
systemd_default_target/775809f0 does not have any dependencies adding test to queue
kernel_swapusage/cf2174db does not have any dependencies adding test to queue
ulimit_filelock_unlimited/00a74171 does not have any dependencies adding test to queue
ulimit_vmsize_unlimited/d623885d does not have any dependencies adding test to queue
ulimit_max_user_process_2048/44fa4e89 does not have any dependencies adding test to queue
root_disk_usage/82ae0ea3 does not have any dependencies adding test to queue
ulimit_filedescriptor_4096/e2dbb262 does not have any dependencies adding test to queue
ulimit_cputime_unlimited/ef6d11ba does not have any dependencies adding test to queue
ulimit_stacksize_unlimited/428bb48b does not have any dependencies adding test to queue
systemd_default_target/775809f0: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/775809f0/stage
systemd_default_target/775809f0: Running Test via command: bash --norc --noprofile -eo pipefail systemd_default_target_build.sh
systemd_default_target/775809f0 failed to submit job with returncode: 1 


systemd_default_target/775809f0: Detected failure in running test, will attempt to retry test: 1 times
systemd_default_target/775809f0: Run - 1/1
systemd_default_target/775809f0: Running Test via command: bash --norc --noprofile -eo pipefail systemd_default_target_build.sh
systemd_default_target/775809f0: failed to submit job with returncode: 1 
systemd_default_target/775809f0: Test completed in 0.018812 seconds
systemd_default_target/775809f0: Test completed with returncode: 1
systemd_default_target/775809f0: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/775809f0/systemd_default_target.out
systemd_default_target/775809f0: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/775809f0/systemd_default_target.err
kernel_swapusage/cf2174db: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/cf2174db/stage
kernel_swapusage/cf2174db: Running Test via command: bash --norc --noprofile -eo pipefail kernel_swapusage_build.sh
kernel_swapusage/cf2174db failed to submit job with returncode: 255 

sysctl: cannot stat /proc/sys/kernel/swapusage: No such file or directory

kernel_swapusage/cf2174db: Detected failure in running test, will attempt to retry test: 1 times
kernel_swapusage/cf2174db: Run - 1/1
kernel_swapusage/cf2174db: Running Test via command: bash --norc --noprofile -eo pipefail kernel_swapusage_build.sh
kernel_swapusage/cf2174db: failed to submit job with returncode: 255 
kernel_swapusage/cf2174db: Test completed in 0.014793 seconds
kernel_swapusage/cf2174db: Test completed with returncode: 255
kernel_swapusage/cf2174db: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/cf2174db/kernel_swapusage.out
kernel_swapusage/cf2174db: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/cf2174db/kernel_swapusage.err
ulimit_filelock_unlimited/00a74171: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/00a74171/stage
ulimit_filelock_unlimited/00a74171: Running Test via command: bash --norc --noprofile -eo pipefail ulimit_filelock_unlimited_build.sh
ulimit_filelock_unlimited/00a74171: Test completed in 0.005456 seconds
ulimit_filelock_unlimited/00a74171: Test completed with returncode: 0
ulimit_filelock_unlimited/00a74171: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/00a74171/ulimit_filelock_unlimited.out
ulimit_filelock_unlimited/00a74171: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/00a74171/ulimit_filelock_unlimited.err
ulimit_filelock_unlimited/00a74171: performing regular expression - '^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/00a74171/ulimit_filelock_unlimited.out
ulimit_filelock_unlimited/00a74171: Regular Expression Match - Success!
ulimit_vmsize_unlimited/d623885d: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/d623885d/stage
ulimit_vmsize_unlimited/d623885d: Running Test via command: bash --norc --noprofile -eo pipefail ulimit_vmsize_unlimited_build.sh
ulimit_vmsize_unlimited/d623885d: Test completed in 0.005236 seconds
ulimit_vmsize_unlimited/d623885d: Test completed with returncode: 0
ulimit_vmsize_unlimited/d623885d: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/d623885d/ulimit_vmsize_unlimited.out
ulimit_vmsize_unlimited/d623885d: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/d623885d/ulimit_vmsize_unlimited.err
ulimit_vmsize_unlimited/d623885d: performing regular expression - '^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/d623885d/ulimit_vmsize_unlimited.out
ulimit_vmsize_unlimited/d623885d: Regular Expression Match - Success!
ulimit_max_user_process_2048/44fa4e89: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/44fa4e89/stage
ulimit_max_user_process_2048/44fa4e89: Running Test via command: bash --norc --noprofile -eo pipefail ulimit_max_user_process_2048_build.sh
ulimit_max_user_process_2048/44fa4e89: Test completed in 0.005216 seconds
ulimit_max_user_process_2048/44fa4e89: Test completed with returncode: 0
ulimit_max_user_process_2048/44fa4e89: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/44fa4e89/ulimit_max_user_process_2048.out
ulimit_max_user_process_2048/44fa4e89: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/44fa4e89/ulimit_max_user_process_2048.err
ulimit_max_user_process_2048/44fa4e89: performing regular expression - '^2048$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/44fa4e89/ulimit_max_user_process_2048.out
ulimit_max_user_process_2048/44fa4e89: Regular Expression Match - Failed!
root_disk_usage/82ae0ea3: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/82ae0ea3/stage
root_disk_usage/82ae0ea3: Running Test via command: bash --norc --noprofile -eo pipefail root_disk_usage_build.sh
root_disk_usage/82ae0ea3: Test completed in 0.008704 seconds
root_disk_usage/82ae0ea3: Test completed with returncode: 0
root_disk_usage/82ae0ea3: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/82ae0ea3/root_disk_usage.out
root_disk_usage/82ae0ea3: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/82ae0ea3/root_disk_usage.err
ulimit_filedescriptor_4096/e2dbb262: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/e2dbb262/stage
ulimit_filedescriptor_4096/e2dbb262: Running Test via command: bash --norc --noprofile -eo pipefail ulimit_filedescriptor_4096_build.sh
ulimit_filedescriptor_4096/e2dbb262: Test completed in 0.005267 seconds
ulimit_filedescriptor_4096/e2dbb262: Test completed with returncode: 0
ulimit_filedescriptor_4096/e2dbb262: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/e2dbb262/ulimit_filedescriptor_4096.out
ulimit_filedescriptor_4096/e2dbb262: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/e2dbb262/ulimit_filedescriptor_4096.err
ulimit_filedescriptor_4096/e2dbb262: performing regular expression - '^4096$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/e2dbb262/ulimit_filedescriptor_4096.out
ulimit_filedescriptor_4096/e2dbb262: Regular Expression Match - Failed!
ulimit_cputime_unlimited/ef6d11ba: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/ef6d11ba/stage
ulimit_cputime_unlimited/ef6d11ba: Running Test via command: bash --norc --noprofile -eo pipefail ulimit_cputime_unlimited_build.sh
ulimit_cputime_unlimited/ef6d11ba: Test completed in 0.005298 seconds
ulimit_cputime_unlimited/ef6d11ba: Test completed with returncode: 0
ulimit_cputime_unlimited/ef6d11ba: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/ef6d11ba/ulimit_cputime_unlimited.out
ulimit_cputime_unlimited/ef6d11ba: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/ef6d11ba/ulimit_cputime_unlimited.err
ulimit_cputime_unlimited/ef6d11ba: performing regular expression - '^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/ef6d11ba/ulimit_cputime_unlimited.out
ulimit_cputime_unlimited/ef6d11ba: Regular Expression Match - Success!
ulimit_stacksize_unlimited/428bb48b: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/428bb48b/stage
ulimit_stacksize_unlimited/428bb48b: Running Test via command: bash --norc --noprofile -eo pipefail ulimit_stacksize_unlimited_build.sh
ulimit_stacksize_unlimited/428bb48b: Test completed in 0.006067 seconds
ulimit_stacksize_unlimited/428bb48b: Test completed with returncode: 0
ulimit_stacksize_unlimited/428bb48b: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/428bb48b/ulimit_stacksize_unlimited.out
ulimit_stacksize_unlimited/428bb48b: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/428bb48b/ulimit_stacksize_unlimited.err
ulimit_stacksize_unlimited/428bb48b: performing regular expression - '^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/428bb48b/ulimit_stacksize_unlimited.out
ulimit_stacksize_unlimited/428bb48b: Regular Expression Match - Failed!
In this iteration we are going to run the following tests: [systemd_default_target/775809f0, kernel_swapusage/cf2174db, ulimit_filelock_unlimited/00a74171, ulimit_vmsize_unlimited/d623885d, ulimit_max_user_process_2048/44fa4e89, root_disk_usage/82ae0ea3, ulimit_filedescriptor_4096/e2dbb262, ulimit_cputime_unlimited/ef6d11ba, ulimit_stacksize_unlimited/428bb48b]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ ulimit_filed │ generic.loc… │ FAIL   │ None False    │ 0          │ 0.005267 │
│ escriptor_40 │              │        │ None          │            │          │
│ 96/e2dbb262  │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ root_disk_us │ generic.loc… │ PASS   │ None None     │ 0          │ 0.008704 │
│ age/82ae0ea3 │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_filel │ generic.loc… │ PASS   │ None True     │ 0          │ 0.005456 │
│ ock_unlimite │              │        │ None          │            │          │
│ d/00a74171   │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_stack │ generic.loc… │ FAIL   │ None False    │ 0          │ 0.006067 │
│ size_unlimit │              │        │ None          │            │          │
│ ed/428bb48b  │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_vmsiz │ generic.loc… │ PASS   │ None True     │ 0          │ 0.005236 │
│ e_unlimited/ │              │        │ None          │            │          │
│ d623885d     │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_cputi │ generic.loc… │ PASS   │ None True     │ 0          │ 0.005298 │
│ me_unlimited │              │        │ None          │            │          │
│ /ef6d11ba    │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ kernel_swapu │ generic.loc… │ FAIL   │ None None     │ 255        │ 0.014793 │
│ sage/cf2174d │              │        │ None          │            │          │
│ b            │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_max_u │ generic.loc… │ FAIL   │ None False    │ 0          │ 0.005216 │
│ ser_process_ │              │        │ None          │            │          │
│ 2048/44fa4e8 │              │        │               │            │          │
│ 9            │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ systemd_defa │ generic.loc… │ FAIL   │ None None     │ 1          │ 0.018812 │
│ ult_target/7 │              │        │ None          │            │          │
│ 75809f0      │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_wyvm9cbb.log

Building Multiple Buildspecs

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

buildtest build -b $BUILDTEST_ROOT/general_tests/configuration/ -b $BUILDTEST_ROOT/tutorials/vars.yml
$ buildtest build -b $BUILDTEST_ROOT/general_tests/configuration/ -b $BUILDTEST_ROOT/tutorials/vars.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:24:31                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/g… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/g… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/g… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/g… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  5
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  5
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 5
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/general_tests/configuration/systemd-default-target.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/general_tests/configuration/disk_usage.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/general_tests/configuration/ulimits.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/general_tests/configuration/kernel_state.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/vars.yml: VALID
Total builder objects created: 10
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ systemd… │ script │ generic… │ None     │ None  │ None  │ check if │ /home/… │
│          │        │          │          │       │       │ default  │         │
│          │        │          │          │       │       │ target   │         │
│          │        │          │          │       │       │ is       │         │
│          │        │          │          │       │       │ multi-u… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ root_di… │ script │ generic… │ None     │ None  │ None  │ Check    │ /home/… │
│          │        │          │          │       │       │ root     │         │
│          │        │          │          │       │       │ disk     │         │
│          │        │          │          │       │       │ usage    │         │
│          │        │          │          │       │       │ and      │         │
│          │        │          │          │       │       │ report   │         │
│          │        │          │          │       │       │ if it    │         │
│          │        │          │          │       │       │ exceeds  │         │
│          │        │          │          │       │       │ thresho… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_… │ script │ generic… │ None     │ None  │ None  │ Check if │ /home/… │
│          │        │          │          │       │       │ file     │         │
│          │        │          │          │       │       │ lock is  │         │
│          │        │          │          │       │       │ set to   │         │
│          │        │          │          │       │       │ unlimit… │         │
│          │        │          │          │       │       │ in       │         │
│          │        │          │          │       │       │ ulimits  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_… │ script │ generic… │ None     │ None  │ None  │ Check if │ /home/… │
│          │        │          │          │       │       │ cputime  │         │
│          │        │          │          │       │       │ is set   │         │
│          │        │          │          │       │       │ to       │         │
│          │        │          │          │       │       │ unlimit… │         │
│          │        │          │          │       │       │ in       │         │
│          │        │          │          │       │       │ ulimits  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_… │ script │ generic… │ None     │ None  │ None  │ Check if │ /home/… │
│          │        │          │          │       │       │ stack    │         │
│          │        │          │          │       │       │ size is  │         │
│          │        │          │          │       │       │ set to   │         │
│          │        │          │          │       │       │ unlimit… │         │
│          │        │          │          │       │       │ in       │         │
│          │        │          │          │       │       │ ulimits  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_… │ script │ generic… │ None     │ None  │ None  │ Check    │ /home/… │
│          │        │          │          │       │       │ virtual  │         │
│          │        │          │          │       │       │ memory   │         │
│          │        │          │          │       │       │ size and │         │
│          │        │          │          │       │       │ check if │         │
│          │        │          │          │       │       │ its set  │         │
│          │        │          │          │       │       │ to       │         │
│          │        │          │          │       │       │ unlimit… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_… │ script │ generic… │ None     │ None  │ None  │ Check if │ /home/… │
│          │        │          │          │       │       │ open     │         │
│          │        │          │          │       │       │ file     │         │
│          │        │          │          │       │       │ descrip… │         │
│          │        │          │          │       │       │ limit is │         │
│          │        │          │          │       │       │ set to   │         │
│          │        │          │          │       │       │ 4096     │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ ulimit_… │ script │ generic… │ None     │ None  │ None  │ Check    │ /home/… │
│          │        │          │          │       │       │ max      │         │
│          │        │          │          │       │       │ number   │         │
│          │        │          │          │       │       │ of user  │         │
│          │        │          │          │       │       │ process  │         │
│          │        │          │          │       │       │ limit is │         │
│          │        │          │          │       │       │ set to   │         │
│          │        │          │          │       │       │ 2048     │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ kernel_… │ script │ generic… │ None     │ None  │ None  │ Retrieve │ /home/… │
│          │        │          │          │       │       │ Kernel   │         │
│          │        │          │          │       │       │ Swap     │         │
│          │        │          │          │       │       │ Usage    │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ variabl… │ script │ generic… │ None     │ None  │ None  │ Declare  │ /home/… │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ variabl… │         │
│          │        │          │          │       │       │ in bash  │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
systemd_default_target/73a3f307: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/73a3f307
systemd_default_target/73a3f307: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/73a3f307/stage
systemd_default_target/73a3f307: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/73a3f307/systemd_default_target_build.sh
root_disk_usage/11a1233e: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/11a1233e
root_disk_usage/11a1233e: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/11a1233e/stage
root_disk_usage/11a1233e: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/11a1233e/root_disk_usage_build.sh
ulimit_filelock_unlimited/1be07b63: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/1be07b63
ulimit_filelock_unlimited/1be07b63: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/1be07b63/stage
ulimit_filelock_unlimited/1be07b63: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/1be07b63/ulimit_filelock_unlimited_build.sh
ulimit_cputime_unlimited/21b76684: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/21b76684
ulimit_cputime_unlimited/21b76684: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/21b76684/stage
ulimit_cputime_unlimited/21b76684: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/21b76684/ulimit_cputime_unlimited_build.sh
ulimit_stacksize_unlimited/426082d1: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/426082d1
ulimit_stacksize_unlimited/426082d1: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/426082d1/stage
ulimit_stacksize_unlimited/426082d1: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/426082d1/ulimit_stacksize_unlimited_build.sh
ulimit_vmsize_unlimited/df4d4f1d: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/df4d4f1d
ulimit_vmsize_unlimited/df4d4f1d: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/df4d4f1d/stage
ulimit_vmsize_unlimited/df4d4f1d: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/df4d4f1d/ulimit_vmsize_unlimited_build.sh
ulimit_filedescriptor_4096/36d10cf6: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/36d10cf6
ulimit_filedescriptor_4096/36d10cf6: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/36d10cf6/stage
ulimit_filedescriptor_4096/36d10cf6: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/36d10cf6/ulimit_filedescriptor_4096_build.sh
ulimit_max_user_process_2048/d2d78321: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/d2d78321
ulimit_max_user_process_2048/d2d78321: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/d2d78321/stage
ulimit_max_user_process_2048/d2d78321: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/d2d78321/ulimit_max_user_process_2048_build.sh
kernel_swapusage/863572ec: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/863572ec
kernel_swapusage/863572ec: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/863572ec/stage
kernel_swapusage/863572ec: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/863572ec/kernel_swapusage_build.sh
variables_bash/e9df69ac: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/e9df69ac
variables_bash/e9df69ac: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/e9df69ac/stage
variables_bash/e9df69ac: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/e9df69ac/variables_bash_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
kernel_swapusage/863572ec does not have any dependencies adding test to queue
ulimit_filelock_unlimited/1be07b63 does not have any dependencies adding test to queue
root_disk_usage/11a1233e does not have any dependencies adding test to queue
ulimit_max_user_process_2048/d2d78321 does not have any dependencies adding test to queue
ulimit_filedescriptor_4096/36d10cf6 does not have any dependencies adding test to queue
ulimit_stacksize_unlimited/426082d1 does not have any dependencies adding test to queue
systemd_default_target/73a3f307 does not have any dependencies adding test to queue
ulimit_vmsize_unlimited/df4d4f1d does not have any dependencies adding test to queue
ulimit_cputime_unlimited/21b76684 does not have any dependencies adding test to queue
variables_bash/e9df69ac does not have any dependencies adding test to queue
kernel_swapusage/863572ec: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/863572ec/stage
kernel_swapusage/863572ec: Running Test via command: bash --norc --noprofile -eo pipefail kernel_swapusage_build.sh
kernel_swapusage/863572ec failed to submit job with returncode: 255 

sysctl: cannot stat /proc/sys/kernel/swapusage: No such file or directory

kernel_swapusage/863572ec: Detected failure in running test, will attempt to retry test: 1 times
kernel_swapusage/863572ec: Run - 1/1
kernel_swapusage/863572ec: Running Test via command: bash --norc --noprofile -eo pipefail kernel_swapusage_build.sh
kernel_swapusage/863572ec: failed to submit job with returncode: 255 
kernel_swapusage/863572ec: Test completed in 0.015765 seconds
kernel_swapusage/863572ec: Test completed with returncode: 255
kernel_swapusage/863572ec: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/863572ec/kernel_swapusage.out
kernel_swapusage/863572ec: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/863572ec/kernel_swapusage.err
ulimit_filelock_unlimited/1be07b63: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/1be07b63/stage
ulimit_filelock_unlimited/1be07b63: Running Test via command: bash --norc --noprofile -eo pipefail ulimit_filelock_unlimited_build.sh
ulimit_filelock_unlimited/1be07b63: Test completed in 0.005313 seconds
ulimit_filelock_unlimited/1be07b63: Test completed with returncode: 0
ulimit_filelock_unlimited/1be07b63: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/1be07b63/ulimit_filelock_unlimited.out
ulimit_filelock_unlimited/1be07b63: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/1be07b63/ulimit_filelock_unlimited.err
ulimit_filelock_unlimited/1be07b63: performing regular expression - '^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/1be07b63/ulimit_filelock_unlimited.out
ulimit_filelock_unlimited/1be07b63: Regular Expression Match - Success!
root_disk_usage/11a1233e: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/11a1233e/stage
root_disk_usage/11a1233e: Running Test via command: bash --norc --noprofile -eo pipefail root_disk_usage_build.sh
root_disk_usage/11a1233e: Test completed in 0.008874 seconds
root_disk_usage/11a1233e: Test completed with returncode: 0
root_disk_usage/11a1233e: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/11a1233e/root_disk_usage.out
root_disk_usage/11a1233e: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/11a1233e/root_disk_usage.err
ulimit_max_user_process_2048/d2d78321: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/d2d78321/stage
ulimit_max_user_process_2048/d2d78321: Running Test via command: bash --norc --noprofile -eo pipefail ulimit_max_user_process_2048_build.sh
ulimit_max_user_process_2048/d2d78321: Test completed in 0.005134 seconds
ulimit_max_user_process_2048/d2d78321: Test completed with returncode: 0
ulimit_max_user_process_2048/d2d78321: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/d2d78321/ulimit_max_user_process_2048.out
ulimit_max_user_process_2048/d2d78321: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/d2d78321/ulimit_max_user_process_2048.err
ulimit_max_user_process_2048/d2d78321: performing regular expression - '^2048$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/d2d78321/ulimit_max_user_process_2048.out
ulimit_max_user_process_2048/d2d78321: Regular Expression Match - Failed!
ulimit_filedescriptor_4096/36d10cf6: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/36d10cf6/stage
ulimit_filedescriptor_4096/36d10cf6: Running Test via command: bash --norc --noprofile -eo pipefail ulimit_filedescriptor_4096_build.sh
ulimit_filedescriptor_4096/36d10cf6: Test completed in 0.005712 seconds
ulimit_filedescriptor_4096/36d10cf6: Test completed with returncode: 0
ulimit_filedescriptor_4096/36d10cf6: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/36d10cf6/ulimit_filedescriptor_4096.out
ulimit_filedescriptor_4096/36d10cf6: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/36d10cf6/ulimit_filedescriptor_4096.err
ulimit_filedescriptor_4096/36d10cf6: performing regular expression - '^4096$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/36d10cf6/ulimit_filedescriptor_4096.out
ulimit_filedescriptor_4096/36d10cf6: Regular Expression Match - Failed!
ulimit_stacksize_unlimited/426082d1: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/426082d1/stage
ulimit_stacksize_unlimited/426082d1: Running Test via command: bash --norc --noprofile -eo pipefail ulimit_stacksize_unlimited_build.sh
ulimit_stacksize_unlimited/426082d1: Test completed in 0.005215 seconds
ulimit_stacksize_unlimited/426082d1: Test completed with returncode: 0
ulimit_stacksize_unlimited/426082d1: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/426082d1/ulimit_stacksize_unlimited.out
ulimit_stacksize_unlimited/426082d1: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/426082d1/ulimit_stacksize_unlimited.err
ulimit_stacksize_unlimited/426082d1: performing regular expression - '^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/426082d1/ulimit_stacksize_unlimited.out
ulimit_stacksize_unlimited/426082d1: Regular Expression Match - Failed!
systemd_default_target/73a3f307: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/73a3f307/stage
systemd_default_target/73a3f307: Running Test via command: bash --norc --noprofile -eo pipefail systemd_default_target_build.sh
systemd_default_target/73a3f307 failed to submit job with returncode: 1 


systemd_default_target/73a3f307: Detected failure in running test, will attempt to retry test: 1 times
systemd_default_target/73a3f307: Run - 1/1
systemd_default_target/73a3f307: Running Test via command: bash --norc --noprofile -eo pipefail systemd_default_target_build.sh
systemd_default_target/73a3f307: failed to submit job with returncode: 1 
systemd_default_target/73a3f307: Test completed in 0.017764 seconds
systemd_default_target/73a3f307: Test completed with returncode: 1
systemd_default_target/73a3f307: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/73a3f307/systemd_default_target.out
systemd_default_target/73a3f307: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/73a3f307/systemd_default_target.err
ulimit_vmsize_unlimited/df4d4f1d: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/df4d4f1d/stage
ulimit_vmsize_unlimited/df4d4f1d: Running Test via command: bash --norc --noprofile -eo pipefail ulimit_vmsize_unlimited_build.sh
ulimit_vmsize_unlimited/df4d4f1d: Test completed in 0.005653 seconds
ulimit_vmsize_unlimited/df4d4f1d: Test completed with returncode: 0
ulimit_vmsize_unlimited/df4d4f1d: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/df4d4f1d/ulimit_vmsize_unlimited.out
ulimit_vmsize_unlimited/df4d4f1d: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/df4d4f1d/ulimit_vmsize_unlimited.err
ulimit_vmsize_unlimited/df4d4f1d: performing regular expression - '^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/df4d4f1d/ulimit_vmsize_unlimited.out
ulimit_vmsize_unlimited/df4d4f1d: Regular Expression Match - Success!
ulimit_cputime_unlimited/21b76684: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/21b76684/stage
ulimit_cputime_unlimited/21b76684: Running Test via command: bash --norc --noprofile -eo pipefail ulimit_cputime_unlimited_build.sh
ulimit_cputime_unlimited/21b76684: Test completed in 0.005853 seconds
ulimit_cputime_unlimited/21b76684: Test completed with returncode: 0
ulimit_cputime_unlimited/21b76684: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/21b76684/ulimit_cputime_unlimited.out
ulimit_cputime_unlimited/21b76684: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/21b76684/ulimit_cputime_unlimited.err
ulimit_cputime_unlimited/21b76684: performing regular expression - '^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/21b76684/ulimit_cputime_unlimited.out
ulimit_cputime_unlimited/21b76684: Regular Expression Match - Success!
variables_bash/e9df69ac: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/e9df69ac/stage
variables_bash/e9df69ac: Running Test via command: bash --norc --noprofile -eo pipefail variables_bash_build.sh
variables_bash/e9df69ac: Test completed in 0.00957 seconds
variables_bash/e9df69ac: Test completed with returncode: 0
variables_bash/e9df69ac: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/e9df69ac/variables_bash.out
variables_bash/e9df69ac: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/e9df69ac/variables_bash.err
In this iteration we are going to run the following tests: [kernel_swapusage/863572ec, ulimit_filelock_unlimited/1be07b63, root_disk_usage/11a1233e, ulimit_max_user_process_2048/d2d78321, ulimit_filedescriptor_4096/36d10cf6, ulimit_stacksize_unlimited/426082d1, systemd_default_target/73a3f307, ulimit_vmsize_unlimited/df4d4f1d, ulimit_cputime_unlimited/21b76684, variables_bash/e9df69ac]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ variables_ba │ generic.loc… │ PASS   │ None None     │ 0          │ 0.00957  │
│ sh/e9df69ac  │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_stack │ generic.loc… │ FAIL   │ None False    │ 0          │ 0.005215 │
│ size_unlimit │              │        │ None          │            │          │
│ ed/426082d1  │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_cputi │ generic.loc… │ PASS   │ None True     │ 0          │ 0.005853 │
│ me_unlimited │              │        │ None          │            │          │
│ /21b76684    │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_filed │ generic.loc… │ FAIL   │ None False    │ 0          │ 0.005712 │
│ escriptor_40 │              │        │ None          │            │          │
│ 96/36d10cf6  │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_filel │ generic.loc… │ PASS   │ None True     │ 0          │ 0.005313 │
│ ock_unlimite │              │        │ None          │            │          │
│ d/1be07b63   │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_vmsiz │ generic.loc… │ PASS   │ None True     │ 0          │ 0.005653 │
│ e_unlimited/ │              │        │ None          │            │          │
│ df4d4f1d     │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ ulimit_max_u │ generic.loc… │ FAIL   │ None False    │ 0          │ 0.005134 │
│ ser_process_ │              │        │ None          │            │          │
│ 2048/d2d7832 │              │        │               │            │          │
│ 1            │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ systemd_defa │ generic.loc… │ FAIL   │ None None     │ 1          │ 0.017764 │
│ ult_target/7 │              │        │ None          │            │          │
│ 3a3f307      │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ root_disk_us │ generic.loc… │ PASS   │ None None     │ 0          │ 0.008874 │
│ age/11a1233e │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ kernel_swapu │ generic.loc… │ FAIL   │ None None     │ 255        │ 0.015765 │
│ sage/863572e │              │        │ None          │            │          │
│ c            │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_68pk11d3.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 bd -b tutorials/ -x tutorials/
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:24:34                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
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 bd -b general_tests/configuration/ -x general_tests/configuration/ulimits.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:24:34                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/g… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/g… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/g… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/g… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                              Excluded buildspecs                               
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/g… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  4
Total Excluded Buildspecs:  1
Detected Buildspecs after exclusion:  3
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 3
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/general_tests/configuration/kernel_state.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/general_tests/configuration/systemd-default-target.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/general_tests/configuration/disk_usage.yml: VALID
Total builder objects created: 3
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ kernel_… │ script │ generic… │ None     │ None  │ None  │ Retrieve │ /home/… │
│          │        │          │          │       │       │ Kernel   │         │
│          │        │          │          │       │       │ Swap     │         │
│          │        │          │          │       │       │ Usage    │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ systemd… │ script │ generic… │ None     │ None  │ None  │ check if │ /home/… │
│          │        │          │          │       │       │ default  │         │
│          │        │          │          │       │       │ target   │         │
│          │        │          │          │       │       │ is       │         │
│          │        │          │          │       │       │ multi-u… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ root_di… │ script │ generic… │ None     │ None  │ None  │ Check    │ /home/… │
│          │        │          │          │       │       │ root     │         │
│          │        │          │          │       │       │ disk     │         │
│          │        │          │          │       │       │ usage    │         │
│          │        │          │          │       │       │ and      │         │
│          │        │          │          │       │       │ report   │         │
│          │        │          │          │       │       │ if it    │         │
│          │        │          │          │       │       │ exceeds  │         │
│          │        │          │          │       │       │ thresho… │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
kernel_swapusage/3a1cf9a6: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/3a1cf9a6
kernel_swapusage/3a1cf9a6: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/3a1cf9a6/stage
kernel_swapusage/3a1cf9a6: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/3a1cf9a6/kernel_swapusage_build.sh
systemd_default_target/709b4c22: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/709b4c22
systemd_default_target/709b4c22: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/709b4c22/stage
systemd_default_target/709b4c22: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/709b4c22/systemd_default_target_build.sh
root_disk_usage/cb45d5f3: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/cb45d5f3
root_disk_usage/cb45d5f3: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/cb45d5f3/stage
root_disk_usage/cb45d5f3: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/cb45d5f3/root_disk_usage_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
root_disk_usage/cb45d5f3 does not have any dependencies adding test to queue
kernel_swapusage/3a1cf9a6 does not have any dependencies adding test to queue
systemd_default_target/709b4c22 does not have any dependencies adding test to queue
root_disk_usage/cb45d5f3: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/cb45d5f3/stage
root_disk_usage/cb45d5f3: Running Test via command: bash --norc --noprofile -eo pipefail root_disk_usage_build.sh
root_disk_usage/cb45d5f3: Test completed in 0.009232 seconds
root_disk_usage/cb45d5f3: Test completed with returncode: 0
root_disk_usage/cb45d5f3: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/cb45d5f3/root_disk_usage.out
root_disk_usage/cb45d5f3: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/disk_usage/root_disk_usage/cb45d5f3/root_disk_usage.err
kernel_swapusage/3a1cf9a6: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/3a1cf9a6/stage
kernel_swapusage/3a1cf9a6: Running Test via command: bash --norc --noprofile -eo pipefail kernel_swapusage_build.sh
kernel_swapusage/3a1cf9a6 failed to submit job with returncode: 255 

sysctl: cannot stat /proc/sys/kernel/swapusage: No such file or directory

kernel_swapusage/3a1cf9a6: Detected failure in running test, will attempt to retry test: 1 times
kernel_swapusage/3a1cf9a6: Run - 1/1
kernel_swapusage/3a1cf9a6: Running Test via command: bash --norc --noprofile -eo pipefail kernel_swapusage_build.sh
kernel_swapusage/3a1cf9a6: failed to submit job with returncode: 255 
kernel_swapusage/3a1cf9a6: Test completed in 0.014679 seconds
kernel_swapusage/3a1cf9a6: Test completed with returncode: 255
kernel_swapusage/3a1cf9a6: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/3a1cf9a6/kernel_swapusage.out
kernel_swapusage/3a1cf9a6: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/kernel_state/kernel_swapusage/3a1cf9a6/kernel_swapusage.err
systemd_default_target/709b4c22: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/709b4c22/stage
systemd_default_target/709b4c22: Running Test via command: bash --norc --noprofile -eo pipefail systemd_default_target_build.sh
systemd_default_target/709b4c22 failed to submit job with returncode: 1 


systemd_default_target/709b4c22: Detected failure in running test, will attempt to retry test: 1 times
systemd_default_target/709b4c22: Run - 1/1
systemd_default_target/709b4c22: Running Test via command: bash --norc --noprofile -eo pipefail systemd_default_target_build.sh
systemd_default_target/709b4c22: failed to submit job with returncode: 1 
systemd_default_target/709b4c22: Test completed in 0.017407 seconds
systemd_default_target/709b4c22: Test completed with returncode: 1
systemd_default_target/709b4c22: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/709b4c22/systemd_default_target.out
systemd_default_target/709b4c22: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/709b4c22/systemd_default_target.err
In this iteration we are going to run the following tests: [root_disk_usage/cb45d5f3, kernel_swapusage/3a1cf9a6, systemd_default_target/709b4c22]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ root_disk_us │ generic.loc… │ PASS   │ None None     │ 0          │ 0.009232 │
│ age/cb45d5f3 │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ systemd_defa │ generic.loc… │ FAIL   │ None None     │ 1          │ 0.017407 │
│ ult_target/7 │              │        │ None          │            │          │
│ 09b4c22      │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ kernel_swapu │ generic.loc… │ FAIL   │ None None     │ 255        │ 0.014679 │
│ sage/3a1cf9a │              │        │ None          │            │          │
│ 6            │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_ayaynx1v.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 build -t network
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:24:35                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                           Buildspecs By Tag=network                            
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/tags_example.yml: VALID
Total builder objects created: 2
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ string_… │ script │ generic… │ None     │ None  │ None  │ tags can │ /home/… │
│          │        │          │          │       │       │ be a     │         │
│          │        │          │          │       │       │ string   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ list_of… │ script │ generic… │ None     │ None  │ None  │ tags can │ /home/… │
│          │        │          │          │       │       │ be a     │         │
│          │        │          │          │       │       │ list of  │         │
│          │        │          │          │       │       │ strings  │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
string_tag/296d4b66: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/string_tag/296d4b66
string_tag/296d4b66: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/string_tag/296d4b66/stage
string_tag/296d4b66: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/string_tag/296d4b66/string_tag_build.sh
list_of_strings_tags/955e97fb: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/list_of_strings_tags/955e97fb
list_of_strings_tags/955e97fb: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/list_of_strings_tags/955e97fb/stage
list_of_strings_tags/955e97fb: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/list_of_strings_tags/955e97fb/list_of_strings_tags_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
string_tag/296d4b66 does not have any dependencies adding test to queue
list_of_strings_tags/955e97fb does not have any dependencies adding test to queue
string_tag/296d4b66: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/string_tag/296d4b66/stage
string_tag/296d4b66: Running Test via command: bash --norc --noprofile -eo pipefail string_tag_build.sh
string_tag/296d4b66: Test completed in 0.006315 seconds
string_tag/296d4b66: Test completed with returncode: 0
string_tag/296d4b66: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/string_tag/296d4b66/string_tag.out
string_tag/296d4b66: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/string_tag/296d4b66/string_tag.err
list_of_strings_tags/955e97fb: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/list_of_strings_tags/955e97fb/stage
list_of_strings_tags/955e97fb: Running Test via command: bash --norc --noprofile -eo pipefail list_of_strings_tags_build.sh
list_of_strings_tags/955e97fb: Test completed in 3.02862 seconds
list_of_strings_tags/955e97fb: Test completed with returncode: 0
list_of_strings_tags/955e97fb: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/list_of_strings_tags/955e97fb/list_of_strings_tags.out
list_of_strings_tags/955e97fb: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/list_of_strings_tags/955e97fb/list_of_strings_tags.err
In this iteration we are going to run the following tests: [string_tag/296d4b66, list_of_strings_tags/955e97fb]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ list_of_stri │ generic.loc… │ PASS   │ None None     │ 0          │ 3.02862  │
│ ngs_tags/955 │              │        │ None          │            │          │
│ e97fb        │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ string_tag/2 │ generic.loc… │ PASS   │ None None     │ 0          │ 0.006315 │
│ 96d4b66      │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_f6w0yziy.log

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

buildtest build -t python -t pass
$ buildtest build -t python -t pass
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:24:39                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                            Buildspecs By Tag=python                            
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                             Buildspecs By Tag=pass                             
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  3
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  3
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 3
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/python-shell.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/python-hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/pass_returncode.yml: VALID
Total builder objects created: 6
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ circle_… │ script │ generic… │ None     │ None  │ None  │ Calcula… │ /home/… │
│          │        │          │          │       │       │ circle   │         │
│          │        │          │          │       │       │ of area  │         │
│          │        │          │          │       │       │ given a  │         │
│          │        │          │          │       │       │ radius   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ python_… │ script │ generic… │ None     │ None  │ None  │ Hello    │ /home/… │
│          │        │          │          │       │       │ World    │         │
│          │        │          │          │       │       │ python   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_f… │ script │ generic… │ None     │ None  │ None  │ exit 1   │ /home/… │
│          │        │          │          │       │       │ by       │         │
│          │        │          │          │       │       │ default  │         │
│          │        │          │          │       │       │ is FAIL  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_p… │ script │ generic… │ None     │ None  │ None  │ report   │ /home/… │
│          │        │          │          │       │       │ exit 1   │         │
│          │        │          │          │       │       │ as PASS  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 2   │ /home/… │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ since it │         │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ to match │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 1        │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 128 │ /home/… │
│          │        │          │          │       │       │ matches  │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 128      │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
circle_area/b29b4f1e: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/b29b4f1e
circle_area/b29b4f1e: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/b29b4f1e/stage
circle_area/b29b4f1e: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/b29b4f1e/circle_area_build.sh
python_hello/261b68b1: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/261b68b1
python_hello/261b68b1: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/261b68b1/stage
python_hello/261b68b1: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/261b68b1/python_hello_build.sh
exit1_fail/e46b2141: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/e46b2141
exit1_fail/e46b2141: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/e46b2141/stage
exit1_fail/e46b2141: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/e46b2141/exit1_fail_build.sh
exit1_pass/2bf9e89c: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/2bf9e89c
exit1_pass/2bf9e89c: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/2bf9e89c/stage
exit1_pass/2bf9e89c: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/2bf9e89c/exit1_pass_build.sh
returncode_list_mismatch/0e9f401f: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0e9f401f
returncode_list_mismatch/0e9f401f: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0e9f401f/stage
returncode_list_mismatch/0e9f401f: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0e9f401f/returncode_list_mismatch_build.sh
returncode_int_match/2012b600: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/2012b600
returncode_int_match/2012b600: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/2012b600/stage
returncode_int_match/2012b600: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/2012b600/returncode_int_match_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
returncode_list_mismatch/0e9f401f does not have any dependencies adding test to queue
exit1_fail/e46b2141 does not have any dependencies adding test to queue
exit1_pass/2bf9e89c does not have any dependencies adding test to queue
python_hello/261b68b1 does not have any dependencies adding test to queue
returncode_int_match/2012b600 does not have any dependencies adding test to queue
circle_area/b29b4f1e does not have any dependencies adding test to queue
returncode_list_mismatch/0e9f401f: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0e9f401f/stage
returncode_list_mismatch/0e9f401f: Running Test via command: bash --norc --noprofile -eo pipefail returncode_list_mismatch_build.sh
returncode_list_mismatch/0e9f401f failed to submit job with returncode: 2 


returncode_list_mismatch/0e9f401f: Detected failure in running test, will attempt to retry test: 1 times
returncode_list_mismatch/0e9f401f: Run - 1/1
returncode_list_mismatch/0e9f401f: Running Test via command: bash --norc --noprofile -eo pipefail returncode_list_mismatch_build.sh
returncode_list_mismatch/0e9f401f: failed to submit job with returncode: 2 
returncode_list_mismatch/0e9f401f: Test completed in 0.013289 seconds
returncode_list_mismatch/0e9f401f: Test completed with returncode: 2
returncode_list_mismatch/0e9f401f: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0e9f401f/returncode_list_mismatch.out
returncode_list_mismatch/0e9f401f: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0e9f401f/returncode_list_mismatch.err
returncode_list_mismatch/0e9f401f: Checking returncode - 2 is matched in list [1, 3]
exit1_fail/e46b2141: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/e46b2141/stage
exit1_fail/e46b2141: Running Test via command: bash --norc --noprofile -eo pipefail exit1_fail_build.sh
exit1_fail/e46b2141 failed to submit job with returncode: 1 


exit1_fail/e46b2141: Detected failure in running test, will attempt to retry test: 1 times
exit1_fail/e46b2141: Run - 1/1
exit1_fail/e46b2141: Running Test via command: bash --norc --noprofile -eo pipefail exit1_fail_build.sh
exit1_fail/e46b2141: failed to submit job with returncode: 1 
exit1_fail/e46b2141: Test completed in 0.013233 seconds
exit1_fail/e46b2141: Test completed with returncode: 1
exit1_fail/e46b2141: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/e46b2141/exit1_fail.out
exit1_fail/e46b2141: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/e46b2141/exit1_fail.err
exit1_pass/2bf9e89c: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/2bf9e89c/stage
exit1_pass/2bf9e89c: Running Test via command: bash --norc --noprofile -eo pipefail exit1_pass_build.sh
exit1_pass/2bf9e89c failed to submit job with returncode: 1 


exit1_pass/2bf9e89c: Detected failure in running test, will attempt to retry test: 1 times
exit1_pass/2bf9e89c: Run - 1/1
exit1_pass/2bf9e89c: Running Test via command: bash --norc --noprofile -eo pipefail exit1_pass_build.sh
exit1_pass/2bf9e89c: failed to submit job with returncode: 1 
exit1_pass/2bf9e89c: Test completed in 0.012764 seconds
exit1_pass/2bf9e89c: Test completed with returncode: 1
exit1_pass/2bf9e89c: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/2bf9e89c/exit1_pass.out
exit1_pass/2bf9e89c: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/2bf9e89c/exit1_pass.err
exit1_pass/2bf9e89c: Checking returncode - 1 is matched in list [1]
python_hello/261b68b1: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/261b68b1/stage
python_hello/261b68b1: Running Test via command: bash --norc --noprofile -eo pipefail python_hello_build.sh
python_hello/261b68b1: Test completed in 0.030564 seconds
python_hello/261b68b1: Test completed with returncode: 0
python_hello/261b68b1: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/261b68b1/python_hello.out
python_hello/261b68b1: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/261b68b1/python_hello.err
returncode_int_match/2012b600: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/2012b600/stage
returncode_int_match/2012b600: Running Test via command: bash --norc --noprofile -eo pipefail returncode_int_match_build.sh
returncode_int_match/2012b600 failed to submit job with returncode: 128 


returncode_int_match/2012b600: Detected failure in running test, will attempt to retry test: 1 times
returncode_int_match/2012b600: Run - 1/1
returncode_int_match/2012b600: Running Test via command: bash --norc --noprofile -eo pipefail returncode_int_match_build.sh
returncode_int_match/2012b600: failed to submit job with returncode: 128 
returncode_int_match/2012b600: Test completed in 0.012767 seconds
returncode_int_match/2012b600: Test completed with returncode: 128
returncode_int_match/2012b600: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/2012b600/returncode_int_match.out
returncode_int_match/2012b600: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/2012b600/returncode_int_match.err
returncode_int_match/2012b600: Checking returncode - 128 is matched in list [128]
circle_area/b29b4f1e: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/b29b4f1e/stage
circle_area/b29b4f1e: Running Test via command: bash --norc --noprofile -eo pipefail circle_area_build.sh
circle_area/b29b4f1e: Test completed in 0.031693 seconds
circle_area/b29b4f1e: Test completed with returncode: 0
circle_area/b29b4f1e: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/b29b4f1e/circle_area.out
circle_area/b29b4f1e: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/b29b4f1e/circle_area.err
In this iteration we are going to run the following tests: [returncode_list_mismatch/0e9f401f, exit1_fail/e46b2141, exit1_pass/2bf9e89c, python_hello/261b68b1, returncode_int_match/2012b600, circle_area/b29b4f1e]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ exit1_fail/e │ generic.loc… │ FAIL   │ None None     │ 1          │ 0.013233 │
│ 46b2141      │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ python_hello │ generic.loc… │ PASS   │ None None     │ 0          │ 0.030564 │
│ /261b68b1    │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ returncode_l │ generic.loc… │ FAIL   │ False None    │ 2          │ 0.013289 │
│ ist_mismatch │              │        │ None          │            │          │
│ /0e9f401f    │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ circle_area/ │ generic.loc… │ PASS   │ None None     │ 0          │ 0.031693 │
│ b29b4f1e     │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ returncode_i │ generic.loc… │ PASS   │ True None     │ 128        │ 0.012767 │
│ nt_match/201 │              │        │ None          │            │          │
│ 2b600        │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_pass/2 │ generic.loc… │ PASS   │ True None     │ 1          │ 0.012764 │
│ bf9e89c      │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_mpau3kvi.log

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

Note

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

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

buildtest build -t pass,fail -t network
$ buildtest build -t pass,fail -t network
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:24:40                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                             Buildspecs By Tag=pass                             
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                             Buildspecs By Tag=fail                             
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                           Buildspecs By Tag=network                            
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  2
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  2
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/pass_returncode.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/tags_example.yml: VALID
Total builder objects created: 6
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_f… │ script │ generic… │ None     │ None  │ None  │ exit 1   │ /home/… │
│          │        │          │          │       │       │ by       │         │
│          │        │          │          │       │       │ default  │         │
│          │        │          │          │       │       │ is FAIL  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_p… │ script │ generic… │ None     │ None  │ None  │ report   │ /home/… │
│          │        │          │          │       │       │ exit 1   │         │
│          │        │          │          │       │       │ as PASS  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 2   │ /home/… │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ since it │         │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ to match │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 1        │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 128 │ /home/… │
│          │        │          │          │       │       │ matches  │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 128      │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ string_… │ script │ generic… │ None     │ None  │ None  │ tags can │ /home/… │
│          │        │          │          │       │       │ be a     │         │
│          │        │          │          │       │       │ string   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ list_of… │ script │ generic… │ None     │ None  │ None  │ tags can │ /home/… │
│          │        │          │          │       │       │ be a     │         │
│          │        │          │          │       │       │ list of  │         │
│          │        │          │          │       │       │ strings  │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
exit1_fail/9ad83ea3: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/9ad83ea3
exit1_fail/9ad83ea3: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/9ad83ea3/stage
exit1_fail/9ad83ea3: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/9ad83ea3/exit1_fail_build.sh
exit1_pass/6d2d9089: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/6d2d9089
exit1_pass/6d2d9089: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/6d2d9089/stage
exit1_pass/6d2d9089: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/6d2d9089/exit1_pass_build.sh
returncode_list_mismatch/5fe1a50c: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/5fe1a50c
returncode_list_mismatch/5fe1a50c: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/5fe1a50c/stage
returncode_list_mismatch/5fe1a50c: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/5fe1a50c/returncode_list_mismatch_build.sh
returncode_int_match/ddc34c68: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/ddc34c68
returncode_int_match/ddc34c68: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/ddc34c68/stage
returncode_int_match/ddc34c68: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/ddc34c68/returncode_int_match_build.sh
string_tag/ea738716: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/string_tag/ea738716
string_tag/ea738716: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/string_tag/ea738716/stage
string_tag/ea738716: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/string_tag/ea738716/string_tag_build.sh
list_of_strings_tags/74b407e3: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/list_of_strings_tags/74b407e3
list_of_strings_tags/74b407e3: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/list_of_strings_tags/74b407e3/stage
list_of_strings_tags/74b407e3: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/list_of_strings_tags/74b407e3/list_of_strings_tags_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
returncode_int_match/ddc34c68 does not have any dependencies adding test to queue
string_tag/ea738716 does not have any dependencies adding test to queue
exit1_pass/6d2d9089 does not have any dependencies adding test to queue
exit1_fail/9ad83ea3 does not have any dependencies adding test to queue
returncode_list_mismatch/5fe1a50c does not have any dependencies adding test to queue
list_of_strings_tags/74b407e3 does not have any dependencies adding test to queue
returncode_int_match/ddc34c68: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/ddc34c68/stage
returncode_int_match/ddc34c68: Running Test via command: bash --norc --noprofile -eo pipefail returncode_int_match_build.sh
returncode_int_match/ddc34c68 failed to submit job with returncode: 128 


returncode_int_match/ddc34c68: Detected failure in running test, will attempt to retry test: 1 times
returncode_int_match/ddc34c68: Run - 1/1
returncode_int_match/ddc34c68: Running Test via command: bash --norc --noprofile -eo pipefail returncode_int_match_build.sh
returncode_int_match/ddc34c68: failed to submit job with returncode: 128 
returncode_int_match/ddc34c68: Test completed in 0.013262 seconds
returncode_int_match/ddc34c68: Test completed with returncode: 128
returncode_int_match/ddc34c68: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/ddc34c68/returncode_int_match.out
returncode_int_match/ddc34c68: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/ddc34c68/returncode_int_match.err
returncode_int_match/ddc34c68: Checking returncode - 128 is matched in list [128]
string_tag/ea738716: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/string_tag/ea738716/stage
string_tag/ea738716: Running Test via command: bash --norc --noprofile -eo pipefail string_tag_build.sh
string_tag/ea738716: Test completed in 0.006043 seconds
string_tag/ea738716: Test completed with returncode: 0
string_tag/ea738716: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/string_tag/ea738716/string_tag.out
string_tag/ea738716: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/string_tag/ea738716/string_tag.err
exit1_pass/6d2d9089: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/6d2d9089/stage
exit1_pass/6d2d9089: Running Test via command: bash --norc --noprofile -eo pipefail exit1_pass_build.sh
exit1_pass/6d2d9089 failed to submit job with returncode: 1 


exit1_pass/6d2d9089: Detected failure in running test, will attempt to retry test: 1 times
exit1_pass/6d2d9089: Run - 1/1
exit1_pass/6d2d9089: Running Test via command: bash --norc --noprofile -eo pipefail exit1_pass_build.sh
exit1_pass/6d2d9089: failed to submit job with returncode: 1 
exit1_pass/6d2d9089: Test completed in 0.01249 seconds
exit1_pass/6d2d9089: Test completed with returncode: 1
exit1_pass/6d2d9089: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/6d2d9089/exit1_pass.out
exit1_pass/6d2d9089: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/6d2d9089/exit1_pass.err
exit1_pass/6d2d9089: Checking returncode - 1 is matched in list [1]
exit1_fail/9ad83ea3: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/9ad83ea3/stage
exit1_fail/9ad83ea3: Running Test via command: bash --norc --noprofile -eo pipefail exit1_fail_build.sh
exit1_fail/9ad83ea3 failed to submit job with returncode: 1 


exit1_fail/9ad83ea3: Detected failure in running test, will attempt to retry test: 1 times
exit1_fail/9ad83ea3: Run - 1/1
exit1_fail/9ad83ea3: Running Test via command: bash --norc --noprofile -eo pipefail exit1_fail_build.sh
exit1_fail/9ad83ea3: failed to submit job with returncode: 1 
exit1_fail/9ad83ea3: Test completed in 0.012449 seconds
exit1_fail/9ad83ea3: Test completed with returncode: 1
exit1_fail/9ad83ea3: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/9ad83ea3/exit1_fail.out
exit1_fail/9ad83ea3: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/9ad83ea3/exit1_fail.err
returncode_list_mismatch/5fe1a50c: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/5fe1a50c/stage
returncode_list_mismatch/5fe1a50c: Running Test via command: bash --norc --noprofile -eo pipefail returncode_list_mismatch_build.sh
returncode_list_mismatch/5fe1a50c failed to submit job with returncode: 2 


returncode_list_mismatch/5fe1a50c: Detected failure in running test, will attempt to retry test: 1 times
returncode_list_mismatch/5fe1a50c: Run - 1/1
returncode_list_mismatch/5fe1a50c: Running Test via command: bash --norc --noprofile -eo pipefail returncode_list_mismatch_build.sh
returncode_list_mismatch/5fe1a50c: failed to submit job with returncode: 2 
returncode_list_mismatch/5fe1a50c: Test completed in 0.012688 seconds
returncode_list_mismatch/5fe1a50c: Test completed with returncode: 2
returncode_list_mismatch/5fe1a50c: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/5fe1a50c/returncode_list_mismatch.out
returncode_list_mismatch/5fe1a50c: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/5fe1a50c/returncode_list_mismatch.err
returncode_list_mismatch/5fe1a50c: Checking returncode - 2 is matched in list [1, 3]
list_of_strings_tags/74b407e3: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/list_of_strings_tags/74b407e3/stage
list_of_strings_tags/74b407e3: Running Test via command: bash --norc --noprofile -eo pipefail list_of_strings_tags_build.sh
list_of_strings_tags/74b407e3: Test completed in 3.028937 seconds
list_of_strings_tags/74b407e3: Test completed with returncode: 0
list_of_strings_tags/74b407e3: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/list_of_strings_tags/74b407e3/list_of_strings_tags.out
list_of_strings_tags/74b407e3: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/list_of_strings_tags/74b407e3/list_of_strings_tags.err
In this iteration we are going to run the following tests: [returncode_int_match/ddc34c68, string_tag/ea738716, exit1_pass/6d2d9089, exit1_fail/9ad83ea3, returncode_list_mismatch/5fe1a50c, list_of_strings_tags/74b407e3]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ string_tag/e │ generic.loc… │ PASS   │ None None     │ 0          │ 0.006043 │
│ a738716      │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ list_of_stri │ generic.loc… │ PASS   │ None None     │ 0          │ 3.028937 │
│ ngs_tags/74b │              │        │ None          │            │          │
│ 407e3        │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ returncode_i │ generic.loc… │ PASS   │ True None     │ 128        │ 0.013262 │
│ nt_match/ddc │              │        │ None          │            │          │
│ 34c68        │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ returncode_l │ generic.loc… │ FAIL   │ False None    │ 2          │ 0.012688 │
│ ist_mismatch │              │        │ None          │            │          │
│ /5fe1a50c    │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_pass/6 │ generic.loc… │ PASS   │ True None     │ 1          │ 0.01249  │
│ d2d9089      │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_fail/9 │ generic.loc… │ FAIL   │ None None     │ 1          │ 0.012449 │
│ ad83ea3      │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_ar4u59u_.log

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

buildtest build --tags pass --buildspec tutorials/python-hello.yml
$ buildtest build --tags pass --buildspec tutorials/python-hello.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:24:43                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                             Buildspecs By Tag=pass                             
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  2
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  2
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/pass_returncode.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/python-hello.yml: VALID
Total builder objects created: 5
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_f… │ script │ generic… │ None     │ None  │ None  │ exit 1   │ /home/… │
│          │        │          │          │       │       │ by       │         │
│          │        │          │          │       │       │ default  │         │
│          │        │          │          │       │       │ is FAIL  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_p… │ script │ generic… │ None     │ None  │ None  │ report   │ /home/… │
│          │        │          │          │       │       │ exit 1   │         │
│          │        │          │          │       │       │ as PASS  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 2   │ /home/… │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ since it │         │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ to match │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 1        │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 128 │ /home/… │
│          │        │          │          │       │       │ matches  │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 128      │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ python_… │ script │ generic… │ None     │ None  │ None  │ Hello    │ /home/… │
│          │        │          │          │       │       │ World    │         │
│          │        │          │          │       │       │ python   │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
exit1_fail/f947a339: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/f947a339
exit1_fail/f947a339: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/f947a339/stage
exit1_fail/f947a339: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/f947a339/exit1_fail_build.sh
exit1_pass/9468a477: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/9468a477
exit1_pass/9468a477: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/9468a477/stage
exit1_pass/9468a477: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/9468a477/exit1_pass_build.sh
returncode_list_mismatch/7cb45150: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/7cb45150
returncode_list_mismatch/7cb45150: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/7cb45150/stage
returncode_list_mismatch/7cb45150: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/7cb45150/returncode_list_mismatch_build.sh
returncode_int_match/7256eb3e: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/7256eb3e
returncode_int_match/7256eb3e: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/7256eb3e/stage
returncode_int_match/7256eb3e: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/7256eb3e/returncode_int_match_build.sh
python_hello/6109cb4f: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/6109cb4f
python_hello/6109cb4f: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/6109cb4f/stage
python_hello/6109cb4f: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/6109cb4f/python_hello_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
exit1_fail/f947a339 does not have any dependencies adding test to queue
returncode_int_match/7256eb3e does not have any dependencies adding test to queue
returncode_list_mismatch/7cb45150 does not have any dependencies adding test to queue
exit1_pass/9468a477 does not have any dependencies adding test to queue
python_hello/6109cb4f does not have any dependencies adding test to queue
exit1_fail/f947a339: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/f947a339/stage
exit1_fail/f947a339: Running Test via command: bash --norc --noprofile -eo pipefail exit1_fail_build.sh
exit1_fail/f947a339 failed to submit job with returncode: 1 


exit1_fail/f947a339: Detected failure in running test, will attempt to retry test: 1 times
exit1_fail/f947a339: Run - 1/1
exit1_fail/f947a339: Running Test via command: bash --norc --noprofile -eo pipefail exit1_fail_build.sh
exit1_fail/f947a339: failed to submit job with returncode: 1 
exit1_fail/f947a339: Test completed in 0.013272 seconds
exit1_fail/f947a339: Test completed with returncode: 1
exit1_fail/f947a339: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/f947a339/exit1_fail.out
exit1_fail/f947a339: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/f947a339/exit1_fail.err
returncode_int_match/7256eb3e: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/7256eb3e/stage
returncode_int_match/7256eb3e: Running Test via command: bash --norc --noprofile -eo pipefail returncode_int_match_build.sh
returncode_int_match/7256eb3e failed to submit job with returncode: 128 


returncode_int_match/7256eb3e: Detected failure in running test, will attempt to retry test: 1 times
returncode_int_match/7256eb3e: Run - 1/1
returncode_int_match/7256eb3e: Running Test via command: bash --norc --noprofile -eo pipefail returncode_int_match_build.sh
returncode_int_match/7256eb3e: failed to submit job with returncode: 128 
returncode_int_match/7256eb3e: Test completed in 0.012745 seconds
returncode_int_match/7256eb3e: Test completed with returncode: 128
returncode_int_match/7256eb3e: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/7256eb3e/returncode_int_match.out
returncode_int_match/7256eb3e: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/7256eb3e/returncode_int_match.err
returncode_int_match/7256eb3e: Checking returncode - 128 is matched in list [128]
returncode_list_mismatch/7cb45150: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/7cb45150/stage
returncode_list_mismatch/7cb45150: Running Test via command: bash --norc --noprofile -eo pipefail returncode_list_mismatch_build.sh
returncode_list_mismatch/7cb45150 failed to submit job with returncode: 2 


returncode_list_mismatch/7cb45150: Detected failure in running test, will attempt to retry test: 1 times
returncode_list_mismatch/7cb45150: Run - 1/1
returncode_list_mismatch/7cb45150: Running Test via command: bash --norc --noprofile -eo pipefail returncode_list_mismatch_build.sh
returncode_list_mismatch/7cb45150: failed to submit job with returncode: 2 
returncode_list_mismatch/7cb45150: Test completed in 0.01288 seconds
returncode_list_mismatch/7cb45150: Test completed with returncode: 2
returncode_list_mismatch/7cb45150: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/7cb45150/returncode_list_mismatch.out
returncode_list_mismatch/7cb45150: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/7cb45150/returncode_list_mismatch.err
returncode_list_mismatch/7cb45150: Checking returncode - 2 is matched in list [1, 3]
exit1_pass/9468a477: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/9468a477/stage
exit1_pass/9468a477: Running Test via command: bash --norc --noprofile -eo pipefail exit1_pass_build.sh
exit1_pass/9468a477 failed to submit job with returncode: 1 


exit1_pass/9468a477: Detected failure in running test, will attempt to retry test: 1 times
exit1_pass/9468a477: Run - 1/1
exit1_pass/9468a477: Running Test via command: bash --norc --noprofile -eo pipefail exit1_pass_build.sh
exit1_pass/9468a477: failed to submit job with returncode: 1 
exit1_pass/9468a477: Test completed in 0.012657 seconds
exit1_pass/9468a477: Test completed with returncode: 1
exit1_pass/9468a477: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/9468a477/exit1_pass.out
exit1_pass/9468a477: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/9468a477/exit1_pass.err
exit1_pass/9468a477: Checking returncode - 1 is matched in list [1]
python_hello/6109cb4f: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/6109cb4f/stage
python_hello/6109cb4f: Running Test via command: bash --norc --noprofile -eo pipefail python_hello_build.sh
python_hello/6109cb4f: Test completed in 0.031178 seconds
python_hello/6109cb4f: Test completed with returncode: 0
python_hello/6109cb4f: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/6109cb4f/python_hello.out
python_hello/6109cb4f: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/6109cb4f/python_hello.err
In this iteration we are going to run the following tests: [exit1_fail/f947a339, returncode_int_match/7256eb3e, returncode_list_mismatch/7cb45150, exit1_pass/9468a477, python_hello/6109cb4f]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ returncode_l │ generic.loc… │ FAIL   │ False None    │ 2          │ 0.01288  │
│ ist_mismatch │              │        │ None          │            │          │
│ /7cb45150    │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_fail/f │ generic.loc… │ FAIL   │ None None     │ 1          │ 0.013272 │
│ 947a339      │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_pass/9 │ generic.loc… │ PASS   │ True None     │ 1          │ 0.012657 │
│ 468a477      │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ returncode_i │ generic.loc… │ PASS   │ True None     │ 128        │ 0.012745 │
│ nt_match/725 │              │        │ None          │            │          │
│ 6eb3e        │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ python_hello │ generic.loc… │ PASS   │ None None     │ 0          │ 0.031178 │
│ /6109cb4f    │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_tdvrg6gt.log

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

Exclude by tags

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

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

buildspecs:

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

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

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

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

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

buildtest build -b tutorials/test_status/pass_returncode.yml -xt pass
$ buildtest build -b tutorials/test_status/pass_returncode.yml -xt pass
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:24:44                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Skipping test: exit1_pass from buildspec: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/pass_returncode.yml due to tag exclusion: ['pass']
Skipping test: returncode_int_match from buildspec: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/pass_returncode.yml due to tag exclusion: ['pass']
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/pass_returncode.yml: VALID
Total builder objects created: 2
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_f… │ script │ generic… │ None     │ None  │ None  │ exit 1   │ /home/… │
│          │        │          │          │       │       │ by       │         │
│          │        │          │          │       │       │ default  │         │
│          │        │          │          │       │       │ is FAIL  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 2   │ /home/… │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ since it │         │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ to match │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 1        │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
exit1_fail/a4f0d317: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/a4f0d317
exit1_fail/a4f0d317: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/a4f0d317/stage
exit1_fail/a4f0d317: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/a4f0d317/exit1_fail_build.sh
returncode_list_mismatch/d2db9bb1: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/d2db9bb1
returncode_list_mismatch/d2db9bb1: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/d2db9bb1/stage
returncode_list_mismatch/d2db9bb1: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/d2db9bb1/returncode_list_mismatch_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
returncode_list_mismatch/d2db9bb1 does not have any dependencies adding test to queue
exit1_fail/a4f0d317 does not have any dependencies adding test to queue
returncode_list_mismatch/d2db9bb1: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/d2db9bb1/stage
returncode_list_mismatch/d2db9bb1: Running Test via command: bash --norc --noprofile -eo pipefail returncode_list_mismatch_build.sh
returncode_list_mismatch/d2db9bb1 failed to submit job with returncode: 2 


returncode_list_mismatch/d2db9bb1: Detected failure in running test, will attempt to retry test: 1 times
returncode_list_mismatch/d2db9bb1: Run - 1/1
returncode_list_mismatch/d2db9bb1: Running Test via command: bash --norc --noprofile -eo pipefail returncode_list_mismatch_build.sh
returncode_list_mismatch/d2db9bb1: failed to submit job with returncode: 2 
returncode_list_mismatch/d2db9bb1: Test completed in 0.013273 seconds
returncode_list_mismatch/d2db9bb1: Test completed with returncode: 2
returncode_list_mismatch/d2db9bb1: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/d2db9bb1/returncode_list_mismatch.out
returncode_list_mismatch/d2db9bb1: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/d2db9bb1/returncode_list_mismatch.err
returncode_list_mismatch/d2db9bb1: Checking returncode - 2 is matched in list [1, 3]
exit1_fail/a4f0d317: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/a4f0d317/stage
exit1_fail/a4f0d317: Running Test via command: bash --norc --noprofile -eo pipefail exit1_fail_build.sh
exit1_fail/a4f0d317 failed to submit job with returncode: 1 


exit1_fail/a4f0d317: Detected failure in running test, will attempt to retry test: 1 times
exit1_fail/a4f0d317: Run - 1/1
exit1_fail/a4f0d317: Running Test via command: bash --norc --noprofile -eo pipefail exit1_fail_build.sh
exit1_fail/a4f0d317: failed to submit job with returncode: 1 
exit1_fail/a4f0d317: Test completed in 0.012512 seconds
exit1_fail/a4f0d317: Test completed with returncode: 1
exit1_fail/a4f0d317: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/a4f0d317/exit1_fail.out
exit1_fail/a4f0d317: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/a4f0d317/exit1_fail.err
In this iteration we are going to run the following tests: [returncode_list_mismatch/d2db9bb1, exit1_fail/a4f0d317]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ returncode_l │ generic.loc… │ FAIL   │ False None    │ 2          │ 0.013273 │
│ ist_mismatch │              │        │ None          │            │          │
│ /d2db9bb1    │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_fail/a │ generic.loc… │ FAIL   │ None None     │ 1          │ 0.012512 │
│ 4f0d317      │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 2 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_wynp3875.log

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

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

buildtest build -b tutorials/test_status/pass_returncode.yml -xt pass,fail
$ buildtest build -b tutorials/test_status/pass_returncode.yml -xt pass,fail
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:24:45                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


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

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/v1.5/var/buildtest.log

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 build --executor generic.local.csh
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:24:46                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                    Buildspecs by Executor=generic.local.csh                    
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspecs                                                                   ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  2
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  2
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/csh_shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/environment.yml: VALID
Total builder objects created: 4
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ csh_she… │ script │ generic… │ None     │ None  │ None  │ csh      │ /home/… │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ example  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ bash_en… │ script │ generic… │ None     │ None  │ None  │ Declare  │ /home/… │
│          │        │          │          │       │       │ environ… │         │
│          │        │          │          │       │       │ variabl… │         │
│          │        │          │          │       │       │ in       │         │
│          │        │          │          │       │       │ default  │         │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ (bash)   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ csh_env… │ script │ generic… │ None     │ None  │ None  │ csh      │ /home/… │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ example  │         │
│          │        │          │          │       │       │ to       │         │
│          │        │          │          │       │       │ declare  │         │
│          │        │          │          │       │       │ environ… │         │
│          │        │          │          │       │       │ variabl… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ tcsh_en… │ script │ generic… │ None     │ None  │ None  │ tcsh     │ /home/… │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ example  │         │
│          │        │          │          │       │       │ to       │         │
│          │        │          │          │       │       │ declare  │         │
│          │        │          │          │       │       │ environ… │         │
│          │        │          │          │       │       │ variabl… │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
csh_shell/3e115306: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/csh_shell_examples/csh_shell/3e115306
csh_shell/3e115306: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/csh_shell_examples/csh_shell/3e115306/stage
csh_shell/3e115306: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/csh_shell_examples/csh_shell/3e115306/csh_shell_build.sh
bash_env_variables/79c8a160: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/environment/bash_env_variables/79c8a160
bash_env_variables/79c8a160: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/environment/bash_env_variables/79c8a160/stage
bash_env_variables/79c8a160: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/environment/bash_env_variables/79c8a160/bash_env_variables_build.sh
csh_env_declaration/f081db08: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/csh_env_declaration/f081db08
csh_env_declaration/f081db08: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/csh_env_declaration/f081db08/stage
csh_env_declaration/f081db08: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/csh_env_declaration/f081db08/csh_env_declaration_build.sh
tcsh_env_declaration/ab17f553: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/tcsh_env_declaration/ab17f553
tcsh_env_declaration/ab17f553: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/tcsh_env_declaration/ab17f553/stage
tcsh_env_declaration/ab17f553: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/tcsh_env_declaration/ab17f553/tcsh_env_declaration_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
tcsh_env_declaration/ab17f553 does not have any dependencies adding test to queue
csh_env_declaration/f081db08 does not have any dependencies adding test to queue
bash_env_variables/79c8a160 does not have any dependencies adding test to queue
csh_shell/3e115306 does not have any dependencies adding test to queue
csh_shell/3e115306: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/csh_shell_examples/csh_shell/3e115306/stage
csh_shell/3e115306: Running Test via command: csh -e csh_shell_build.sh
csh_shell/3e115306: Test completed in 4.374778 seconds
csh_shell/3e115306: Test completed with returncode: 0
csh_shell/3e115306: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/csh_shell_examples/csh_shell/3e115306/csh_shell.out
csh_shell/3e115306: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/csh_shell_examples/csh_shell/3e115306/csh_shell.err
csh_env_declaration/f081db08: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/csh_env_declaration/f081db08/stage
csh_env_declaration/f081db08: Running Test via command: csh -e csh_env_declaration_build.sh
csh_env_declaration/f081db08: Test completed in 4.383523 seconds
csh_env_declaration/f081db08: Test completed with returncode: 0
csh_env_declaration/f081db08: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/csh_env_declaration/f081db08/csh_env_declaration.out
csh_env_declaration/f081db08: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/csh_env_declaration/f081db08/csh_env_declaration.err
bash_env_variables/79c8a160: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/environment/bash_env_variables/79c8a160/stage
bash_env_variables/79c8a160: Running Test via command: bash --norc --noprofile -eo pipefail bash_env_variables_build.sh
bash_env_variables/79c8a160: Test completed in 0.007626 seconds
bash_env_variables/79c8a160: Test completed with returncode: 0
bash_env_variables/79c8a160: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/environment/bash_env_variables/79c8a160/bash_env_variables.out
bash_env_variables/79c8a160: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/environment/bash_env_variables/79c8a160/bash_env_variables.err
tcsh_env_declaration/ab17f553: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/tcsh_env_declaration/ab17f553/stage
tcsh_env_declaration/ab17f553: Running Test via command: csh -e tcsh_env_declaration_build.sh
tcsh_env_declaration/ab17f553 failed to submit job with returncode: 1 

export: Command not found.

tcsh_env_declaration/ab17f553: Detected failure in running test, will attempt to retry test: 1 times
tcsh_env_declaration/ab17f553: Run - 1/1
tcsh_env_declaration/ab17f553: Running Test via command: csh -e tcsh_env_declaration_build.sh
tcsh_env_declaration/ab17f553: failed to submit job with returncode: 1 
tcsh_env_declaration/ab17f553: Test completed in 4.378589 seconds
tcsh_env_declaration/ab17f553: Test completed with returncode: 1
tcsh_env_declaration/ab17f553: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/tcsh_env_declaration/ab17f553/tcsh_env_declaration.out
tcsh_env_declaration/ab17f553: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/tcsh_env_declaration/ab17f553/tcsh_env_declaration.err
In this iteration we are going to run the following tests: [csh_shell/3e115306, csh_env_declaration/f081db08, bash_env_variables/79c8a160, tcsh_env_declaration/ab17f553]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ csh_env_decl │ generic.loc… │ PASS   │ None None     │ 0          │ 4.383523 │
│ aration/f081 │              │        │ None          │            │          │
│ db08         │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ tcsh_env_dec │ generic.loc… │ FAIL   │ None None     │ 1          │ 4.378589 │
│ laration/ab1 │              │        │ None          │            │          │
│ 7f553        │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ bash_env_var │ generic.loc… │ PASS   │ None None     │ 0          │ 0.007626 │
│ iables/79c8a │              │        │ None          │            │          │
│ 160          │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ csh_shell/3e │ generic.loc… │ PASS   │ None None     │ 0          │ 4.374778 │
│ 115306       │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_usuclare.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 tests where the format is key1=val1;key2=val2,val3. The semicolon is used to specify multiple filter fields and the comma is used to specify multiple values for a given field.

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

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

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

buildtest build -t pass --filter tags=pass
$ buildtest build -t pass --filter tags=pass
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:00                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                             Buildspecs By Tag=pass                             
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
[exit1_fail][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/pass_returncode.yml]: test is skipped because it is not in tag filter list: {'tags': ['pass']}
[returncode_list_mismatch][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/pass_returncode.yml]: test is skipped because it is not in tag filter list: {'tags': ['pass']}
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/pass_returncode.yml: VALID
Total builder objects created: 2
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_p… │ script │ generic… │ None     │ None  │ None  │ report   │ /home/… │
│          │        │          │          │       │       │ exit 1   │         │
│          │        │          │          │       │       │ as PASS  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 128 │ /home/… │
│          │        │          │          │       │       │ matches  │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 128      │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
exit1_pass/28734601: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/28734601
exit1_pass/28734601: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/28734601/stage
exit1_pass/28734601: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/28734601/exit1_pass_build.sh
returncode_int_match/d682f100: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/d682f100
returncode_int_match/d682f100: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/d682f100/stage
returncode_int_match/d682f100: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/d682f100/returncode_int_match_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
exit1_pass/28734601 does not have any dependencies adding test to queue
returncode_int_match/d682f100 does not have any dependencies adding test to queue
exit1_pass/28734601: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/28734601/stage
exit1_pass/28734601: Running Test via command: bash --norc --noprofile -eo pipefail exit1_pass_build.sh
exit1_pass/28734601 failed to submit job with returncode: 1 


exit1_pass/28734601: Detected failure in running test, will attempt to retry test: 1 times
exit1_pass/28734601: Run - 1/1
exit1_pass/28734601: Running Test via command: bash --norc --noprofile -eo pipefail exit1_pass_build.sh
exit1_pass/28734601: failed to submit job with returncode: 1 
exit1_pass/28734601: Test completed in 0.0132 seconds
exit1_pass/28734601: Test completed with returncode: 1
exit1_pass/28734601: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/28734601/exit1_pass.out
exit1_pass/28734601: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/28734601/exit1_pass.err
exit1_pass/28734601: Checking returncode - 1 is matched in list [1]
returncode_int_match/d682f100: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/d682f100/stage
returncode_int_match/d682f100: Running Test via command: bash --norc --noprofile -eo pipefail returncode_int_match_build.sh
returncode_int_match/d682f100 failed to submit job with returncode: 128 


returncode_int_match/d682f100: Detected failure in running test, will attempt to retry test: 1 times
returncode_int_match/d682f100: Run - 1/1
returncode_int_match/d682f100: Running Test via command: bash --norc --noprofile -eo pipefail returncode_int_match_build.sh
returncode_int_match/d682f100: failed to submit job with returncode: 128 
returncode_int_match/d682f100: Test completed in 0.012729 seconds
returncode_int_match/d682f100: Test completed with returncode: 128
returncode_int_match/d682f100: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/d682f100/returncode_int_match.out
returncode_int_match/d682f100: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/d682f100/returncode_int_match.err
returncode_int_match/d682f100: Checking returncode - 128 is matched in list [128]
In this iteration we are going to run the following tests: [exit1_pass/28734601, returncode_int_match/d682f100]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ returncode_i │ generic.loc… │ PASS   │ True None     │ 128        │ 0.012729 │
│ nt_match/d68 │              │        │ None          │            │          │
│ 2f100        │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_pass/2 │ generic.loc… │ PASS   │ True None     │ 1          │ 0.0132   │
│ 8734601      │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_bb5wfc03.log

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

buildtest build -b tutorials --filter maintainers=@shahzebsiddiqui
$ buildtest build -b tutorials --filter maintainers=@shahzebsiddiqui
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:01                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  57
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  57
────────────────────────────── Parsing Buildspecs ──────────────────────────────
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/python-hello.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/gcc_version.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/multi_executors/status_by_executors.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/metrics/metrics_regex.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/regex_on_filename.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_eq.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/job_dependency/ex3.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_exists_with_number.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/is_symlink.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_count_file_traverse_limit.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/job_dependency/ex1.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/maintainers_example.yml: unable to find maintainer: ['@shahzebsiddiqui'] in buildspec which contains the following maintainers: ['@johndoe', '@bobsmith'] therefore we skip this test
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/shebang.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/exists.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/job_dependency/ex4.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/csh_shell_examples.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/environment.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/add_numbers.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/status_regex.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_eq_exceptions.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_gt.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_count_filetype.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_count.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_lt.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/pass_returncode.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/sleep.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/multi_executors/executors_var_env_declaration.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/mode.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/multi_executors/executor_regex_script.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/explicit_state.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/summary_example.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/burstbuffer_datawarp_executors.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_and_dir_check.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/vars.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/python-shell.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/runtime_status_test.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/skip_tests.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_count_pattern.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/job_dependency/ex2.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/metrics/metrics_file_regex_invalid_file.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_range.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/multi_executors/executor_scheduler.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_le.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_ge.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_ne.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/shell_examples.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/tags_example.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/skip_buildspec.yml: skipping all test since 'skip' is defined
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/invalid_executor.yml: skipping test because 'maintainers' field is not specified in buildspec.
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/contains.yml: skipping test because 'maintainers' field is not specified in buildspec.
Valid Buildspecs: 51
Invalid Buildspecs: 6
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/python-hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/gcc_version.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/multi_executors/status_by_executors.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/metrics/metrics_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/regex_on_filename.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_eq.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/job_dependency/ex3.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_exists_with_number.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/is_symlink.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_count_file_traverse_limit.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/job_dependency/ex1.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/maintainers_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/shebang.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/exists.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/job_dependency/ex4.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/csh_shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/environment.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/add_numbers.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/status_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_eq_exceptions.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_gt.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/hello_world.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_count_filetype.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_count.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_lt.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/pass_returncode.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/sleep.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/multi_executors/executors_var_env_declaration.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/mode.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/multi_executors/executor_regex_script.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/explicit_state.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/summary_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/burstbuffer_datawarp_executors.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_and_dir_check.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/vars.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/python-shell.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/runtime_status_test.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/skip_tests.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_count_pattern.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/job_dependency/ex2.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/metrics/metrics_file_regex_invalid_file.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_range.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/multi_executors/executor_scheduler.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_le.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_ge.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_ne.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/tags_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/skip_buildspec.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/invalid_executor.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/contains.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/invalid_tags.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_exists_exception.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/metrics/missing_required_in_metrics.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/metrics/invalid_metrics.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/metrics/invalid_metric_name.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/invalid_buildspec_section.yml: INVALID
                            Buildspecs Filtered out                             
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ buildspecs                                                                   ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
└──────────────────────────────────────────────────────────────────────────────┘
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ hello_w… │ script │ generic… │ None     │ None  │ None  │ hello    │ /home/… │
│          │        │          │          │       │       │ world    │         │
│          │        │          │          │       │       │ example  │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
hello_world/fa026219: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/hello_world/hello_world/fa026219
hello_world/fa026219: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/hello_world/hello_world/fa026219/stage
hello_world/fa026219: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/hello_world/hello_world/fa026219/hello_world_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
hello_world/fa026219 does not have any dependencies adding test to queue
hello_world/fa026219: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/hello_world/hello_world/fa026219/stage
hello_world/fa026219: Running Test via command: bash --norc --noprofile -eo pipefail hello_world_build.sh
hello_world/fa026219: Test completed in 0.00582 seconds
hello_world/fa026219: Test completed with returncode: 0
hello_world/fa026219: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/hello_world/hello_world/fa026219/hello_world.out
hello_world/fa026219: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/hello_world/hello_world/fa026219/hello_world.err
In this iteration we are going to run the following tests: [hello_world/fa026219]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃               ┃              ┃        ┃ checks        ┃            ┃         ┃
┃               ┃              ┃        ┃ (ReturnCode,  ┃            ┃         ┃
┃               ┃              ┃        ┃ Regex,        ┃            ┃         ┃
┃ builder       ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ hello_world/f │ generic.loc… │ PASS   │ None None     │ 0          │ 0.00582 │
│ a026219       │              │        │ None          │            │         │
└───────────────┴──────────────┴────────┴───────────────┴────────────┴─────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_6tz96j5e.log

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

We can also filter tests by type field in the buildspec which corresponds to the schema type. In this next example, we filter all tests by script schema type by passing option --filter type=script. 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 build -b tutorials --filter type=script --stage=build
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:01                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  57
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  57
────────────────────────────── Parsing Buildspecs ──────────────────────────────
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/skip_buildspec.yml: skipping all test since 'skip' is defined
skip: skipping test due to 'skip' property.
Valid Buildspecs: 51
Invalid Buildspecs: 6
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/pass_returncode.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_le.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/contains.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/python-hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_count_file_traverse_limit.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/job_dependency/ex3.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/python-shell.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/hello_world.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/burstbuffer_datawarp_executors.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_count_pattern.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/skip_buildspec.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/environment.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/invalid_executor.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/job_dependency/ex2.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/gcc_version.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/add_numbers.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_range.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_lt.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/mode.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/csh_shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/regex_on_filename.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/exists.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/shebang.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/metrics/metrics_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_ne.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/runtime_status_test.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/maintainers_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/is_symlink.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/status_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_eq_exceptions.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/tags_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/multi_executors/executor_regex_script.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_exists_with_number.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_gt.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_and_dir_check.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/vars.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/job_dependency/ex1.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/metrics/metrics_file_regex_invalid_file.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/explicit_state.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/multi_executors/status_by_executors.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_count.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_ge.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/skip_tests.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/multi_executors/executors_var_env_declaration.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/perf_checks/assert_eq.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/summary_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/job_dependency/ex4.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/multi_executors/executor_scheduler.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/sleep.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_count_filetype.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/metrics/invalid_metric_name.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/file_exists_exception.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/metrics/missing_required_in_metrics.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/invalid_buildspec_section.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/metrics/invalid_metrics.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/invalid_tags.yml: INVALID
                            Buildspecs Filtered out                             
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ buildspecs                                                                   ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… │
└──────────────────────────────────────────────────────────────────────────────┘
Total builder objects created: 94
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_f… │ script │ generic… │ None     │ None  │ None  │ exit 1   │ /home/… │
│          │        │          │          │       │       │ by       │         │
│          │        │          │          │       │       │ default  │         │
│          │        │          │          │       │       │ is FAIL  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_p… │ script │ generic… │ None     │ None  │ None  │ report   │ /home/… │
│          │        │          │          │       │       │ exit 1   │         │
│          │        │          │          │       │       │ as PASS  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 2   │ /home/… │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ since it │         │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ to match │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 1        │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 128 │ /home/… │
│          │        │          │          │       │       │ matches  │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 128      │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ assert_… │ script │ generic… │ None     │ None  │ None  │ Run      │ /home/… │
│          │        │          │          │       │       │ stream   │         │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ with     │         │
│          │        │          │          │       │       │ metrics  │         │
│          │        │          │          │       │       │ example  │         │
│          │        │          │          │       │       │ using    │         │
│          │        │          │          │       │       │ assert   │         │
│          │        │          │          │       │       │ less     │         │
│          │        │          │          │       │       │ than     │         │
│          │        │          │          │       │       │ equal    │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ contain… │ script │ generic… │ None     │ None  │ None  │ Status   │ /home/… │
│          │        │          │          │       │       │ check    │         │
│          │        │          │          │       │       │ based on │         │
│          │        │          │          │       │       │ contains │         │
│          │        │          │          │       │       │ and not  │         │
│          │        │          │          │       │       │ contains │         │
│          │        │          │          │       │       │ where    │         │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ pass     │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ assert_… │ script │ generic… │ None     │ None  │ None  │ Status   │ /home/… │
│          │        │          │          │       │       │ check    │         │
│          │        │          │          │       │       │ based on │         │
│          │        │          │          │       │       │ contains │         │
│          │        │          │          │       │       │ where    │         │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ fails    │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ python_… │ script │ generic… │ None     │ None  │ None  │ Hello    │ /home/… │
│          │        │          │          │       │       │ World    │         │
│          │        │          │          │       │       │ python   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ file_tr… │ script │ generic… │ None     │ None  │ None  │ Use of   │ /home/… │
│          │        │          │          │       │       │ file_tr… │         │
│          │        │          │          │       │       │ to limit │         │
│          │        │          │          │       │       │ number   │         │
│          │        │          │          │       │       │ of files │         │
│          │        │          │          │       │       │ searched │         │
│          │        │          │          │       │       │ in a     │         │
│          │        │          │          │       │       │ directo… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ pass_te… │ script │ generic… │ None     │ None  │ None  │ This     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ will     │         │
│          │        │          │          │       │       │ always   │         │
│          │        │          │          │       │       │ pass     │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ fail_te… │ script │ generic… │ None     │ None  │ None  │ This     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ will run │         │
│          │        │          │          │       │       │ if test  │         │
│          │        │          │          │       │       │ 'pass_t… │         │
│          │        │          │          │       │       │ is in    │         │
│          │        │          │          │       │       │ state    │         │
│          │        │          │          │       │       │ 'PASS'   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ pass_an… │ script │ generic… │ None     │ None  │ None  │ This     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ will run │         │
│          │        │          │          │       │       │ if       │         │
│          │        │          │          │       │       │ pass_te… │         │
│          │        │          │          │       │       │ is       │         │
│          │        │          │          │       │       │ 'PASS'   │         │
│          │        │          │          │       │       │ and      │         │
│          │        │          │          │       │       │ fail_te… │         │
│          │        │          │          │       │       │ is       │         │
│          │        │          │          │       │       │ 'FAIL'   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ final_t… │ script │ generic… │ None     │ None  │ None  │ Test     │ /home/… │
│          │        │          │          │       │       │ will run │         │
│          │        │          │          │       │       │ after    │         │
│          │        │          │          │       │       │ 'pass_t… │         │
│          │        │          │          │       │       │ 'fail_t… │         │
│          │        │          │          │       │       │ and      │         │
│          │        │          │          │       │       │ 'pass_a… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ circle_… │ script │ generic… │ None     │ None  │ None  │ Calcula… │ /home/… │
│          │        │          │          │       │       │ circle   │         │
│          │        │          │          │       │       │ of area  │         │
│          │        │          │          │       │       │ given a  │         │
│          │        │          │          │       │       │ radius   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ hello_w… │ script │ generic… │ None     │ None  │ None  │ hello    │ /home/… │
│          │        │          │          │       │       │ world    │         │
│          │        │          │          │       │       │ example  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ create_… │ script │ generic… │ None     │ None  │ None  │ Create a │ /home/… │
│          │        │          │          │       │       │ burst    │         │
│          │        │          │          │       │       │ buffer   │         │
│          │        │          │          │       │       │ for      │         │
│          │        │          │          │       │       │ multiple │         │
│          │        │          │          │       │       │ executo… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ create_… │ script │ generic… │ None     │ None  │ None  │ Create a │ /home/… │
│          │        │          │          │       │       │ burst    │         │
│          │        │          │          │       │       │ buffer   │         │
│          │        │          │          │       │       │ for      │         │
│          │        │          │          │       │       │ multiple │         │
│          │        │          │          │       │       │ executo… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ file_co… │ script │ generic… │ None     │ None  │ None  │ file     │ /home/… │
│          │        │          │          │       │       │ count by │         │
│          │        │          │          │       │       │ express… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ file_ex… │ script │ generic… │ None     │ None  │ None  │ file     │ /home/… │
│          │        │          │          │       │       │ count by │         │
│          │        │          │          │       │       │ file     │         │
│          │        │          │          │       │       │ extensi… │         │
│          │        │          │          │       │       │ and file │         │
│          │        │          │          │       │       │ pattern  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ _bin_sh… │ script │ generic… │ None     │ None  │ None  │ /bin/sh  │ /home/… │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ example  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ _bin_ba… │ script │ generic… │ None     │ None  │ None  │ /bin/ba… │ /home/… │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ example  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ bash_sh… │ script │ generic… │ None     │ None  │ None  │ bash     │ /home/… │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ example  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ sh_shel… │ script │ generic… │ None     │ None  │ None  │ sh shell │ /home/… │
│          │        │          │          │       │       │ example  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ shell_o… │ script │ generic… │ None     │ None  │ None  │ shell    │ /home/… │
│          │        │          │          │       │       │ options  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ bash_en… │ script │ generic… │ None     │ None  │ None  │ Declare  │ /home/… │
│          │        │          │          │       │       │ environ… │         │
│          │        │          │          │       │       │ variabl… │         │
│          │        │          │          │       │       │ in       │         │
│          │        │          │          │       │       │ default  │         │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ (bash)   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ csh_env… │ script │ generic… │ None     │ None  │ None  │ csh      │ /home/… │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ example  │         │
│          │        │          │          │       │       │ to       │         │
│          │        │          │          │       │       │ declare  │         │
│          │        │          │          │       │       │ environ… │         │
│          │        │          │          │       │       │ variabl… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ tcsh_en… │ script │ generic… │ None     │ None  │ None  │ tcsh     │ /home/… │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ example  │         │
│          │        │          │          │       │       │ to       │         │
│          │        │          │          │       │       │ declare  │         │
│          │        │          │          │       │       │ environ… │         │
│          │        │          │          │       │       │ variabl… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ test1/2… │ script │ generic… │ None     │ None  │ None  │ This     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ will     │         │
│          │        │          │          │       │       │ pass     │         │
│          │        │          │          │       │       │ with     │         │
│          │        │          │          │       │       │ exit 1   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ test2/e… │ script │ generic… │ None     │ None  │ None  │ This     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ will run │         │
│          │        │          │          │       │       │ if test1 │         │
│          │        │          │          │       │       │ has      │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 1        │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ test3/8… │ script │ generic… │ None     │ None  │ None  │ This     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ will run │         │
│          │        │          │          │       │       │ if test1 │         │
│          │        │          │          │       │       │ has      │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 1 and    │         │
│          │        │          │          │       │       │ test2    │         │
│          │        │          │          │       │       │ has      │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 2        │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ gcc_ver… │ script │ generic… │ None     │ None  │ None  │ Print    │ /home/… │
│          │        │          │          │       │       │ gcc      │         │
│          │        │          │          │       │       │ version  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ add_num… │ script │ generic… │ None     │ None  │ None  │ Add X+Y  │ /home/… │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ assert_… │ script │ generic… │ None     │ None  │ None  │ Example  │ /home/… │
│          │        │          │          │       │       │ on       │         │
│          │        │          │          │       │       │ assert_… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ assert_… │ script │ generic… │ None     │ None  │ None  │ Run      │ /home/… │
│          │        │          │          │       │       │ stream   │         │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ with     │         │
│          │        │          │          │       │       │ metrics  │         │
│          │        │          │          │       │       │ example  │         │
│          │        │          │          │       │       │ using    │         │
│          │        │          │          │       │       │ assert   │         │
│          │        │          │          │       │       │ less     │         │
│          │        │          │          │       │       │ than     │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ status_… │ script │ generic… │ None     │ None  │ None  │ Using    │ /home/… │
│          │        │          │          │       │       │ logical  │         │
│          │        │          │          │       │       │ AND to   │         │
│          │        │          │          │       │       │ check    │         │
│          │        │          │          │       │       │ status   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ status_… │ script │ generic… │ None     │ None  │ None  │ Using    │ /home/… │
│          │        │          │          │       │       │ logical  │         │
│          │        │          │          │       │       │ OR to    │         │
│          │        │          │          │       │       │ check    │         │
│          │        │          │          │       │       │ status   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ csh_she… │ script │ generic… │ None     │ None  │ None  │ csh      │ /home/… │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ example  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ regex_o… │ script │ generic… │ None     │ None  │ None  │ Test     │ /home/… │
│          │        │          │          │       │       │ regex on │         │
│          │        │          │          │       │       │ multiple │         │
│          │        │          │          │       │       │ files    │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ regex_o… │ script │ generic… │ None     │ None  │ None  │ Test     │ /home/… │
│          │        │          │          │       │       │ regex on │         │
│          │        │          │          │       │       │ directo… │         │
│          │        │          │          │       │       │ is not   │         │
│          │        │          │          │       │       │ support… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ file_ex… │ script │ generic… │ None     │ None  │ None  │ Test     │ /home/… │
│          │        │          │          │       │       │ regex    │         │
│          │        │          │          │       │       │ with     │         │
│          │        │          │          │       │       │ variable │         │
│          │        │          │          │       │       │ and      │         │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ expansi… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ status_… │ script │ generic… │ None     │ None  │ None  │ status   │ /home/… │
│          │        │          │          │       │       │ check    │         │
│          │        │          │          │       │       │ based    │         │
│          │        │          │          │       │       │ for file │         │
│          │        │          │          │       │       │ and      │         │
│          │        │          │          │       │       │ directo… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ status_… │ script │ generic… │ None     │ None  │ None  │ status   │ /home/… │
│          │        │          │          │       │       │ check    │         │
│          │        │          │          │       │       │ failure  │         │
│          │        │          │          │       │       │ for      │         │
│          │        │          │          │       │       │ existen… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ bash_lo… │ script │ generic… │ None     │ None  │ None  │ customi… │ /home/… │
│          │        │          │          │       │       │ shebang  │         │
│          │        │          │          │       │       │ line     │         │
│          │        │          │          │       │       │ with     │         │
│          │        │          │          │       │       │ bash     │         │
│          │        │          │          │       │       │ login    │         │
│          │        │          │          │       │       │ shell    │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ bash_no… │ script │ generic… │ None     │ None  │ None  │ customi… │ /home/… │
│          │        │          │          │       │       │ shebang  │         │
│          │        │          │          │       │       │ line     │         │
│          │        │          │          │       │       │ with     │         │
│          │        │          │          │       │       │ default  │         │
│          │        │          │          │       │       │ bash     │         │
│          │        │          │          │       │       │ (nonlog… │         │
│          │        │          │          │       │       │ shell    │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ metric_… │ script │ generic… │ None     │ None  │ None  │ capture  │ /home/… │
│          │        │          │          │       │       │ result   │         │
│          │        │          │          │       │       │ metric   │         │
│          │        │          │          │       │       │ from     │         │
│          │        │          │          │       │       │ output   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ metric_… │ script │ generic… │ None     │ None  │ None  │ capture  │ /home/… │
│          │        │          │          │       │       │ result   │         │
│          │        │          │          │       │       │ metric   │         │
│          │        │          │          │       │       │ from     │         │
│          │        │          │          │       │       │ file     │         │
│          │        │          │          │       │       │ path     │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ assert_… │ script │ generic… │ None     │ None  │ None  │ Test for │ /home/… │
│          │        │          │          │       │       │ assert   │         │
│          │        │          │          │       │       │ not      │         │
│          │        │          │          │       │       │ equal    │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ timelim… │ script │ generic… │ None     │ None  │ None  │ Run a    │ /home/… │
│          │        │          │          │       │       │ sleep    │         │
│          │        │          │          │       │       │ job for  │         │
│          │        │          │          │       │       │ 2        │         │
│          │        │          │          │       │       │ seconds  │         │
│          │        │          │          │       │       │ and test │         │
│          │        │          │          │       │       │ pass if  │         │
│          │        │          │          │       │       │ its      │         │
│          │        │          │          │       │       │ within   │         │
│          │        │          │          │       │       │ 1.0-3.0… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ timelim… │ script │ generic… │ None     │ None  │ None  │ Run a    │ /home/… │
│          │        │          │          │       │       │ sleep    │         │
│          │        │          │          │       │       │ job for  │         │
│          │        │          │          │       │       │ 2        │         │
│          │        │          │          │       │       │ seconds  │         │
│          │        │          │          │       │       │ and test │         │
│          │        │          │          │       │       │ pass if  │         │
│          │        │          │          │       │       │ its      │         │
│          │        │          │          │       │       │ exceeds  │         │
│          │        │          │          │       │       │ min time │         │
│          │        │          │          │       │       │ of 1.0   │         │
│          │        │          │          │       │       │ sec      │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ timelim… │ script │ generic… │ None     │ None  │ None  │ Run a    │ /home/… │
│          │        │          │          │       │       │ sleep    │         │
│          │        │          │          │       │       │ job for  │         │
│          │        │          │          │       │       │ 2        │         │
│          │        │          │          │       │       │ seconds  │         │
│          │        │          │          │       │       │ and test │         │
│          │        │          │          │       │       │ pass if  │         │
│          │        │          │          │       │       │ it's     │         │
│          │        │          │          │       │       │ within   │         │
│          │        │          │          │       │       │ max      │         │
│          │        │          │          │       │       │ time:    │         │
│          │        │          │          │       │       │ 5.0 sec  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ timelim… │ script │ generic… │ None     │ None  │ None  │ This     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ fails    │         │
│          │        │          │          │       │       │ because  │         │
│          │        │          │          │       │       │ it runs  │         │
│          │        │          │          │       │       │ less     │         │
│          │        │          │          │       │       │ than     │         │
│          │        │          │          │       │       │ mintime  │         │
│          │        │          │          │       │       │ of 10    │         │
│          │        │          │          │       │       │ second   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ timelim… │ script │ generic… │ None     │ None  │ None  │ This     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ fails    │         │
│          │        │          │          │       │       │ because  │         │
│          │        │          │          │       │       │ it       │         │
│          │        │          │          │       │       │ exceeds  │         │
│          │        │          │          │       │       │ maxtime  │         │
│          │        │          │          │       │       │ of 1.0   │         │
│          │        │          │          │       │       │ second   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ foo_bar… │ script │ generic… │ None     │ None  │ None  │ prints   │ /home/… │
│          │        │          │          │       │       │ variable │         │
│          │        │          │          │       │       │ $FOO     │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ symlink… │ script │ generic… │ None     │ None  │ None  │ status   │ /home/… │
│          │        │          │          │       │       │ check    │         │
│          │        │          │          │       │       │ based on │         │
│          │        │          │          │       │       │ symbolic │         │
│          │        │          │          │       │       │ link     │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ status_… │ script │ generic… │ None     │ None  │ None  │ Pass     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ based on │         │
│          │        │          │          │       │       │ regular  │         │
│          │        │          │          │       │       │ express… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ status_… │ script │ generic… │ None     │ None  │ None  │ Pass     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ based on │         │
│          │        │          │          │       │       │ regular  │         │
│          │        │          │          │       │       │ express… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ status_… │ script │ generic… │ None     │ None  │ None  │ Pass     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ based on │         │
│          │        │          │          │       │       │ regular  │         │
│          │        │          │          │       │       │ express… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ status_… │ script │ generic… │ None     │ None  │ None  │ Pass     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ based on │         │
│          │        │          │          │       │       │ regular  │         │
│          │        │          │          │       │       │ express… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ assert_… │ script │ generic… │ None     │ None  │ None  │ An       │ /home/… │
│          │        │          │          │       │       │ invalid  │         │
│          │        │          │          │       │       │ metric   │         │
│          │        │          │          │       │       │ name     │         │
│          │        │          │          │       │       │ will     │         │
│          │        │          │          │       │       │ cause    │         │
│          │        │          │          │       │       │ failure  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ assert_… │ script │ generic… │ None     │ None  │ None  │ This     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ will     │         │
│          │        │          │          │       │       │ fail     │         │
│          │        │          │          │       │       │ because  │         │
│          │        │          │          │       │       │ there is │         │
│          │        │          │          │       │       │ a        │         │
│          │        │          │          │       │       │ mismatch │         │
│          │        │          │          │       │       │ in       │         │
│          │        │          │          │       │       │ metric x │         │
│          │        │          │          │       │       │ assert   │         │
│          │        │          │          │       │       │ equality │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ string_… │ script │ generic… │ None     │ None  │ None  │ tags can │ /home/… │
│          │        │          │          │       │       │ be a     │         │
│          │        │          │          │       │       │ string   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ list_of… │ script │ generic… │ None     │ None  │ None  │ tags can │ /home/… │
│          │        │          │          │       │       │ be a     │         │
│          │        │          │          │       │       │ list of  │         │
│          │        │          │          │       │       │ strings  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ multipl… │ script │ generic… │ None     │ None  │ None  │ run test │ /home/… │
│          │        │          │          │       │       │ with     │         │
│          │        │          │          │       │       │ executor │         │
│          │        │          │          │       │       │ generic… │         │
│          │        │          │          │       │       │ and      │         │
│          │        │          │          │       │       │ generic… │         │
│          │        │          │          │       │       │ executor │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ multipl… │ script │ generic… │ None     │ None  │ None  │ run test │ /home/… │
│          │        │          │          │       │       │ with     │         │
│          │        │          │          │       │       │ executor │         │
│          │        │          │          │       │       │ generic… │         │
│          │        │          │          │       │       │ and      │         │
│          │        │          │          │       │       │ generic… │         │
│          │        │          │          │       │       │ executor │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ file_ex… │ script │ generic… │ None     │ None  │ None  │ this     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ will     │         │
│          │        │          │          │       │       │ pass     │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ assert_… │ script │ generic… │ None     │ None  │ None  │ Run      │ /home/… │
│          │        │          │          │       │       │ stream   │         │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ with     │         │
│          │        │          │          │       │       │ metrics  │         │
│          │        │          │          │       │       │ example  │         │
│          │        │          │          │       │       │ using    │         │
│          │        │          │          │       │       │ assert   │         │
│          │        │          │          │       │       │ greater  │         │
│          │        │          │          │       │       │ than.    │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ file_an… │ script │ generic… │ None     │ None  │ None  │ status   │ /home/… │
│          │        │          │          │       │       │ check    │         │
│          │        │          │          │       │       │ for      │         │
│          │        │          │          │       │       │ files    │         │
│          │        │          │          │       │       │ and      │         │
│          │        │          │          │       │       │ directo… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ combine… │ script │ generic… │ None     │ None  │ None  │ status   │ /home/… │
│          │        │          │          │       │       │ check    │         │
│          │        │          │          │       │       │ for      │         │
│          │        │          │          │       │       │ files    │         │
│          │        │          │          │       │       │ and      │         │
│          │        │          │          │       │       │ directo… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ variabl… │ script │ generic… │ None     │ None  │ None  │ Declare  │ /home/… │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ variabl… │         │
│          │        │          │          │       │       │ in bash  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ jobA/f6… │ script │ generic… │ None     │ None  │ None  │ no job   │ /home/… │
│          │        │          │          │       │       │ depende… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ jobB/b6… │ script │ generic… │ None     │ None  │ None  │ job      │ /home/… │
│          │        │          │          │       │       │ depende… │         │
│          │        │          │          │       │       │ on jobA  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ jobC/68… │ script │ generic… │ None     │ None  │ None  │ job      │ /home/… │
│          │        │          │          │       │       │ depende… │         │
│          │        │          │          │       │       │ on jobA  │         │
│          │        │          │          │       │       │ and jobB │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ metric_… │ script │ generic… │ None     │ None  │ None  │ capture  │ /home/… │
│          │        │          │          │       │       │ result   │         │
│          │        │          │          │       │       │ metric   │         │
│          │        │          │          │       │       │ from     │         │
│          │        │          │          │       │       │ file     │         │
│          │        │          │          │       │       │ path     │         │
│          │        │          │          │       │       │ when we  │         │
│          │        │          │          │       │       │ have     │         │
│          │        │          │          │       │       │ invalid  │         │
│          │        │          │          │       │       │ file     │         │
│          │        │          │          │       │       │ path     │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ always_… │ script │ generic… │ None     │ None  │ None  │ This     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ will     │         │
│          │        │          │          │       │       │ always   │         │
│          │        │          │          │       │       │ 'PASS'   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ always_… │ script │ generic… │ None     │ None  │ None  │ This     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ will     │         │
│          │        │          │          │       │       │ always   │         │
│          │        │          │          │       │       │ 'FAIL'   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ test_fa… │ script │ generic… │ None     │ None  │ None  │ This     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ will     │         │
│          │        │          │          │       │       │ 'FAIL'   │         │
│          │        │          │          │       │       │ even if  │         │
│          │        │          │          │       │       │ we have  │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ match    │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ test_pa… │ script │ generic… │ None     │ None  │ None  │ This     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ will     │         │
│          │        │          │          │       │       │ 'PASS'   │         │
│          │        │          │          │       │       │ even if  │         │
│          │        │          │          │       │       │ we have  │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ mismatch │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ status_… │ script │ generic… │ None     │ None  │ None  │ define   │ /home/… │
│          │        │          │          │       │       │ status   │         │
│          │        │          │          │       │       │ per      │         │
│          │        │          │          │       │       │ executor │         │
│          │        │          │          │       │       │ type.    │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ status_… │ script │ generic… │ None     │ None  │ None  │ define   │ /home/… │
│          │        │          │          │       │       │ status   │         │
│          │        │          │          │       │       │ per      │         │
│          │        │          │          │       │       │ executor │         │
│          │        │          │          │       │       │ type.    │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ file_co… │ script │ generic… │ None     │ None  │ None  │ file     │ /home/… │
│          │        │          │          │       │       │ count    │         │
│          │        │          │          │       │       │ check in │         │
│          │        │          │          │       │       │ directo… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ file_co… │ script │ generic… │ None     │ None  │ None  │ file     │ /home/… │
│          │        │          │          │       │       │ count by │         │
│          │        │          │          │       │       │ extensi… │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ stream_… │ script │ generic… │ None     │ None  │ None  │ Run      │ /home/… │
│          │        │          │          │       │       │ stream   │         │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ with     │         │
│          │        │          │          │       │       │ metrics  │         │
│          │        │          │          │       │       │ example  │         │
│          │        │          │          │       │       │ using    │         │
│          │        │          │          │       │       │ assert   │         │
│          │        │          │          │       │       │ greater  │         │
│          │        │          │          │       │       │ equal    │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ unskipp… │ script │ generic… │ None     │ None  │ None  │ This     │ /home/… │
│          │        │          │          │       │       │ test is  │         │
│          │        │          │          │       │       │ not      │         │
│          │        │          │          │       │       │ skipped  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ executo… │ script │ generic… │ None     │ None  │ None  │ Declari… │ /home/… │
│          │        │          │          │       │       │ env and  │         │
│          │        │          │          │       │       │ vars by  │         │
│          │        │          │          │       │       │ executo… │         │
│          │        │          │          │       │       │ section  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ executo… │ script │ generic… │ None     │ None  │ None  │ Declari… │ /home/… │
│          │        │          │          │       │       │ env and  │         │
│          │        │          │          │       │       │ vars by  │         │
│          │        │          │          │       │       │ executo… │         │
│          │        │          │          │       │       │ section  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ assert_… │ script │ generic… │ None     │ None  │ None  │ Test for │ /home/… │
│          │        │          │          │       │       │ assert   │         │
│          │        │          │          │       │       │ equality │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ summary… │ script │ generic… │ None     │ None  │ None  │ The      │ /home/… │
│          │        │          │          │       │       │ summary  │         │
│          │        │          │          │       │       │ field    │         │
│          │        │          │          │       │       │ can be a │         │
│          │        │          │          │       │       │ multi-l… │         │
│          │        │          │          │       │       │ string   │         │
│          │        │          │          │       │       │ and      │         │
│          │        │          │          │       │       │ exceed   │         │
│          │        │          │          │       │       │ 80 char  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ runtime… │ script │ generic… │ None     │ None  │ None  │ This     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ will     │         │
│          │        │          │          │       │       │ sleep 5  │         │
│          │        │          │          │       │       │ second   │         │
│          │        │          │          │       │       │ but will │         │
│          │        │          │          │       │       │ fail due │         │
│          │        │          │          │       │       │ to       │         │
│          │        │          │          │       │       │ runtime  │         │
│          │        │          │          │       │       │ 2sec     │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ runtime… │ script │ generic… │ None     │ None  │ None  │ This     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ will run │         │
│          │        │          │          │       │       │ when     │         │
│          │        │          │          │       │       │ runtime… │         │
│          │        │          │          │       │       │ is PASS  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ runtime… │ script │ generic… │ None     │ None  │ None  │ This     │ /home/… │
│          │        │          │          │       │       │ test     │         │
│          │        │          │          │       │       │ will run │         │
│          │        │          │          │       │       │ when     │         │
│          │        │          │          │       │       │ runtime… │         │
│          │        │          │          │       │       │ is FAIL  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ executo… │ script │ generic… │ None     │ None  │ None  │ Declari… │ /home/… │
│          │        │          │          │       │       │ env and  │         │
│          │        │          │          │       │       │ vars by  │         │
│          │        │          │          │       │       │ executo… │         │
│          │        │          │          │       │       │ section  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ executo… │ script │ generic… │ None     │ None  │ None  │ Declari… │ /home/… │
│          │        │          │          │       │       │ env and  │         │
│          │        │          │          │       │       │ vars by  │         │
│          │        │          │          │       │       │ executo… │         │
│          │        │          │          │       │       │ section  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ sleep/5… │ script │ generic… │ None     │ None  │ None  │ sleep 2  │ /home/… │
│          │        │          │          │       │       │ seconds  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ file_co… │ script │ generic… │ None     │ None  │ None  │ Count    │ /home/… │
│          │        │          │          │       │       │ the      │         │
│          │        │          │          │       │       │ number   │         │
│          │        │          │          │       │       │ of       │         │
│          │        │          │          │       │       │ directo… │         │
│          │        │          │          │       │       │ and      │         │
│          │        │          │          │       │       │ symbolic │         │
│          │        │          │          │       │       │ links    │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
exit1_fail/df570f48: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/df570f48
exit1_fail/df570f48: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/df570f48/stage
exit1_fail/df570f48: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/df570f48/exit1_fail_build.sh
exit1_pass/4a62c4cd: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/4a62c4cd
exit1_pass/4a62c4cd: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/4a62c4cd/stage
exit1_pass/4a62c4cd: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/4a62c4cd/exit1_pass_build.sh
returncode_list_mismatch/f711f3c8: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/f711f3c8
returncode_list_mismatch/f711f3c8: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/f711f3c8/stage
returncode_list_mismatch/f711f3c8: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/f711f3c8/returncode_list_mismatch_build.sh
returncode_int_match/c772b45f: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/c772b45f
returncode_int_match/c772b45f: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/c772b45f/stage
returncode_int_match/c772b45f: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/c772b45f/returncode_int_match_build.sh
assert_le_example/57bdf7fa: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_le/assert_le_example/57bdf7fa
assert_le_example/57bdf7fa: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_le/assert_le_example/57bdf7fa/stage
assert_le_example/57bdf7fa: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_le/assert_le_example/57bdf7fa/assert_le_example_build.sh
contains_and_not_contains/e10022ea: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/contains/contains_and_not_contains/e10022ea
contains_and_not_contains/e10022ea: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/contains/contains_and_not_contains/e10022ea/stage
contains_and_not_contains/e10022ea: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/contains/contains_and_not_contains/e10022ea/contains_and_not_contains_build.sh
assert_contains_fail/cc7510ea: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/contains/assert_contains_fail/cc7510ea
assert_contains_fail/cc7510ea: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/contains/assert_contains_fail/cc7510ea/stage
assert_contains_fail/cc7510ea: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/contains/assert_contains_fail/cc7510ea/assert_contains_fail_build.sh
python_hello/1abf0dc4: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/1abf0dc4
python_hello/1abf0dc4: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/1abf0dc4/stage
python_hello/1abf0dc4: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/1abf0dc4/python_hello_build.sh
file_traverse_limit/4f937a75: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count_file_traverse_limit/file_traverse_limit/4f937a75
file_traverse_limit/4f937a75: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count_file_traverse_limit/file_traverse_limit/4f937a75/stage
file_traverse_limit/4f937a75: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count_file_traverse_limit/file_traverse_limit/4f937a75/file_traverse_limit_build.sh
pass_test/225e23a2: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex3/pass_test/225e23a2
pass_test/225e23a2: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex3/pass_test/225e23a2/stage
pass_test/225e23a2: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex3/pass_test/225e23a2/pass_test_build.sh
fail_test/9b2e4d90: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex3/fail_test/9b2e4d90
fail_test/9b2e4d90: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex3/fail_test/9b2e4d90/stage
fail_test/9b2e4d90: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex3/fail_test/9b2e4d90/fail_test_build.sh
pass_and_fail_test/8354ec95: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex3/pass_and_fail_test/8354ec95
pass_and_fail_test/8354ec95: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex3/pass_and_fail_test/8354ec95/stage
pass_and_fail_test/8354ec95: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex3/pass_and_fail_test/8354ec95/pass_and_fail_test_build.sh
final_test/aca93878: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex3/final_test/aca93878
final_test/aca93878: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex3/final_test/aca93878/stage
final_test/aca93878: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex3/final_test/aca93878/final_test_build.sh
circle_area/01cd7094: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/01cd7094
circle_area/01cd7094: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/01cd7094/stage
circle_area/01cd7094: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/01cd7094/circle_area_build.sh
hello_world/171be341: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/hello_world/hello_world/171be341
hello_world/171be341: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/hello_world/hello_world/171be341/stage
hello_world/171be341: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/hello_world/hello_world/171be341/hello_world_build.sh
create_burst_buffer_executors/5471487e: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/burstbuffer_datawarp_executors/create_burst_buffer_executors/5471487e
create_burst_buffer_executors/5471487e: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/burstbuffer_datawarp_executors/create_burst_buffer_executors/5471487e/stage
create_burst_buffer_executors/5471487e: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/burstbuffer_datawarp_executors/create_burst_buffer_executors/5471487e/create_burst_buffer_executors_build.sh
create_burst_buffer_executors/a7037010: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/burstbuffer_datawarp_executors/create_burst_buffer_executors/a7037010
create_burst_buffer_executors/a7037010: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/burstbuffer_datawarp_executors/create_burst_buffer_executors/a7037010/stage
create_burst_buffer_executors/a7037010: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/burstbuffer_datawarp_executors/create_burst_buffer_executors/a7037010/create_burst_buffer_executors_build.sh
file_count_by_expression/75beb52e: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count_pattern/file_count_by_expression/75beb52e
file_count_by_expression/75beb52e: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count_pattern/file_count_by_expression/75beb52e/stage
file_count_by_expression/75beb52e: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count_pattern/file_count_by_expression/75beb52e/file_count_by_expression_build.sh
file_extension_and_filepattern/56953fdc: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count_pattern/file_extension_and_filepattern/56953fdc
file_extension_and_filepattern/56953fdc: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count_pattern/file_extension_and_filepattern/56953fdc/stage
file_extension_and_filepattern/56953fdc: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count_pattern/file_extension_and_filepattern/56953fdc/file_extension_and_filepattern_build.sh
_bin_sh_shell/3f8a47b5: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/shell_examples/_bin_sh_shell/3f8a47b5
_bin_sh_shell/3f8a47b5: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/shell_examples/_bin_sh_shell/3f8a47b5/stage
_bin_sh_shell/3f8a47b5: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/shell_examples/_bin_sh_shell/3f8a47b5/_bin_sh_shell_build.sh
_bin_bash_shell/796da23e: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/shell_examples/_bin_bash_shell/796da23e
_bin_bash_shell/796da23e: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/shell_examples/_bin_bash_shell/796da23e/stage
_bin_bash_shell/796da23e: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/shell_examples/_bin_bash_shell/796da23e/_bin_bash_shell_build.sh
bash_shell/996d2d97: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/shell_examples/bash_shell/996d2d97
bash_shell/996d2d97: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/shell_examples/bash_shell/996d2d97/stage
bash_shell/996d2d97: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/shell_examples/bash_shell/996d2d97/bash_shell_build.sh
sh_shell/05addf1f: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/shell_examples/sh_shell/05addf1f
sh_shell/05addf1f: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/shell_examples/sh_shell/05addf1f/stage
sh_shell/05addf1f: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/shell_examples/sh_shell/05addf1f/sh_shell_build.sh
shell_options/3e508531: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/shell_examples/shell_options/3e508531
shell_options/3e508531: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/shell_examples/shell_options/3e508531/stage
shell_options/3e508531: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/shell_examples/shell_options/3e508531/shell_options_build.sh
bash_env_variables/26781589: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/environment/bash_env_variables/26781589
bash_env_variables/26781589: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/environment/bash_env_variables/26781589/stage
bash_env_variables/26781589: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/environment/bash_env_variables/26781589/bash_env_variables_build.sh
csh_env_declaration/df94e5e2: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/csh_env_declaration/df94e5e2
csh_env_declaration/df94e5e2: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/csh_env_declaration/df94e5e2/stage
csh_env_declaration/df94e5e2: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/csh_env_declaration/df94e5e2/csh_env_declaration_build.sh
tcsh_env_declaration/971357cf: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/tcsh_env_declaration/971357cf
tcsh_env_declaration/971357cf: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/tcsh_env_declaration/971357cf/stage
tcsh_env_declaration/971357cf: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/environment/tcsh_env_declaration/971357cf/tcsh_env_declaration_build.sh
test1/2d70f503: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex2/test1/2d70f503
test1/2d70f503: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex2/test1/2d70f503/stage
test1/2d70f503: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex2/test1/2d70f503/test1_build.sh
test2/ec6567e6: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex2/test2/ec6567e6
test2/ec6567e6: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex2/test2/ec6567e6/stage
test2/ec6567e6: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex2/test2/ec6567e6/test2_build.sh
test3/8a64c43c: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex2/test3/8a64c43c
test3/8a64c43c: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex2/test3/8a64c43c/stage
test3/8a64c43c: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex2/test3/8a64c43c/test3_build.sh
gcc_version/d85ab778: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/gcc_version/gcc_version/d85ab778
gcc_version/d85ab778: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/gcc_version/gcc_version/d85ab778/stage
gcc_version/d85ab778: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/gcc_version/gcc_version/d85ab778/gcc_version_build.sh
add_numbers/d1f336aa: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/add_numbers/add_numbers/d1f336aa
add_numbers/d1f336aa: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/add_numbers/add_numbers/d1f336aa/stage
add_numbers/d1f336aa: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/add_numbers/add_numbers/d1f336aa/add_numbers_build.sh
assert_range_ex/29a0cfb2: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_range/assert_range_ex/29a0cfb2
assert_range_ex/29a0cfb2: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_range/assert_range_ex/29a0cfb2/stage
assert_range_ex/29a0cfb2: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_range/assert_range_ex/29a0cfb2/assert_range_ex_build.sh
assert_lt_example/2e1ae642: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_lt/assert_lt_example/2e1ae642
assert_lt_example/2e1ae642: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_lt/assert_lt_example/2e1ae642/stage
assert_lt_example/2e1ae642: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_lt/assert_lt_example/2e1ae642/assert_lt_example_build.sh
status_logical_and/9f8fad6a: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/mode/status_logical_and/9f8fad6a
status_logical_and/9f8fad6a: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/mode/status_logical_and/9f8fad6a/stage
status_logical_and/9f8fad6a: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/mode/status_logical_and/9f8fad6a/status_logical_and_build.sh
status_logical_or/b5dd3d27: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/mode/status_logical_or/b5dd3d27
status_logical_or/b5dd3d27: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/mode/status_logical_or/b5dd3d27/stage
status_logical_or/b5dd3d27: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/mode/status_logical_or/b5dd3d27/status_logical_or_build.sh
csh_shell/d638c9da: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/csh_shell_examples/csh_shell/d638c9da
csh_shell/d638c9da: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/csh_shell_examples/csh_shell/d638c9da/stage
csh_shell/d638c9da: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.csh/csh_shell_examples/csh_shell/d638c9da/csh_shell_build.sh
regex_on_multiple_files/26470168: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/regex_on_filename/regex_on_multiple_files/26470168
regex_on_multiple_files/26470168: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/regex_on_filename/regex_on_multiple_files/26470168/stage
regex_on_multiple_files/26470168: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/regex_on_filename/regex_on_multiple_files/26470168/regex_on_multiple_files_build.sh
regex_on_directory_not_supported/6a3bdde5: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/regex_on_filename/regex_on_directory_not_supported/6a3bdde5
regex_on_directory_not_supported/6a3bdde5: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/regex_on_filename/regex_on_directory_not_supported/6a3bdde5/stage
regex_on_directory_not_supported/6a3bdde5: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/regex_on_filename/regex_on_directory_not_supported/6a3bdde5/regex_on_directory_not_supported_build.sh
file_expansion_supported/2d2930b8: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/regex_on_filename/file_expansion_supported/2d2930b8
file_expansion_supported/2d2930b8: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/regex_on_filename/file_expansion_supported/2d2930b8/stage
file_expansion_supported/2d2930b8: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/regex_on_filename/file_expansion_supported/2d2930b8/file_expansion_supported_build.sh
status_exists/edfaba11: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/exists/status_exists/edfaba11
status_exists/edfaba11: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/exists/status_exists/edfaba11/stage
status_exists/edfaba11: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/exists/status_exists/edfaba11/status_exists_build.sh
status_exists_failure/bef1389e: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/exists/status_exists_failure/bef1389e
status_exists_failure/bef1389e: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/exists/status_exists_failure/bef1389e/stage
status_exists_failure/bef1389e: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/exists/status_exists_failure/bef1389e/status_exists_failure_build.sh
bash_login_shebang/cdc13548: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/shebang/bash_login_shebang/cdc13548
bash_login_shebang/cdc13548: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/shebang/bash_login_shebang/cdc13548/stage
bash_login_shebang/cdc13548: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/shebang/bash_login_shebang/cdc13548/bash_login_shebang_build.sh
bash_nonlogin_shebang/c342fea3: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/shebang/bash_nonlogin_shebang/c342fea3
bash_nonlogin_shebang/c342fea3: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/shebang/bash_nonlogin_shebang/c342fea3/stage
bash_nonlogin_shebang/c342fea3: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/shebang/bash_nonlogin_shebang/c342fea3/bash_nonlogin_shebang_build.sh
metric_regex_example/ba77dc07: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/metrics_regex/metric_regex_example/ba77dc07
metric_regex_example/ba77dc07: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/metrics_regex/metric_regex_example/ba77dc07/stage
metric_regex_example/ba77dc07: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/metrics_regex/metric_regex_example/ba77dc07/metric_regex_example_build.sh
metric_file_regex/6f381b0a: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/metrics_regex/metric_file_regex/6f381b0a
metric_file_regex/6f381b0a: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/metrics_regex/metric_file_regex/6f381b0a/stage
metric_file_regex/6f381b0a: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/metrics_regex/metric_file_regex/6f381b0a/metric_file_regex_build.sh
assert_ne_example/c36e9fc8: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_ne/assert_ne_example/c36e9fc8
assert_ne_example/c36e9fc8: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_ne/assert_ne_example/c36e9fc8/stage
assert_ne_example/c36e9fc8: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_ne/assert_ne_example/c36e9fc8/assert_ne_example_build.sh
timelimit_min_max/4d038081: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/runtime_status_test/timelimit_min_max/4d038081
timelimit_min_max/4d038081: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/runtime_status_test/timelimit_min_max/4d038081/stage
timelimit_min_max/4d038081: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/runtime_status_test/timelimit_min_max/4d038081/timelimit_min_max_build.sh
timelimit_min/10a8e802: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/runtime_status_test/timelimit_min/10a8e802
timelimit_min/10a8e802: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/runtime_status_test/timelimit_min/10a8e802/stage
timelimit_min/10a8e802: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/runtime_status_test/timelimit_min/10a8e802/timelimit_min_build.sh
timelimit_max/ad20cd92: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/runtime_status_test/timelimit_max/ad20cd92
timelimit_max/ad20cd92: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/runtime_status_test/timelimit_max/ad20cd92/stage
timelimit_max/ad20cd92: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/runtime_status_test/timelimit_max/ad20cd92/timelimit_max_build.sh
timelimit_min_fail/e0b1f762: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/runtime_status_test/timelimit_min_fail/e0b1f762
timelimit_min_fail/e0b1f762: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/runtime_status_test/timelimit_min_fail/e0b1f762/stage
timelimit_min_fail/e0b1f762: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/runtime_status_test/timelimit_min_fail/e0b1f762/timelimit_min_fail_build.sh
timelimit_max_fail/03ec642c: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/runtime_status_test/timelimit_max_fail/03ec642c
timelimit_max_fail/03ec642c: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/runtime_status_test/timelimit_max_fail/03ec642c/stage
timelimit_max_fail/03ec642c: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/runtime_status_test/timelimit_max_fail/03ec642c/timelimit_max_fail_build.sh
foo_bar/bed60f7a: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/maintainers_example/foo_bar/bed60f7a
foo_bar/bed60f7a: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/maintainers_example/foo_bar/bed60f7a/stage
foo_bar/bed60f7a: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/maintainers_example/foo_bar/bed60f7a/foo_bar_build.sh
symlink_test/7780f64d: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/is_symlink/symlink_test/7780f64d
symlink_test/7780f64d: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/is_symlink/symlink_test/7780f64d/stage
symlink_test/7780f64d: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/is_symlink/symlink_test/7780f64d/symlink_test_build.sh
status_regex_stdout_pass/77e91b7d: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/status_regex/status_regex_stdout_pass/77e91b7d
status_regex_stdout_pass/77e91b7d: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/status_regex/status_regex_stdout_pass/77e91b7d/stage
status_regex_stdout_pass/77e91b7d: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/status_regex/status_regex_stdout_pass/77e91b7d/status_regex_stdout_pass_build.sh
status_regex_stdout_fail/9776276d: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/status_regex/status_regex_stdout_fail/9776276d
status_regex_stdout_fail/9776276d: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/status_regex/status_regex_stdout_fail/9776276d/stage
status_regex_stdout_fail/9776276d: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/status_regex/status_regex_stdout_fail/9776276d/status_regex_stdout_fail_build.sh
status_regex_stderr_pass/b8d0c405: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/status_regex/status_regex_stderr_pass/b8d0c405
status_regex_stderr_pass/b8d0c405: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/status_regex/status_regex_stderr_pass/b8d0c405/stage
status_regex_stderr_pass/b8d0c405: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/status_regex/status_regex_stderr_pass/b8d0c405/status_regex_stderr_pass_build.sh
status_regex_stderr_fail/3005ae6a: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/status_regex/status_regex_stderr_fail/3005ae6a
status_regex_stderr_fail/3005ae6a: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/status_regex/status_regex_stderr_fail/3005ae6a/stage
status_regex_stderr_fail/3005ae6a: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/status_regex/status_regex_stderr_fail/3005ae6a/status_regex_stderr_fail_build.sh
assert_eq_invalid_metric/88734134: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_eq_exceptions/assert_eq_invalid_metric/88734134
assert_eq_invalid_metric/88734134: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_eq_exceptions/assert_eq_invalid_metric/88734134/stage
assert_eq_invalid_metric/88734134: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_eq_exceptions/assert_eq_invalid_metric/88734134/assert_eq_invalid_metric_build.sh
assert_eq_mismatch/de04f857: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_eq_exceptions/assert_eq_mismatch/de04f857
assert_eq_mismatch/de04f857: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_eq_exceptions/assert_eq_mismatch/de04f857/stage
assert_eq_mismatch/de04f857: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_eq_exceptions/assert_eq_mismatch/de04f857/assert_eq_mismatch_build.sh
string_tag/d5be1ac7: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/string_tag/d5be1ac7
string_tag/d5be1ac7: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/string_tag/d5be1ac7/stage
string_tag/d5be1ac7: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/string_tag/d5be1ac7/string_tag_build.sh
list_of_strings_tags/e8f22d43: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/list_of_strings_tags/e8f22d43
list_of_strings_tags/e8f22d43: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/list_of_strings_tags/e8f22d43/stage
list_of_strings_tags/e8f22d43: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/tags_example/list_of_strings_tags/e8f22d43/list_of_strings_tags_build.sh
multiple_executors/0226978d: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/executor_regex_script/multiple_executors/0226978d
multiple_executors/0226978d: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/executor_regex_script/multiple_executors/0226978d/stage
multiple_executors/0226978d: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/executor_regex_script/multiple_executors/0226978d/multiple_executors_build.sh
multiple_executors/385c475b: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/executor_regex_script/multiple_executors/385c475b
multiple_executors/385c475b: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/executor_regex_script/multiple_executors/385c475b/stage
multiple_executors/385c475b: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/executor_regex_script/multiple_executors/385c475b/multiple_executors_build.sh
file_exists_pass/1dae9e35: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_exists_with_number/file_exists_pass/1dae9e35
file_exists_pass/1dae9e35: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_exists_with_number/file_exists_pass/1dae9e35/stage
file_exists_pass/1dae9e35: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_exists_with_number/file_exists_pass/1dae9e35/file_exists_pass_build.sh
assert_gt_example/a072a907: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_gt/assert_gt_example/a072a907
assert_gt_example/a072a907: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_gt/assert_gt_example/a072a907/stage
assert_gt_example/a072a907: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_gt/assert_gt_example/a072a907/assert_gt_example_build.sh
file_and_dir_checks/e5ed91e3: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_and_dir_check/file_and_dir_checks/e5ed91e3
file_and_dir_checks/e5ed91e3: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_and_dir_check/file_and_dir_checks/e5ed91e3/stage
file_and_dir_checks/e5ed91e3: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_and_dir_check/file_and_dir_checks/e5ed91e3/file_and_dir_checks_build.sh
combined_file_and_dir_checks/4b80d955: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_and_dir_check/combined_file_and_dir_checks/4b80d955
combined_file_and_dir_checks/4b80d955: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_and_dir_check/combined_file_and_dir_checks/4b80d955/stage
combined_file_and_dir_checks/4b80d955: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_and_dir_check/combined_file_and_dir_checks/4b80d955/combined_file_and_dir_checks_build.sh
variables_bash/6efe0d5c: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/6efe0d5c
variables_bash/6efe0d5c: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/6efe0d5c/stage
variables_bash/6efe0d5c: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/6efe0d5c/variables_bash_build.sh
jobA/f68cbdf4: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex1/jobA/f68cbdf4
jobA/f68cbdf4: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex1/jobA/f68cbdf4/stage
jobA/f68cbdf4: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex1/jobA/f68cbdf4/jobA_build.sh
jobB/b690ecbd: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex1/jobB/b690ecbd
jobB/b690ecbd: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex1/jobB/b690ecbd/stage
jobB/b690ecbd: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex1/jobB/b690ecbd/jobB_build.sh
jobC/68a5e755: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex1/jobC/68a5e755
jobC/68a5e755: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex1/jobC/68a5e755/stage
jobC/68a5e755: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex1/jobC/68a5e755/jobC_build.sh
metric_file_regex_invalid_file/43b1f84f: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/metrics_file_regex_invalid_file/metric_file_regex_invalid_file/43b1f84f
metric_file_regex_invalid_file/43b1f84f: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/metrics_file_regex_invalid_file/metric_file_regex_invalid_file/43b1f84f/stage
metric_file_regex_invalid_file/43b1f84f: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/metrics_file_regex_invalid_file/metric_file_regex_invalid_file/43b1f84f/metric_file_regex_invalid_file_build.sh
always_pass/da1ef608: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/explicit_state/always_pass/da1ef608
always_pass/da1ef608: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/explicit_state/always_pass/da1ef608/stage
always_pass/da1ef608: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/explicit_state/always_pass/da1ef608/always_pass_build.sh
always_fail/4a181c04: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/explicit_state/always_fail/4a181c04
always_fail/4a181c04: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/explicit_state/always_fail/4a181c04/stage
always_fail/4a181c04: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/explicit_state/always_fail/4a181c04/always_fail_build.sh
test_fail_returncode_match/11d5b606: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/explicit_state/test_fail_returncode_match/11d5b606
test_fail_returncode_match/11d5b606: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/explicit_state/test_fail_returncode_match/11d5b606/stage
test_fail_returncode_match/11d5b606: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/explicit_state/test_fail_returncode_match/11d5b606/test_fail_returncode_match_build.sh
test_pass_returncode_mismatch/eff291cb: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/explicit_state/test_pass_returncode_mismatch/eff291cb
test_pass_returncode_mismatch/eff291cb: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/explicit_state/test_pass_returncode_mismatch/eff291cb/stage
test_pass_returncode_mismatch/eff291cb: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/explicit_state/test_pass_returncode_mismatch/eff291cb/test_pass_returncode_mismatch_build.sh
status_returncode_by_executors/8649c802: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/status_by_executors/status_returncode_by_executors/8649c802
status_returncode_by_executors/8649c802: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/status_by_executors/status_returncode_by_executors/8649c802/stage
status_returncode_by_executors/8649c802: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/status_by_executors/status_returncode_by_executors/8649c802/status_returncode_by_executors_build.sh
status_returncode_by_executors/e341f4c1: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/status_by_executors/status_returncode_by_executors/e341f4c1
status_returncode_by_executors/e341f4c1: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/status_by_executors/status_returncode_by_executors/e341f4c1/stage
status_returncode_by_executors/e341f4c1: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/status_by_executors/status_returncode_by_executors/e341f4c1/status_returncode_by_executors_build.sh
file_count_on_directory/f59ab384: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count/file_count_on_directory/f59ab384
file_count_on_directory/f59ab384: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count/file_count_on_directory/f59ab384/stage
file_count_on_directory/f59ab384: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count/file_count_on_directory/f59ab384/file_count_on_directory_build.sh
file_count_by_extension/cb1b4c2d: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count/file_count_by_extension/cb1b4c2d
file_count_by_extension/cb1b4c2d: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count/file_count_by_extension/cb1b4c2d/stage
file_count_by_extension/cb1b4c2d: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count/file_count_by_extension/cb1b4c2d/file_count_by_extension_build.sh
stream_test/c2e2fd44: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_ge/stream_test/c2e2fd44
stream_test/c2e2fd44: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_ge/stream_test/c2e2fd44/stage
stream_test/c2e2fd44: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_ge/stream_test/c2e2fd44/stream_test_build.sh
unskipped/b7ef9b2a: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/skip_tests/unskipped/b7ef9b2a
unskipped/b7ef9b2a: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/skip_tests/unskipped/b7ef9b2a/stage
unskipped/b7ef9b2a: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/skip_tests/unskipped/b7ef9b2a/unskipped_build.sh
executors_vars_env_declaration/10034c16: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/executors_var_env_declaration/executors_vars_env_declaration/10034c16
executors_vars_env_declaration/10034c16: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/executors_var_env_declaration/executors_vars_env_declaration/10034c16/stage
executors_vars_env_declaration/10034c16: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/executors_var_env_declaration/executors_vars_env_declaration/10034c16/executors_vars_env_declaration_build.sh
executors_vars_env_declaration/02388357: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/executors_var_env_declaration/executors_vars_env_declaration/02388357
executors_vars_env_declaration/02388357: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/executors_var_env_declaration/executors_vars_env_declaration/02388357/stage
executors_vars_env_declaration/02388357: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/executors_var_env_declaration/executors_vars_env_declaration/02388357/executors_vars_env_declaration_build.sh
assert_eq_example/8d8e519d: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_eq/assert_eq_example/8d8e519d
assert_eq_example/8d8e519d: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_eq/assert_eq_example/8d8e519d/stage
assert_eq_example/8d8e519d: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/assert_eq/assert_eq_example/8d8e519d/assert_eq_example_build.sh
summary_example/8e0e4fb0: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/summary_example/summary_example/8e0e4fb0
summary_example/8e0e4fb0: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/summary_example/summary_example/8e0e4fb0/stage
summary_example/8e0e4fb0: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/summary_example/summary_example/8e0e4fb0/summary_example_build.sh
runtime_test/b2a6b8c3: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex4/runtime_test/b2a6b8c3
runtime_test/b2a6b8c3: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex4/runtime_test/b2a6b8c3/stage
runtime_test/b2a6b8c3: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex4/runtime_test/b2a6b8c3/runtime_test_build.sh
runtime_test_pass/6334dd71: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex4/runtime_test_pass/6334dd71
runtime_test_pass/6334dd71: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex4/runtime_test_pass/6334dd71/stage
runtime_test_pass/6334dd71: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex4/runtime_test_pass/6334dd71/runtime_test_pass_build.sh
runtime_test_fail/7133b715: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex4/runtime_test_fail/7133b715
runtime_test_fail/7133b715: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex4/runtime_test_fail/7133b715/stage
runtime_test_fail/7133b715: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/ex4/runtime_test_fail/7133b715/runtime_test_fail_build.sh
executors_sbatch_declaration/bca0835b: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/executor_scheduler/executors_sbatch_declaration/bca0835b
executors_sbatch_declaration/bca0835b: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/executor_scheduler/executors_sbatch_declaration/bca0835b/stage
executors_sbatch_declaration/bca0835b: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/executor_scheduler/executors_sbatch_declaration/bca0835b/executors_sbatch_declaration_build.sh
executors_sbatch_declaration/bd4d3cf3: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/executor_scheduler/executors_sbatch_declaration/bd4d3cf3
executors_sbatch_declaration/bd4d3cf3: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/executor_scheduler/executors_sbatch_declaration/bd4d3cf3/stage
executors_sbatch_declaration/bd4d3cf3: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.sh/executor_scheduler/executors_sbatch_declaration/bd4d3cf3/executors_sbatch_declaration_build.sh
sleep/5dfcd1dc: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/sleep/sleep/5dfcd1dc
sleep/5dfcd1dc: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/sleep/sleep/5dfcd1dc/stage
sleep/5dfcd1dc: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/sleep/sleep/5dfcd1dc/sleep_build.sh
file_count_by_filetype/ebdccf39: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count_filetype/file_count_by_filetype/ebdccf39
file_count_by_filetype/ebdccf39: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count_filetype/file_count_by_filetype/ebdccf39/stage
file_count_by_filetype/ebdccf39: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/file_count_filetype/file_count_by_filetype/ebdccf39/file_count_by_filetype_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 build -t python --executor-type local
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:03                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                            Buildspecs By Tag=python                            
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  2
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  2
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/python-shell.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/python-hello.yml: VALID
Total builder objects created: 2
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ circle_… │ script │ generic… │ None     │ None  │ None  │ Calcula… │ /home/… │
│          │        │          │          │       │       │ circle   │         │
│          │        │          │          │       │       │ of area  │         │
│          │        │          │          │       │       │ given a  │         │
│          │        │          │          │       │       │ radius   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ python_… │ script │ generic… │ None     │ None  │ None  │ Hello    │ /home/… │
│          │        │          │          │       │       │ World    │         │
│          │        │          │          │       │       │ python   │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
circle_area/1cbc1786: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/1cbc1786
circle_area/1cbc1786: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/1cbc1786/stage
circle_area/1cbc1786: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/1cbc1786/circle_area_build.sh
python_hello/262f0452: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/262f0452
python_hello/262f0452: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/262f0452/stage
python_hello/262f0452: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/262f0452/python_hello_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
circle_area/1cbc1786 does not have any dependencies adding test to queue
python_hello/262f0452 does not have any dependencies adding test to queue
circle_area/1cbc1786: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/1cbc1786/stage
circle_area/1cbc1786: Running Test via command: bash --norc --noprofile -eo pipefail circle_area_build.sh
circle_area/1cbc1786: Test completed in 0.032688 seconds
circle_area/1cbc1786: Test completed with returncode: 0
circle_area/1cbc1786: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/1cbc1786/circle_area.out
circle_area/1cbc1786: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/1cbc1786/circle_area.err
python_hello/262f0452: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/262f0452/stage
python_hello/262f0452: Running Test via command: bash --norc --noprofile -eo pipefail python_hello_build.sh
python_hello/262f0452: Test completed in 0.030855 seconds
python_hello/262f0452: Test completed with returncode: 0
python_hello/262f0452: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/262f0452/python_hello.out
python_hello/262f0452: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/262f0452/python_hello.err
In this iteration we are going to run the following tests: [circle_area/1cbc1786, python_hello/262f0452]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ python_hello │ generic.loc… │ PASS   │ None None     │ 0          │ 0.030855 │
│ /262f0452    │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ circle_area/ │ generic.loc… │ PASS   │ None None     │ 0          │ 0.032688 │
│ 1cbc1786     │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_kminbfgs.log

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

buildtest build -t python --executor-type batch
$ buildtest build -t python --executor-type batch
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:04                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                            Buildspecs By Tag=python                            
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


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

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/v1.5/var/buildtest.log

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

buildtest build -b tests --executor-type local

Configure Build Stages

We can control behavior of buildtest build command to stop at certain phase using --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 build -b tutorials/vars.yml --stage=parse
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:04                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/vars.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ variabl… │ script │ generic… │ None     │ None  │ None  │ Declare  │ /home/… │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ variabl… │         │
│          │        │          │          │       │       │ in bash  │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘

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 build -b tutorials/vars.yml --stage=build
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:05                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/vars.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ variabl… │ script │ generic… │ None     │ None  │ None  │ Declare  │ /home/… │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ variabl… │         │
│          │        │          │          │       │       │ in bash  │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
variables_bash/17dc7b6b: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/17dc7b6b
variables_bash/17dc7b6b: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/17dc7b6b/stage
variables_bash/17dc7b6b: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/17dc7b6b/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 build -b tutorials/invalid_buildspec_section.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:06                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 0
Invalid Buildspecs: 1
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/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/v1.5/var/buildtest.log

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

buildtest build -b tutorials/invalid_executor.yml
$ buildtest build -b tutorials/invalid_executor.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:06                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


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

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/v1.5/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 build -b tutorials/python-shell.yml --rebuild=3
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:07                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/python-shell.yml: VALID
Total builder objects created: 3
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ circle_… │ script │ generic… │ None     │ None  │ None  │ Calcula… │ /home/… │
│          │        │          │          │       │       │ circle   │         │
│          │        │          │          │       │       │ of area  │         │
│          │        │          │          │       │       │ given a  │         │
│          │        │          │          │       │       │ radius   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ circle_… │ script │ generic… │ None     │ None  │ None  │ Calcula… │ /home/… │
│          │        │          │          │       │       │ circle   │         │
│          │        │          │          │       │       │ of area  │         │
│          │        │          │          │       │       │ given a  │         │
│          │        │          │          │       │       │ radius   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ circle_… │ script │ generic… │ None     │ None  │ None  │ Calcula… │ /home/… │
│          │        │          │          │       │       │ circle   │         │
│          │        │          │          │       │       │ of area  │         │
│          │        │          │          │       │       │ given a  │         │
│          │        │          │          │       │       │ radius   │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
circle_area/bfe11040: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/bfe11040
circle_area/bfe11040: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/bfe11040/stage
circle_area/bfe11040: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/bfe11040/circle_area_build.sh
circle_area/0b43c917: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/0b43c917
circle_area/0b43c917: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/0b43c917/stage
circle_area/0b43c917: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/0b43c917/circle_area_build.sh
circle_area/1b3b75bf: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/1b3b75bf
circle_area/1b3b75bf: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/1b3b75bf/stage
circle_area/1b3b75bf: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/1b3b75bf/circle_area_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
circle_area/1b3b75bf does not have any dependencies adding test to queue
circle_area/bfe11040 does not have any dependencies adding test to queue
circle_area/0b43c917 does not have any dependencies adding test to queue
circle_area/bfe11040: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/bfe11040/stage
circle_area/bfe11040: Running Test via command: bash --norc --noprofile -eo pipefail circle_area_build.sh
circle_area/bfe11040: Test completed in 0.032815 seconds
circle_area/bfe11040: Test completed with returncode: 0
circle_area/bfe11040: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/bfe11040/circle_area.out
circle_area/bfe11040: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/bfe11040/circle_area.err
circle_area/0b43c917: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/0b43c917/stage
circle_area/0b43c917: Running Test via command: bash --norc --noprofile -eo pipefail circle_area_build.sh
circle_area/0b43c917: Test completed in 0.033213 seconds
circle_area/0b43c917: Test completed with returncode: 0
circle_area/0b43c917: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/0b43c917/circle_area.out
circle_area/0b43c917: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/0b43c917/circle_area.err
circle_area/1b3b75bf: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/1b3b75bf/stage
circle_area/1b3b75bf: Running Test via command: bash --norc --noprofile -eo pipefail circle_area_build.sh
circle_area/1b3b75bf: Test completed in 0.033181 seconds
circle_area/1b3b75bf: Test completed with returncode: 0
circle_area/1b3b75bf: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/1b3b75bf/circle_area.out
circle_area/1b3b75bf: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/1b3b75bf/circle_area.err
In this iteration we are going to run the following tests: [circle_area/bfe11040, circle_area/0b43c917, circle_area/1b3b75bf]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ circle_area/ │ generic.loc… │ PASS   │ None None     │ 0          │ 0.032815 │
│ bfe11040     │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ circle_area/ │ generic.loc… │ PASS   │ None None     │ 0          │ 0.033213 │
│ 0b43c917     │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ circle_area/ │ generic.loc… │ PASS   │ None None     │ 0          │ 0.033181 │
│ 1b3b75bf     │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_qdechxcg.log

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

buildtest build -t fail --rebuild 2
$ buildtest build -t fail --rebuild 2
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:07                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                             Buildspecs By Tag=fail                             
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/pass_returncode.yml: VALID
Total builder objects created: 8
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_f… │ script │ generic… │ None     │ None  │ None  │ exit 1   │ /home/… │
│          │        │          │          │       │       │ by       │         │
│          │        │          │          │       │       │ default  │         │
│          │        │          │          │       │       │ is FAIL  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_p… │ script │ generic… │ None     │ None  │ None  │ report   │ /home/… │
│          │        │          │          │       │       │ exit 1   │         │
│          │        │          │          │       │       │ as PASS  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 2   │ /home/… │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ since it │         │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ to match │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 1        │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 128 │ /home/… │
│          │        │          │          │       │       │ matches  │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 128      │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_f… │ script │ generic… │ None     │ None  │ None  │ exit 1   │ /home/… │
│          │        │          │          │       │       │ by       │         │
│          │        │          │          │       │       │ default  │         │
│          │        │          │          │       │       │ is FAIL  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_p… │ script │ generic… │ None     │ None  │ None  │ report   │ /home/… │
│          │        │          │          │       │       │ exit 1   │         │
│          │        │          │          │       │       │ as PASS  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 2   │ /home/… │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ since it │         │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ to match │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 1        │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 128 │ /home/… │
│          │        │          │          │       │       │ matches  │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 128      │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
exit1_fail/f8b919f7: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/f8b919f7
exit1_fail/f8b919f7: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/f8b919f7/stage
exit1_fail/f8b919f7: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/f8b919f7/exit1_fail_build.sh
exit1_pass/06b0adca: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/06b0adca
exit1_pass/06b0adca: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/06b0adca/stage
exit1_pass/06b0adca: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/06b0adca/exit1_pass_build.sh
returncode_list_mismatch/0d097b67: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0d097b67
returncode_list_mismatch/0d097b67: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0d097b67/stage
returncode_list_mismatch/0d097b67: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0d097b67/returncode_list_mismatch_build.sh
returncode_int_match/296a614a: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/296a614a
returncode_int_match/296a614a: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/296a614a/stage
returncode_int_match/296a614a: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/296a614a/returncode_int_match_build.sh
exit1_fail/61655085: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/61655085
exit1_fail/61655085: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/61655085/stage
exit1_fail/61655085: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/61655085/exit1_fail_build.sh
exit1_pass/c1abfc3b: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/c1abfc3b
exit1_pass/c1abfc3b: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/c1abfc3b/stage
exit1_pass/c1abfc3b: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/c1abfc3b/exit1_pass_build.sh
returncode_list_mismatch/5031a8eb: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/5031a8eb
returncode_list_mismatch/5031a8eb: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/5031a8eb/stage
returncode_list_mismatch/5031a8eb: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/5031a8eb/returncode_list_mismatch_build.sh
returncode_int_match/91d901c4: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/91d901c4
returncode_int_match/91d901c4: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/91d901c4/stage
returncode_int_match/91d901c4: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/91d901c4/returncode_int_match_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
returncode_list_mismatch/0d097b67 does not have any dependencies adding test to queue
exit1_fail/61655085 does not have any dependencies adding test to queue
returncode_int_match/91d901c4 does not have any dependencies adding test to queue
returncode_list_mismatch/5031a8eb does not have any dependencies adding test to queue
exit1_pass/06b0adca does not have any dependencies adding test to queue
exit1_pass/c1abfc3b does not have any dependencies adding test to queue
returncode_int_match/296a614a does not have any dependencies adding test to queue
exit1_fail/f8b919f7 does not have any dependencies adding test to queue
returncode_list_mismatch/0d097b67: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0d097b67/stage
returncode_list_mismatch/0d097b67: Running Test via command: bash --norc --noprofile -eo pipefail returncode_list_mismatch_build.sh
returncode_list_mismatch/0d097b67 failed to submit job with returncode: 2 


returncode_list_mismatch/0d097b67: Detected failure in running test, will attempt to retry test: 1 times
returncode_list_mismatch/0d097b67: Run - 1/1
returncode_list_mismatch/0d097b67: Running Test via command: bash --norc --noprofile -eo pipefail returncode_list_mismatch_build.sh
returncode_list_mismatch/0d097b67: failed to submit job with returncode: 2 
returncode_list_mismatch/0d097b67: Test completed in 0.013784 seconds
returncode_list_mismatch/0d097b67: Test completed with returncode: 2
returncode_list_mismatch/0d097b67: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0d097b67/returncode_list_mismatch.out
returncode_list_mismatch/0d097b67: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0d097b67/returncode_list_mismatch.err
returncode_list_mismatch/0d097b67: Checking returncode - 2 is matched in list [1, 3]
exit1_fail/61655085: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/61655085/stage
exit1_fail/61655085: Running Test via command: bash --norc --noprofile -eo pipefail exit1_fail_build.sh
exit1_fail/61655085 failed to submit job with returncode: 1 


exit1_fail/61655085: Detected failure in running test, will attempt to retry test: 1 times
exit1_fail/61655085: Run - 1/1
exit1_fail/61655085: Running Test via command: bash --norc --noprofile -eo pipefail exit1_fail_build.sh
exit1_fail/61655085: failed to submit job with returncode: 1 
exit1_fail/61655085: Test completed in 0.015002 seconds
exit1_fail/61655085: Test completed with returncode: 1
exit1_fail/61655085: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/61655085/exit1_fail.out
exit1_fail/61655085: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/61655085/exit1_fail.err
returncode_int_match/91d901c4: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/91d901c4/stage
returncode_int_match/91d901c4: Running Test via command: bash --norc --noprofile -eo pipefail returncode_int_match_build.sh
returncode_int_match/91d901c4 failed to submit job with returncode: 128 


returncode_int_match/91d901c4: Detected failure in running test, will attempt to retry test: 1 times
returncode_int_match/91d901c4: Run - 1/1
returncode_int_match/91d901c4: Running Test via command: bash --norc --noprofile -eo pipefail returncode_int_match_build.sh
returncode_int_match/91d901c4: failed to submit job with returncode: 128 
returncode_int_match/91d901c4: Test completed in 0.012934 seconds
returncode_int_match/91d901c4: Test completed with returncode: 128
returncode_int_match/91d901c4: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/91d901c4/returncode_int_match.out
returncode_int_match/91d901c4: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/91d901c4/returncode_int_match.err
returncode_int_match/91d901c4: Checking returncode - 128 is matched in list [128]
returncode_list_mismatch/5031a8eb: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/5031a8eb/stage
returncode_list_mismatch/5031a8eb: Running Test via command: bash --norc --noprofile -eo pipefail returncode_list_mismatch_build.sh
returncode_list_mismatch/5031a8eb failed to submit job with returncode: 2 


returncode_list_mismatch/5031a8eb: Detected failure in running test, will attempt to retry test: 1 times
returncode_list_mismatch/5031a8eb: Run - 1/1
returncode_list_mismatch/5031a8eb: Running Test via command: bash --norc --noprofile -eo pipefail returncode_list_mismatch_build.sh
returncode_list_mismatch/5031a8eb: failed to submit job with returncode: 2 
returncode_list_mismatch/5031a8eb: Test completed in 0.012677 seconds
returncode_list_mismatch/5031a8eb: Test completed with returncode: 2
returncode_list_mismatch/5031a8eb: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/5031a8eb/returncode_list_mismatch.out
returncode_list_mismatch/5031a8eb: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/5031a8eb/returncode_list_mismatch.err
returncode_list_mismatch/5031a8eb: Checking returncode - 2 is matched in list [1, 3]
exit1_pass/06b0adca: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/06b0adca/stage
exit1_pass/06b0adca: Running Test via command: bash --norc --noprofile -eo pipefail exit1_pass_build.sh
exit1_pass/06b0adca failed to submit job with returncode: 1 


exit1_pass/06b0adca: Detected failure in running test, will attempt to retry test: 1 times
exit1_pass/06b0adca: Run - 1/1
exit1_pass/06b0adca: Running Test via command: bash --norc --noprofile -eo pipefail exit1_pass_build.sh
exit1_pass/06b0adca: failed to submit job with returncode: 1 
exit1_pass/06b0adca: Test completed in 0.012846 seconds
exit1_pass/06b0adca: Test completed with returncode: 1
exit1_pass/06b0adca: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/06b0adca/exit1_pass.out
exit1_pass/06b0adca: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/06b0adca/exit1_pass.err
exit1_pass/06b0adca: Checking returncode - 1 is matched in list [1]
exit1_pass/c1abfc3b: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/c1abfc3b/stage
exit1_pass/c1abfc3b: Running Test via command: bash --norc --noprofile -eo pipefail exit1_pass_build.sh
exit1_pass/c1abfc3b failed to submit job with returncode: 1 


exit1_pass/c1abfc3b: Detected failure in running test, will attempt to retry test: 1 times
exit1_pass/c1abfc3b: Run - 1/1
exit1_pass/c1abfc3b: Running Test via command: bash --norc --noprofile -eo pipefail exit1_pass_build.sh
exit1_pass/c1abfc3b: failed to submit job with returncode: 1 
exit1_pass/c1abfc3b: Test completed in 0.013184 seconds
exit1_pass/c1abfc3b: Test completed with returncode: 1
exit1_pass/c1abfc3b: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/c1abfc3b/exit1_pass.out
exit1_pass/c1abfc3b: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/c1abfc3b/exit1_pass.err
exit1_pass/c1abfc3b: Checking returncode - 1 is matched in list [1]
returncode_int_match/296a614a: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/296a614a/stage
returncode_int_match/296a614a: Running Test via command: bash --norc --noprofile -eo pipefail returncode_int_match_build.sh
returncode_int_match/296a614a failed to submit job with returncode: 128 


returncode_int_match/296a614a: Detected failure in running test, will attempt to retry test: 1 times
returncode_int_match/296a614a: Run - 1/1
returncode_int_match/296a614a: Running Test via command: bash --norc --noprofile -eo pipefail returncode_int_match_build.sh
returncode_int_match/296a614a: failed to submit job with returncode: 128 
returncode_int_match/296a614a: Test completed in 0.013164 seconds
returncode_int_match/296a614a: Test completed with returncode: 128
returncode_int_match/296a614a: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/296a614a/returncode_int_match.out
returncode_int_match/296a614a: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/296a614a/returncode_int_match.err
returncode_int_match/296a614a: Checking returncode - 128 is matched in list [128]
exit1_fail/f8b919f7: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/f8b919f7/stage
exit1_fail/f8b919f7: Running Test via command: bash --norc --noprofile -eo pipefail exit1_fail_build.sh
exit1_fail/f8b919f7 failed to submit job with returncode: 1 


exit1_fail/f8b919f7: Detected failure in running test, will attempt to retry test: 1 times
exit1_fail/f8b919f7: Run - 1/1
exit1_fail/f8b919f7: Running Test via command: bash --norc --noprofile -eo pipefail exit1_fail_build.sh
exit1_fail/f8b919f7: failed to submit job with returncode: 1 
exit1_fail/f8b919f7: Test completed in 0.013266 seconds
exit1_fail/f8b919f7: Test completed with returncode: 1
exit1_fail/f8b919f7: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/f8b919f7/exit1_fail.out
exit1_fail/f8b919f7: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/f8b919f7/exit1_fail.err
In this iteration we are going to run the following tests: [returncode_list_mismatch/0d097b67, exit1_fail/61655085, returncode_int_match/91d901c4, returncode_list_mismatch/5031a8eb, exit1_pass/06b0adca, exit1_pass/c1abfc3b, returncode_int_match/296a614a, exit1_fail/f8b919f7]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ exit1_pass/0 │ generic.loc… │ PASS   │ True None     │ 1          │ 0.012846 │
│ 6b0adca      │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ returncode_l │ generic.loc… │ FAIL   │ False None    │ 2          │ 0.013784 │
│ ist_mismatch │              │        │ None          │            │          │
│ /0d097b67    │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ returncode_i │ generic.loc… │ PASS   │ True None     │ 128        │ 0.012934 │
│ nt_match/91d │              │        │ None          │            │          │
│ 901c4        │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_fail/6 │ generic.loc… │ FAIL   │ None None     │ 1          │ 0.015002 │
│ 1655085      │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_fail/f │ generic.loc… │ FAIL   │ None None     │ 1          │ 0.013266 │
│ 8b919f7      │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ returncode_i │ generic.loc… │ PASS   │ True None     │ 128        │ 0.013164 │
│ nt_match/296 │              │        │ None          │            │          │
│ a614a        │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ returncode_l │ generic.loc… │ FAIL   │ False None    │ 2          │ 0.012677 │
│ ist_mismatch │              │        │ None          │            │          │
│ /5031a8eb    │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_pass/c │ generic.loc… │ PASS   │ True None     │ 1          │ 0.013184 │
│ 1abfc3b      │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_huv4m_3d.log

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

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

buildtest build -b tutorials/test_status/pass_returncode.yml --rebuild 51
$ buildtest build -b tutorials/test_status/pass_returncode.yml --rebuild 51
╭───────────────────── Traceback (most recent call last) ──────────────────────╮
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/bi │
│ n/buildtest:38 in <module>                                                   │
│                                                                              │
│   35                                                                         │
│   36 if __name__ == "__main__":                                              │
│   37                                                                         │
│ ❱ 38   sys.exit(main())                                                      │
│   39                                                                         │
│                                                                              │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │ buildtest_file = '/home/docs/checkouts/readthedocs.org/user_builds/buil… │ │
│ │           main = <function main at 0x7f31db370820>                       │ │
│ │             os = <module 'os' from                                       │ │
│ │                  '/home/docs/.asdf/installs/python/3.8.17/lib/python3.8… │ │
│ │         prefix = '/home/docs/checkouts/readthedocs.org/user_builds/buil… │ │
│ │            sys = <module 'sys' (built-in)>                               │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│                                                                              │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/bu │
│ ildtest/main.py:150 in main                                                  │
│                                                                              │
│   147 │   │   fname = os.path.join(VAR_DIR, "output.txt")                    │
│   148 │   │                                                                  │
│   149 │   │   with Tee(fname):                                               │
│ ❱ 150 │   │   │   cmd = BuildTest(                                           │
│   151 │   │   │   │   configuration=configuration,                           │
│   152 │   │   │   │   buildspecs=args.buildspec,                             │
│   153 │   │   │   │   exclude_buildspecs=args.exclude,                       │
│                                                                              │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │             args = Namespace(account=None,                               │ │
│ │                    buildspec=['tutorials/test_status/pass_returncode.ym… │ │
│ │                    color=None, configfile=None, debug=False,             │ │
│ │                    editor=None, exclude=None, exclude_tags=None,         │ │
│ │                    executor=None, executor_type=None, filter=None,       │ │
│ │                    helpcolor=False, helpfilter=False, limit=None,        │ │
│ │                    loglevel='DEBUG', logpath=False, maxpendtime=None,    │ │
│ │                    module_purge=False, modules=None, no_color=False,     │ │
│ │                    nodes=None, pollinterval=None, print_log=False,       │ │
│ │                    procs=None, profile=None, rebuild=51,                 │ │
│ │                    remove_stagedir=False, report=None, rerun=False,      │ │
│ │                    retry=1, save_profile=None, stage=None,               │ │
│ │                    subcommands='build', tags=None, testdir=None,         │ │
│ │                    timeout=None, unload_modules=None, view_log=False)    │ │
│ │ buildtest_editor = '/usr/bin/vim'                                        │ │
│ │      config_file = None                                                  │ │
│ │    configuration = <buildtest.config.SiteConfiguration object at         │ │
│ │                    0x7f31d952c250>                                       │ │
│ │            fname = '/home/docs/checkouts/readthedocs.org/user_builds/bu… │ │
│ │           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           │ │
│ │                    0x7f31d953b1f0>                                       │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│                                                                              │
│ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/bu │
│ ildtest/cli/build.py:567 in __init__                                         │
│                                                                              │
│    564 │   │   │   │   raise BuildTestError(f"{rebuild} is not of type int") │
│    565 │   │   │                                                             │
│    566 │   │   │   if rebuild > 50:                                          │
│ ❱  567 │   │   │   │   raise BuildTestError(                                 │
│    568 │   │   │   │   │   f"--rebuild {rebuild} exceeds maximum rebuild lim │
│    569 │   │   │   │   )                                                     │
│    570                                                                       │
│                                                                              │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │            account = None                                                │ │
│ │           arg_name = None                                                │ │
│ │         buildspecs = ['tutorials/test_status/pass_returncode.yml']       │ │
│ │   buildtest_system = <buildtest.system.BuildTestSystem object at         │ │
│ │                      0x7f31d953b1f0>                                     │ │
│ │      configuration = <buildtest.config.SiteConfiguration object at       │ │
│ │                      0x7f31d952c250>                                     │ │
│ │ exclude_buildspecs = None                                                │ │
│ │       exclude_tags = None                                                │ │
│ │      executor_type = None                                                │ │
│ │          executors = None                                                │ │
│ │  filter_buildspecs = None                                                │ │
│ │         helpfilter = False                                               │ │
│ │              limit = None                                                │ │
│ │        maxpendtime = None                                                │ │
│ │        modulepurge = False                                               │ │
│ │            modules = None                                                │ │
│ │           numnodes = None                                                │ │
│ │           numprocs = None                                                │ │
│ │      poll_interval = None                                                │ │
│ │            profile = None                                                │ │
│ │            rebuild = 51                                                  │ │
│ │    remove_stagedir = False                                               │ │
│ │        report_file = None                                                │ │
│ │              rerun = False                                               │ │
│ │              retry = 1                                                   │ │
│ │       save_profile = None                                                │ │
│ │               self = <buildtest.cli.build.BuildTest object at            │ │
│ │                      0x7f31d9571490>                                     │ │
│ │              stage = None                                                │ │
│ │               tags = None                                                │ │
│ │            testdir = None                                                │ │
│ │            timeout = None                                                │ │
│ │     unload_modules = None                                                │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────╯
BuildTestError: '--rebuild 51 exceeds maximum rebuild limit of 50'

Limit Number of Tests

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

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

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

buildtest build -b tutorials/test_status/pass_returncode.yml
$ buildtest build -b tutorials/test_status/pass_returncode.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:09                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/pass_returncode.yml: VALID
Total builder objects created: 4
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_f… │ script │ generic… │ None     │ None  │ None  │ exit 1   │ /home/… │
│          │        │          │          │       │       │ by       │         │
│          │        │          │          │       │       │ default  │         │
│          │        │          │          │       │       │ is FAIL  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_p… │ script │ generic… │ None     │ None  │ None  │ report   │ /home/… │
│          │        │          │          │       │       │ exit 1   │         │
│          │        │          │          │       │       │ as PASS  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 2   │ /home/… │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ since it │         │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ to match │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 1        │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 128 │ /home/… │
│          │        │          │          │       │       │ matches  │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 128      │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
exit1_fail/40c79af9: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/40c79af9
exit1_fail/40c79af9: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/40c79af9/stage
exit1_fail/40c79af9: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/40c79af9/exit1_fail_build.sh
exit1_pass/20e58631: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/20e58631
exit1_pass/20e58631: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/20e58631/stage
exit1_pass/20e58631: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/20e58631/exit1_pass_build.sh
returncode_list_mismatch/0a28e0ce: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0a28e0ce
returncode_list_mismatch/0a28e0ce: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0a28e0ce/stage
returncode_list_mismatch/0a28e0ce: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0a28e0ce/returncode_list_mismatch_build.sh
returncode_int_match/50001207: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/50001207
returncode_int_match/50001207: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/50001207/stage
returncode_int_match/50001207: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/50001207/returncode_int_match_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
returncode_int_match/50001207 does not have any dependencies adding test to queue
exit1_fail/40c79af9 does not have any dependencies adding test to queue
exit1_pass/20e58631 does not have any dependencies adding test to queue
returncode_list_mismatch/0a28e0ce does not have any dependencies adding test to queue
returncode_int_match/50001207: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/50001207/stage
returncode_int_match/50001207: Running Test via command: bash --norc --noprofile -eo pipefail returncode_int_match_build.sh
returncode_int_match/50001207 failed to submit job with returncode: 128 


returncode_int_match/50001207: Detected failure in running test, will attempt to retry test: 1 times
returncode_int_match/50001207: Run - 1/1
returncode_int_match/50001207: Running Test via command: bash --norc --noprofile -eo pipefail returncode_int_match_build.sh
returncode_int_match/50001207: failed to submit job with returncode: 128 
returncode_int_match/50001207: Test completed in 0.01541 seconds
returncode_int_match/50001207: Test completed with returncode: 128
returncode_int_match/50001207: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/50001207/returncode_int_match.out
returncode_int_match/50001207: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_int_match/50001207/returncode_int_match.err
returncode_int_match/50001207: Checking returncode - 128 is matched in list [128]
exit1_fail/40c79af9: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/40c79af9/stage
exit1_fail/40c79af9: Running Test via command: bash --norc --noprofile -eo pipefail exit1_fail_build.sh
exit1_fail/40c79af9 failed to submit job with returncode: 1 


exit1_fail/40c79af9: Detected failure in running test, will attempt to retry test: 1 times
exit1_fail/40c79af9: Run - 1/1
exit1_fail/40c79af9: Running Test via command: bash --norc --noprofile -eo pipefail exit1_fail_build.sh
exit1_fail/40c79af9: failed to submit job with returncode: 1 
exit1_fail/40c79af9: Test completed in 0.014095 seconds
exit1_fail/40c79af9: Test completed with returncode: 1
exit1_fail/40c79af9: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/40c79af9/exit1_fail.out
exit1_fail/40c79af9: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/40c79af9/exit1_fail.err
exit1_pass/20e58631: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/20e58631/stage
exit1_pass/20e58631: Running Test via command: bash --norc --noprofile -eo pipefail exit1_pass_build.sh
exit1_pass/20e58631 failed to submit job with returncode: 1 


exit1_pass/20e58631: Detected failure in running test, will attempt to retry test: 1 times
exit1_pass/20e58631: Run - 1/1
exit1_pass/20e58631: Running Test via command: bash --norc --noprofile -eo pipefail exit1_pass_build.sh
exit1_pass/20e58631: failed to submit job with returncode: 1 
exit1_pass/20e58631: Test completed in 0.014349 seconds
exit1_pass/20e58631: Test completed with returncode: 1
exit1_pass/20e58631: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/20e58631/exit1_pass.out
exit1_pass/20e58631: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/20e58631/exit1_pass.err
exit1_pass/20e58631: Checking returncode - 1 is matched in list [1]
returncode_list_mismatch/0a28e0ce: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0a28e0ce/stage
returncode_list_mismatch/0a28e0ce: Running Test via command: bash --norc --noprofile -eo pipefail returncode_list_mismatch_build.sh
returncode_list_mismatch/0a28e0ce failed to submit job with returncode: 2 


returncode_list_mismatch/0a28e0ce: Detected failure in running test, will attempt to retry test: 1 times
returncode_list_mismatch/0a28e0ce: Run - 1/1
returncode_list_mismatch/0a28e0ce: Running Test via command: bash --norc --noprofile -eo pipefail returncode_list_mismatch_build.sh
returncode_list_mismatch/0a28e0ce: failed to submit job with returncode: 2 
returncode_list_mismatch/0a28e0ce: Test completed in 0.01384 seconds
returncode_list_mismatch/0a28e0ce: Test completed with returncode: 2
returncode_list_mismatch/0a28e0ce: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0a28e0ce/returncode_list_mismatch.out
returncode_list_mismatch/0a28e0ce: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/returncode_list_mismatch/0a28e0ce/returncode_list_mismatch.err
returncode_list_mismatch/0a28e0ce: Checking returncode - 2 is matched in list [1, 3]
In this iteration we are going to run the following tests: [returncode_int_match/50001207, exit1_fail/40c79af9, exit1_pass/20e58631, returncode_list_mismatch/0a28e0ce]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ returncode_i │ generic.loc… │ PASS   │ True None     │ 128        │ 0.01541  │
│ nt_match/500 │              │        │ None          │            │          │
│ 01207        │              │        │               │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_pass/2 │ generic.loc… │ PASS   │ True None     │ 1          │ 0.014349 │
│ 0e58631      │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_fail/4 │ generic.loc… │ FAIL   │ None None     │ 1          │ 0.014095 │
│ 0c79af9      │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ returncode_l │ generic.loc… │ FAIL   │ False None    │ 2          │ 0.01384  │
│ ist_mismatch │              │        │ None          │            │          │
│ /0a28e0ce    │              │        │               │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 4 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_42jsx7tz.log

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

buildtest build -b tutorials/test_status/pass_returncode.yml --limit=2
$ buildtest build -b tutorials/test_status/pass_returncode.yml --limit=2
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:10                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/test_status/pass_returncode.yml: VALID
Total builder objects created: 4
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ exit1_f… │ script │ generic… │ None     │ None  │ None  │ exit 1   │ /home/… │
│          │        │          │          │       │       │ by       │         │
│          │        │          │          │       │       │ default  │         │
│          │        │          │          │       │       │ is FAIL  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ exit1_p… │ script │ generic… │ None     │ None  │ None  │ report   │ /home/… │
│          │        │          │          │       │       │ exit 1   │         │
│          │        │          │          │       │       │ as PASS  │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 2   │ /home/… │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ since it │         │
│          │        │          │          │       │       │ failed   │         │
│          │        │          │          │       │       │ to match │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 1        │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ returnc… │ script │ generic… │ None     │ None  │ None  │ exit 128 │ /home/… │
│          │        │          │          │       │       │ matches  │         │
│          │        │          │          │       │       │ returnc… │         │
│          │        │          │          │       │       │ 128      │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
Limit number of tests to 2 for Building and Running. 
──────────────────────────────── Building Test ─────────────────────────────────
exit1_fail/2b3532cb: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/2b3532cb
exit1_fail/2b3532cb: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/2b3532cb/stage
exit1_fail/2b3532cb: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/2b3532cb/exit1_fail_build.sh
exit1_pass/0146aeb8: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/0146aeb8
exit1_pass/0146aeb8: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/0146aeb8/stage
exit1_pass/0146aeb8: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/0146aeb8/exit1_pass_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
exit1_fail/2b3532cb does not have any dependencies adding test to queue
exit1_pass/0146aeb8 does not have any dependencies adding test to queue
exit1_fail/2b3532cb: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/2b3532cb/stage
exit1_fail/2b3532cb: Running Test via command: bash --norc --noprofile -eo pipefail exit1_fail_build.sh
exit1_fail/2b3532cb failed to submit job with returncode: 1 


exit1_fail/2b3532cb: Detected failure in running test, will attempt to retry test: 1 times
exit1_fail/2b3532cb: Run - 1/1
exit1_fail/2b3532cb: Running Test via command: bash --norc --noprofile -eo pipefail exit1_fail_build.sh
exit1_fail/2b3532cb: failed to submit job with returncode: 1 
exit1_fail/2b3532cb: Test completed in 0.013196 seconds
exit1_fail/2b3532cb: Test completed with returncode: 1
exit1_fail/2b3532cb: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/2b3532cb/exit1_fail.out
exit1_fail/2b3532cb: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_fail/2b3532cb/exit1_fail.err
exit1_pass/0146aeb8: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/0146aeb8/stage
exit1_pass/0146aeb8: Running Test via command: bash --norc --noprofile -eo pipefail exit1_pass_build.sh
exit1_pass/0146aeb8 failed to submit job with returncode: 1 


exit1_pass/0146aeb8: Detected failure in running test, will attempt to retry test: 1 times
exit1_pass/0146aeb8: Run - 1/1
exit1_pass/0146aeb8: Running Test via command: bash --norc --noprofile -eo pipefail exit1_pass_build.sh
exit1_pass/0146aeb8: failed to submit job with returncode: 1 
exit1_pass/0146aeb8: Test completed in 0.012602 seconds
exit1_pass/0146aeb8: Test completed with returncode: 1
exit1_pass/0146aeb8: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/0146aeb8/exit1_pass.out
exit1_pass/0146aeb8: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/pass_returncode/exit1_pass/0146aeb8/exit1_pass.err
exit1_pass/0146aeb8: Checking returncode - 1 is matched in list [1]
In this iteration we are going to run the following tests: [exit1_fail/2b3532cb, exit1_pass/0146aeb8]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ exit1_fail/2 │ generic.loc… │ FAIL   │ None None     │ 1          │ 0.013196 │
│ b3532cb      │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ exit1_pass/0 │ generic.loc… │ PASS   │ True None     │ 1          │ 0.012602 │
│ 146aeb8      │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 2 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_q56zux7a.log

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

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

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 build -b tutorials/vars.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:11                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/vars.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ variabl… │ script │ generic… │ None     │ None  │ None  │ Declare  │ /home/… │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ variabl… │         │
│          │        │          │          │       │       │ in bash  │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
variables_bash/0dfe319a: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/0dfe319a
variables_bash/0dfe319a: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/0dfe319a/stage
variables_bash/0dfe319a: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/0dfe319a/variables_bash_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
variables_bash/0dfe319a does not have any dependencies adding test to queue
variables_bash/0dfe319a: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/0dfe319a/stage
variables_bash/0dfe319a: Running Test via command: bash --norc --noprofile -eo pipefail variables_bash_build.sh
variables_bash/0dfe319a: Test completed in 0.010055 seconds
variables_bash/0dfe319a: Test completed with returncode: 0
variables_bash/0dfe319a: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/0dfe319a/variables_bash.out
variables_bash/0dfe319a: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/0dfe319a/variables_bash.err
In this iteration we are going to run the following tests: [variables_bash/0dfe319a]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ variables_ba │ generic.loc… │ PASS   │ None None     │ 0          │ 0.010055 │
│ sh/0dfe319a  │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_1mpol6cb.log

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

buildtest build --rerun
$ buildtest build --rerun
Reading content of rerun file /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/rerun.json all other options will be ignored.
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:12                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/vars.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ variabl… │ script │ generic… │ None     │ None  │ None  │ Declare  │ /home/… │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ variabl… │         │
│          │        │          │          │       │       │ in bash  │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
variables_bash/4c23d84e: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/4c23d84e
variables_bash/4c23d84e: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/4c23d84e/stage
variables_bash/4c23d84e: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/4c23d84e/variables_bash_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
variables_bash/4c23d84e does not have any dependencies adding test to queue
variables_bash/4c23d84e: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/4c23d84e/stage
variables_bash/4c23d84e: Running Test via command: bash --norc --noprofile -eo pipefail variables_bash_build.sh
variables_bash/4c23d84e: Test completed in 0.009233 seconds
variables_bash/4c23d84e: Test completed with returncode: 0
variables_bash/4c23d84e: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/4c23d84e/variables_bash.out
variables_bash/4c23d84e: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/4c23d84e/variables_bash.err
In this iteration we are going to run the following tests: [variables_bash/4c23d84e]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ variables_ba │ generic.loc… │ PASS   │ None None     │ 0          │ 0.009233 │
│ sh/4c23d84e  │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_sj1ix08h.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
$ buildtest build --rerun -t python --stage=build
Reading content of rerun file /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/rerun.json all other options will be ignored.
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:13                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/vars.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ variabl… │ script │ generic… │ None     │ None  │ None  │ Declare  │ /home/… │
│          │        │          │          │       │       │ shell    │         │
│          │        │          │          │       │       │ variabl… │         │
│          │        │          │          │       │       │ in bash  │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
variables_bash/7afd63f6: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/7afd63f6
variables_bash/7afd63f6: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/7afd63f6/stage
variables_bash/7afd63f6: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/7afd63f6/variables_bash_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
variables_bash/7afd63f6 does not have any dependencies adding test to queue
variables_bash/7afd63f6: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/7afd63f6/stage
variables_bash/7afd63f6: Running Test via command: bash --norc --noprofile -eo pipefail variables_bash_build.sh
variables_bash/7afd63f6: Test completed in 0.009178 seconds
variables_bash/7afd63f6: Test completed with returncode: 0
variables_bash/7afd63f6: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/7afd63f6/variables_bash.out
variables_bash/7afd63f6: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/vars/variables_bash/7afd63f6/variables_bash.err
In this iteration we are going to run the following tests: [variables_bash/7afd63f6]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ variables_ba │ generic.loc… │ PASS   │ None None     │ 0          │ 0.009178 │
│ sh/7afd63f6  │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_39wxe1xh.log

Note

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

Specify Modules in command line

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

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

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

Use Alternate Configuration file

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

Removing Stage Directory

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

Specify Project Account for batch jobs

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

Test Timeout

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

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

buildtest build -b tutorials/sleep.yml --timeout 1
$ buildtest build -b tutorials/sleep.yml --timeout 1
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:13                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/sleep.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ sleep/d… │ script │ generic… │ None     │ None  │ None  │ sleep 2  │ /home/… │
│          │        │          │          │       │       │ seconds  │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
sleep/dee45699: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/sleep/sleep/dee45699
sleep/dee45699: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/sleep/sleep/dee45699/stage
sleep/dee45699: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/sleep/sleep/dee45699/sleep_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
sleep/dee45699 does not have any dependencies adding test to queue
sleep/dee45699: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/sleep/sleep/dee45699/stage
sleep/dee45699: Running Test via command: bash --norc --noprofile -eo pipefail sleep_build.sh
sleep/dee45699 failed to submit job with returncode: -9 


sleep/dee45699: Detected failure in running test, will attempt to retry test: 1 times
sleep/dee45699: Run - 1/1
sleep/dee45699: Running Test via command: bash --norc --noprofile -eo pipefail sleep_build.sh
sleep/dee45699: failed to submit job with returncode: -9 
sleep/dee45699: Test completed in 2.010354 seconds
sleep/dee45699: Test completed with returncode: -9
sleep/dee45699: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/sleep/sleep/dee45699/sleep.out
sleep/dee45699: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/sleep/sleep/dee45699/sleep.err
In this iteration we are going to run the following tests: [sleep/dee45699]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ sleep/dee456 │ generic.loc… │ FAIL   │ None None     │ -9         │ 2.010354 │
│ 99           │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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


Adding 1 test results to /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_b28d2q4t.log

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

buildtest build -b tutorials/sleep.yml --timeout 10
$ buildtest build -b tutorials/sleep.yml --timeout 10
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:16                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  1
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/sleep.yml: VALID
Total builder objects created: 1
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ sleep/9… │ script │ generic… │ None     │ None  │ None  │ sleep 2  │ /home/… │
│          │        │          │          │       │       │ seconds  │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
sleep/9a914b08: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/sleep/sleep/9a914b08
sleep/9a914b08: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/sleep/sleep/9a914b08/stage
sleep/9a914b08: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/sleep/sleep/9a914b08/sleep_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
sleep/9a914b08 does not have any dependencies adding test to queue
sleep/9a914b08: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/sleep/sleep/9a914b08/stage
sleep/9a914b08: Running Test via command: bash --norc --noprofile -eo pipefail sleep_build.sh
sleep/9a914b08: Test completed in 2.020595 seconds
sleep/9a914b08: Test completed with returncode: 0
sleep/9a914b08: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/sleep/sleep/9a914b08/sleep.out
sleep/9a914b08: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/sleep/sleep/9a914b08/sleep.err
In this iteration we are going to run the following tests: [sleep/9a914b08]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ sleep/9a914b │ generic.loc… │ PASS   │ None None     │ 0          │ 2.020595 │
│ 08           │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_6bt1ihb2.log

Using Profiles

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

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

buildtest build -t python --save-profile=python-tests
$ buildtest build -t python --save-profile=python-tests
Saved profile python-tests to configuration file /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/buildtest/settings/config.yml

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

buildtest configuration with profile
$ cat $BUILDTEST_ROOT/buildtest/settings/config.yml
system:
  generic:
    hostnames:
    - .*
    description: Generic System
    moduletool: N/A
    poolsize: 1
    pager: false
    buildspecs:
      rebuild: false
      count: 15
      format: name,description
      terse: false
    report:
      count: 25
      terse: false
      format: name,id,state,runtime,returncode
      latest: true
      oldest: false
    executors:
      local:
        bash:
          description: submit jobs on local machine using bash shell
          shell: bash
        sh:
          description: submit jobs on local machine using sh shell
          shell: sh
        csh:
          description: submit jobs on local machine using csh shell
          shell: csh
        zsh:
          description: submit jobs on local machine using zsh shell
          shell: zsh
    compilers:
      compiler:
        gcc:
          builtin_gcc:
            cc: gcc
            fc: gfortran
            cxx: g++
    cdash:
      url: https://my.cdash.org/
      project: buildtest
      site: generic
      buildname: tutorials
    profiles:
      python-tests:
        tags:
        - python
        testdir: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests

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

buildtest build --profile=python-tests
$ buildtest build --profile=python-tests
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│                                                                              │
│ User:               docs                                                     │
│ Hostname:           build-21511056-project-280831-buildtest                  │
│ Platform:           Linux                                                    │
│ Current Time:       2023/08/04 19:25:19                                      │
│ buildtest path:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version:  1.5                                                      │
│ python path:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version:     3.8.17                                                   │
│ Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Test Directory:     /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Report File:        /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ Command:            /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
───────────────────────────  Discovering Buildspecs ────────────────────────────
                             Discovered buildspecs                              
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝
                            Buildspecs By Tag=python                            
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec                                                                    ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/t… ║
╚══════════════════════════════════════════════════════════════════════════════╝


Total Discovered Buildspecs:  2
Total Excluded Buildspecs:  0
Detected Buildspecs after exclusion:  2
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/python-shell.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/tutorials/python-hello.yml: VALID
Total builder objects created: 2
                            Builders by type=script                             
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ builder  ┃ type   ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ descrip… ┃ builds… ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ circle_… │ script │ generic… │ None     │ None  │ None  │ Calcula… │ /home/… │
│          │        │          │          │       │       │ circle   │         │
│          │        │          │          │       │       │ of area  │         │
│          │        │          │          │       │       │ given a  │         │
│          │        │          │          │       │       │ radius   │         │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ python_… │ script │ generic… │ None     │ None  │ None  │ Hello    │ /home/… │
│          │        │          │          │       │       │ World    │         │
│          │        │          │          │       │       │ python   │         │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
circle_area/f01cb6e8: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/f01cb6e8
circle_area/f01cb6e8: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/f01cb6e8/stage
circle_area/f01cb6e8: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/f01cb6e8/circle_area_build.sh
python_hello/f583d161: Creating test directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/f583d161
python_hello/f583d161: Creating the stage directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/f583d161/stage
python_hello/f583d161: Writing build script: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/f583d161/python_hello_build.sh
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
circle_area/f01cb6e8 does not have any dependencies adding test to queue
python_hello/f583d161 does not have any dependencies adding test to queue
circle_area/f01cb6e8: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/f01cb6e8/stage
circle_area/f01cb6e8: Running Test via command: bash --norc --noprofile -eo pipefail circle_area_build.sh
circle_area/f01cb6e8: Test completed in 0.031963 seconds
circle_area/f01cb6e8: Test completed with returncode: 0
circle_area/f01cb6e8: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/f01cb6e8/circle_area.out
circle_area/f01cb6e8: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-shell/circle_area/f01cb6e8/circle_area.err
python_hello/f583d161: Current Working Directory : /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/f583d161/stage
python_hello/f583d161: Running Test via command: bash --norc --noprofile -eo pipefail python_hello_build.sh
python_hello/f583d161: Test completed in 0.030256 seconds
python_hello/f583d161: Test completed with returncode: 0
python_hello/f583d161: Writing output file -  /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/f583d161/python_hello.out
python_hello/f583d161: Writing error file - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/tests/generic.local.bash/python-hello/python_hello/f583d161/python_hello.err
In this iteration we are going to run the following tests: [circle_area/f01cb6e8, python_hello/f583d161]
                                  Test Summary                                  
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃              ┃              ┃        ┃ checks        ┃            ┃          ┃
┃              ┃              ┃        ┃ (ReturnCode,  ┃            ┃          ┃
┃              ┃              ┃        ┃ Regex,        ┃            ┃          ┃
┃ builder      ┃ executor     ┃ status ┃ Runtime)      ┃ returncode ┃ runtime  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ circle_area/ │ generic.loc… │ PASS   │ None None     │ 0          │ 0.031963 │
│ f01cb6e8     │              │        │ None          │            │          │
├──────────────┼──────────────┼────────┼───────────────┼────────────┼──────────┤
│ python_hello │ generic.loc… │ PASS   │ None None     │ 0          │ 0.030256 │
│ /f583d161    │              │        │ None          │            │          │
└──────────────┴──────────────┴────────┴───────────────┴────────────┴──────────┘



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/buildtest/checkouts/v1.5/var/report.json
Writing Logfile to: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v1.5/var/logs/buildtest_mnp73sib.log