Building Test via buildtest (buildtest build
)¶
This guide will get you familiar with buildtest command line interface. Once you complete this section, you can proceed to writing buildspecs section where we will cover how to write buildspecs.
Once you install buildtest, you should find the buildtest command in your $PATH. You can check the path to buildtest command by running:
$ which buildtest
If you don’t see buildtest go back and install buildtest.
When you clone buildtest, you also get a set of buildspecs that you can run on your
system. The buildtest build
command is used for building and running tests.
Buildtest will read one or more buildspecs file that adheres to one of the
buildtest schemas. For a complete list of build options please run buildtest build --help
.
Note
buildtest bd
is an alias for buildtest build
command.
Build Usage¶
$ buildtest build --help
usage: buildtest [options] [COMMANDS] build [-h] [-b BUILDSPEC] [-x EXCLUDE] [-e EXECUTOR] [-t TAGS] [-f FILTER]
[--helpfilter] [--disable-executor-check] [-k]
[--max-pend-time MAX_PEND_TIME] [--poll-interval POLL_INTERVAL]
[--rebuild REBUILD] [-r REPORT] [--retry RETRY] [-s {parse,build}]
[--testdir TESTDIR]
optional arguments:
-h, --help show this help message and exit
discover:
select buildspecs
-b BUILDSPEC, --buildspec BUILDSPEC
Specify a buildspec (file or directory) to build. A buildspec must end in '.yml' extension.
-x EXCLUDE, --exclude EXCLUDE
Exclude one or more buildspecs (file or directory) from processing. A buildspec must end in
'.yml' extension.
-e EXECUTOR, --executor EXECUTOR
Discover buildspecs by executor name found in buildspec cache
-t TAGS, --tags TAGS Discover buildspecs by tags found in buildspec cache
filter:
Filter tests
-f FILTER, --filter FILTER
Filter buildspec based on tags, type, or maintainers. Usage: --filter key1=val1,key2=val2
--helpfilter Show available filter fields used with --filter option
extra:
All extra options
--disable-executor-check
Disable executor check during configuration check. By default these checks are enforced for
Local, Slurm, PBS, LSF, and Cobalt Executor.
-k, --keep-stage-dir Keep stage directory after job completion.
--max-pend-time MAX_PEND_TIME
Specify Maximum Pending Time (sec) for job before cancelling job. This only applies for batch
job submission.
--poll-interval POLL_INTERVAL
Specify Poll Interval (sec) for polling batch jobs
--rebuild REBUILD Rebuild test X number of times. Must be a positive number between [1-50]
-r REPORT, --report REPORT
Specify a report file where tests will be written.
--retry RETRY Retry failed jobs
-s {parse,build}, --stage {parse,build}
control behavior of buildtest build
--testdir TESTDIR Specify a custom test directory where to write tests. This overrides configuration file and
default location.
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
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:54:50
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest build -b /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml
+-------------------------------+
| Stage: Discovering Buildspecs |
+-------------------------------+
+-------------------------------------------------------------------------------------------------+
| Discovered Buildspecs |
+=================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml |
+-------------------------------------------------------------------------------------------------+
Discovered Buildspecs: 1
Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 1
+---------------------------+
| Stage: Parsing Buildspecs |
+---------------------------+
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml: VALID
Total builder objects created: 1
builders: [variables_bash/98b07db8]
name id description buildspecs
-------------- -------- ------------------------------- -----------------------------------------------------------------------------------------------
variables_bash 98b07db8 Declare shell variables in bash /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml
+----------------------+
| Stage: Building Test |
+----------------------+
name | id | type | executor | tags | testpath
----------------+----------+--------+--------------------+---------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------
variables_bash | 98b07db8 | script | generic.local.bash | ['tutorials'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/vars/variables_bash/98b07db8/variables_bash_build.sh
+---------------------+
| Stage: Running Test |
+---------------------+
variables_bash/98b07db8: completed with returncode: 0
variables_bash/98b07db8: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/vars/variables_bash/98b07db8/variables_bash.out
variables_bash/98b07db8: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/vars/variables_bash/98b07db8/variables_bash.err
______________________________
Launching test: variables_bash
Test ID: 98b07db8-9b3e-4ff0-b526-1ebcebbc3a1e
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/vars/variables_bash/98b07db8/variables_bash_build.sh
+----------------------+
| Stage: Test Summary |
+----------------------+
name | id | executor | status | returncode_match | regex_match | runtime_match | returncode | runtime
----------------+----------+--------------------+----------+--------------------+---------------+-----------------+--------------+-----------
variables_bash | 98b07db8 | generic.local.bash | PASS | N/A | N/A | N/A | 0 | 0.012987
Passed Tests: 1/1 Percentage: 100.000%
Failed Tests: 0/1 Percentage: 0.000%
Writing Logfile to: /tmp/buildtest_8xn_louq.log
A copy of logfile can be found at $BUILDTEST_ROOT/buildtest.log - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest.log
Note
buildtest will only read buildspecs with .yml
extension, if you specify a
.yaml
it will be ignored by buildtest.
The --buildspec
option can be used to specify a file or directory path. If you want
to build multiple buildspecs in a directory you can specify the directory path
and buildtest will recursively search for all .yml
files. In the next example,
we build all tests in directory general_tests/configuration.
$ buildtest build -b general_tests/configuration/
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:55:12
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest build -b general_tests/configuration/
+-------------------------------+
| Stage: Discovering Buildspecs |
+-------------------------------+
+-------------------------------------------------------------------------------------------------------------------------------------+
| Discovered Buildspecs |
+=====================================================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml |
+-------------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ssh_localhost.yml |
+-------------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/kernel_state.yml |
+-------------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/disk_usage.yml |
+-------------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/systemd-default-target.yml |
+-------------------------------------------------------------------------------------------------------------------------------------+
Discovered Buildspecs: 5
Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 5
+---------------------------+
| Stage: Parsing Buildspecs |
+---------------------------+
Valid Buildspecs: 5
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ssh_localhost.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/kernel_state.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/disk_usage.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/systemd-default-target.yml: VALID
Total builder objects created: 10
builders: [ulimit_filelock_unlimited/b1b5ebdc, ulimit_cputime_unlimited/aa16f2ae, ulimit_stacksize_unlimited/7204f37a, ulimit_vmsize_unlimited/247638c0, ulimit_filedescriptor_4096/677a3ea5, ulimit_max_user_process_2048/81105021, ssh_localhost_remotecommand/d99f5389, kernel_swapusage/c6406429, root_disk_usage/6b5ebea2, systemd_default_target/daaa00e7]
name id description buildspecs
---------------------------- -------- ---------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------
ulimit_filelock_unlimited b1b5ebdc Check if file lock is set to unlimited in ulimits /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml
ulimit_cputime_unlimited aa16f2ae Check if cputime is set to unlimited in ulimits /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml
ulimit_stacksize_unlimited 7204f37a Check if stack size is set to unlimited in ulimits /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml
ulimit_vmsize_unlimited 247638c0 Check virtual memory size and check if its set to unlimited /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml
ulimit_filedescriptor_4096 677a3ea5 Check if open file descriptors limit is set to 4096 /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml
ulimit_max_user_process_2048 81105021 Check max number of user process limit is set to 2048 /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml
ssh_localhost_remotecommand d99f5389 Test if ssh on localhost works and if we can run remote command. /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ssh_localhost.yml
kernel_swapusage c6406429 Retrieve Kernel Swap Usage /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/kernel_state.yml
root_disk_usage 6b5ebea2 Check root disk usage and report if it exceeds threshold /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/disk_usage.yml
systemd_default_target daaa00e7 check if default target is multi-user.target /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/systemd-default-target.yml
+----------------------+
| Stage: Building Test |
+----------------------+
name | id | type | executor | tags | testpath
------------------------------+----------+--------+--------------------+---------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ulimit_filelock_unlimited | b1b5ebdc | script | generic.local.bash | ['system'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/b1b5ebdc/ulimit_filelock_unlimited_build.sh
ulimit_cputime_unlimited | aa16f2ae | script | generic.local.bash | ['system'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/aa16f2ae/ulimit_cputime_unlimited_build.sh
ulimit_stacksize_unlimited | 7204f37a | script | generic.local.bash | ['system'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/7204f37a/ulimit_stacksize_unlimited_build.sh
ulimit_vmsize_unlimited | 247638c0 | script | generic.local.bash | ['system'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/247638c0/ulimit_vmsize_unlimited_build.sh
ulimit_filedescriptor_4096 | 677a3ea5 | script | generic.local.bash | ['system'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/677a3ea5/ulimit_filedescriptor_4096_build.sh
ulimit_max_user_process_2048 | 81105021 | script | generic.local.bash | ['system'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/81105021/ulimit_max_user_process_2048_build.sh
ssh_localhost_remotecommand | d99f5389 | script | generic.local.bash | ['ssh'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ssh_localhost/ssh_localhost_remotecommand/d99f5389/ssh_localhost_remotecommand_build.sh
kernel_swapusage | c6406429 | script | generic.local.bash | ['configuration'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/kernel_state/kernel_swapusage/c6406429/kernel_swapusage_build.sh
root_disk_usage | 6b5ebea2 | script | generic.local.bash | ['filesystem', 'storage'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/disk_usage/root_disk_usage/6b5ebea2/root_disk_usage_build.sh
systemd_default_target | daaa00e7 | script | generic.local.bash | ['system'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/daaa00e7/systemd_default_target_build.sh
+---------------------+
| Stage: Running Test |
+---------------------+
ulimit_filelock_unlimited/b1b5ebdc: completed with returncode: 0
ulimit_filelock_unlimited/b1b5ebdc: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/b1b5ebdc/ulimit_filelock_unlimited.out
ulimit_filelock_unlimited/b1b5ebdc: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/b1b5ebdc/ulimit_filelock_unlimited.err
ulimit_filelock_unlimited/b1b5ebdc: performing regular expression - '^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/b1b5ebdc/ulimit_filelock_unlimited.out with regular expression
ulimit_filelock_unlimited/b1b5ebdc: Regular Expression Match - Success!
ulimit_stacksize_unlimited/7204f37a: completed with returncode: 0
ulimit_stacksize_unlimited/7204f37a: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/7204f37a/ulimit_stacksize_unlimited.out
ulimit_stacksize_unlimited/7204f37a: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/7204f37a/ulimit_stacksize_unlimited.err
ulimit_stacksize_unlimited/7204f37a: performing regular expression - '^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/7204f37a/ulimit_stacksize_unlimited.out with regular expression
ulimit_stacksize_unlimited/7204f37a: Regular Expression Match - Failed!
ulimit_filedescriptor_4096/677a3ea5: completed with returncode: 0
ulimit_filedescriptor_4096/677a3ea5: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/677a3ea5/ulimit_filedescriptor_4096.out
ulimit_filedescriptor_4096/677a3ea5: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/677a3ea5/ulimit_filedescriptor_4096.err
ulimit_filedescriptor_4096/677a3ea5: performing regular expression - '^4096$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/677a3ea5/ulimit_filedescriptor_4096.out with regular expression
ulimit_filedescriptor_4096/677a3ea5: Regular Expression Match - Failed!
ssh_localhost_remotecommand/d99f5389: completed with returncode: 255
ssh_localhost_remotecommand/d99f5389: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ssh_localhost/ssh_localhost_remotecommand/d99f5389/ssh_localhost_remotecommand.out
ssh_localhost_remotecommand/d99f5389: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ssh_localhost/ssh_localhost_remotecommand/d99f5389/ssh_localhost_remotecommand.err
ulimit_cputime_unlimited/aa16f2ae: completed with returncode: 0
ulimit_cputime_unlimited/aa16f2ae: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/aa16f2ae/ulimit_cputime_unlimited.out
ulimit_cputime_unlimited/aa16f2ae: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/aa16f2ae/ulimit_cputime_unlimited.err
ulimit_cputime_unlimited/aa16f2ae: performing regular expression - '^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/aa16f2ae/ulimit_cputime_unlimited.out with regular expression
ulimit_cputime_unlimited/aa16f2ae: Regular Expression Match - Success!
ulimit_vmsize_unlimited/247638c0: completed with returncode: 0
ulimit_vmsize_unlimited/247638c0: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/247638c0/ulimit_vmsize_unlimited.out
ulimit_vmsize_unlimited/247638c0: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/247638c0/ulimit_vmsize_unlimited.err
ulimit_vmsize_unlimited/247638c0: performing regular expression - '^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/247638c0/ulimit_vmsize_unlimited.out with regular expression
ulimit_vmsize_unlimited/247638c0: Regular Expression Match - Success!
ulimit_max_user_process_2048/81105021: completed with returncode: 0
ulimit_max_user_process_2048/81105021: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/81105021/ulimit_max_user_process_2048.out
ulimit_max_user_process_2048/81105021: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/81105021/ulimit_max_user_process_2048.err
ulimit_max_user_process_2048/81105021: performing regular expression - '^2048$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/81105021/ulimit_max_user_process_2048.out with regular expression
ulimit_max_user_process_2048/81105021: Regular Expression Match - Failed!
kernel_swapusage/c6406429: completed with returncode: 127
kernel_swapusage/c6406429: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/kernel_state/kernel_swapusage/c6406429/kernel_swapusage.out
kernel_swapusage/c6406429: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/kernel_state/kernel_swapusage/c6406429/kernel_swapusage.err
root_disk_usage/6b5ebea2: completed with returncode: 0
root_disk_usage/6b5ebea2: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/disk_usage/root_disk_usage/6b5ebea2/root_disk_usage.out
root_disk_usage/6b5ebea2: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/disk_usage/root_disk_usage/6b5ebea2/root_disk_usage.err
systemd_default_target/daaa00e7: completed with returncode: 1
systemd_default_target/daaa00e7: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/daaa00e7/systemd_default_target.out
systemd_default_target/daaa00e7: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/daaa00e7/systemd_default_target.err
______________________________
Launching test: ulimit_filelock_unlimited
Test ID: b1b5ebdc-dc46-4979-a4dc-6087543fc867
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/b1b5ebdc/ulimit_filelock_unlimited_build.sh
______________________________
Launching test: ulimit_cputime_unlimited
Test ID: aa16f2ae-4389-4b94-b5b6-0e4a3635352e
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/aa16f2ae/ulimit_cputime_unlimited_build.sh
______________________________
Launching test: ulimit_stacksize_unlimited
Test ID: 7204f37a-7229-4b7d-9c7a-81fc31f0e6c0
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/7204f37a/ulimit_stacksize_unlimited_build.sh
______________________________
Launching test: ulimit_vmsize_unlimited
Test ID: 247638c0-e13f-4489-8197-e65b56ea94db
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/247638c0/ulimit_vmsize_unlimited_build.sh
______________________________
Launching test: ulimit_filedescriptor_4096
Test ID: 677a3ea5-d4ee-492f-8aca-24c59d7eefb9
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/677a3ea5/ulimit_filedescriptor_4096_build.sh
______________________________
Launching test: ulimit_max_user_process_2048
Test ID: 81105021-047b-4ed3-b73f-676c7b086dbd
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/81105021/ulimit_max_user_process_2048_build.sh
______________________________
Launching test: ssh_localhost_remotecommand
Test ID: d99f5389-93a9-49fd-95ed-695e1b733e08
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ssh_localhost/ssh_localhost_remotecommand/d99f5389/ssh_localhost_remotecommand_build.sh
______________________________
Launching test: kernel_swapusage
Test ID: c6406429-ff5c-49b2-9315-d5bcfa2e3be7
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/kernel_state/kernel_swapusage/c6406429/kernel_swapusage_build.sh
______________________________
Launching test: root_disk_usage
Test ID: 6b5ebea2-775e-4d52-bebe-7780a146a31d
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/disk_usage/root_disk_usage/6b5ebea2/root_disk_usage_build.sh
______________________________
Launching test: systemd_default_target
Test ID: daaa00e7-1225-4a6f-ae2d-741234477d87
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/daaa00e7/systemd_default_target_build.sh
+----------------------+
| Stage: Test Summary |
+----------------------+
name | id | executor | status | returncode_match | regex_match | runtime_match | returncode | runtime
------------------------------+----------+--------------------+----------+--------------------+---------------+-----------------+--------------+-----------
ulimit_filelock_unlimited | b1b5ebdc | generic.local.bash | PASS | False | True | False | 0 | 0.022418
ulimit_cputime_unlimited | aa16f2ae | generic.local.bash | PASS | False | True | False | 0 | 0.01952
ulimit_stacksize_unlimited | 7204f37a | generic.local.bash | FAIL | False | False | False | 0 | 0.023393
ulimit_vmsize_unlimited | 247638c0 | generic.local.bash | PASS | False | True | False | 0 | 0.024396
ulimit_filedescriptor_4096 | 677a3ea5 | generic.local.bash | FAIL | False | False | False | 0 | 0.008116
ulimit_max_user_process_2048 | 81105021 | generic.local.bash | FAIL | False | False | False | 0 | 0.021057
kernel_swapusage | c6406429 | generic.local.bash | FAIL | N/A | N/A | N/A | 127 | 0.020363
root_disk_usage | 6b5ebea2 | generic.local.bash | PASS | N/A | N/A | N/A | 0 | 0.039046
systemd_default_target | daaa00e7 | generic.local.bash | FAIL | N/A | N/A | N/A | 1 | 0.040417
ssh_localhost_remotecommand | d99f5389 | generic.local.bash | FAIL | N/A | N/A | N/A | 255 | 0.155613
Passed Tests: 4/10 Percentage: 40.000%
Failed Tests: 6/10 Percentage: 60.000%
Writing Logfile to: /tmp/buildtest_jpcua50c.log
A copy of logfile can be found at $BUILDTEST_ROOT/buildtest.log - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest.log
Building Multiple Buildspecs¶
You can append -b
option to build multiple buildspecs in the same
command. Buildtest will discover buildspecs for every argument (-b
) and accumulate
a list of buildspecs to run. In this example, we instruct buildtest to build
a buildspec file and all buildspecs in a directory path.
$ buildtest build -b general_tests/configuration/ -b tutorials/vars.yml
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:55:13
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest build -b general_tests/configuration/ -b tutorials/vars.yml
+-------------------------------+
| Stage: Discovering Buildspecs |
+-------------------------------+
+-------------------------------------------------------------------------------------------------------------------------------------+
| Discovered Buildspecs |
+=====================================================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ssh_localhost.yml |
+-------------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/kernel_state.yml |
+-------------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml |
+-------------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/systemd-default-target.yml |
+-------------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml |
+-------------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/disk_usage.yml |
+-------------------------------------------------------------------------------------------------------------------------------------+
Discovered Buildspecs: 6
Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 6
+---------------------------+
| Stage: Parsing Buildspecs |
+---------------------------+
Valid Buildspecs: 6
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ssh_localhost.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/kernel_state.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/systemd-default-target.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/disk_usage.yml: VALID
Total builder objects created: 11
builders: [ssh_localhost_remotecommand/93086006, kernel_swapusage/5ef212a6, ulimit_filelock_unlimited/ac5c8bd1, ulimit_cputime_unlimited/3914f699, ulimit_stacksize_unlimited/f2782a7c, ulimit_vmsize_unlimited/55aeecca, ulimit_filedescriptor_4096/fe1869b1, ulimit_max_user_process_2048/7d195a72, systemd_default_target/d016e48c, variables_bash/7ff48178, root_disk_usage/edf300cd]
name id description buildspecs
---------------------------- -------- ---------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------
ssh_localhost_remotecommand 93086006 Test if ssh on localhost works and if we can run remote command. /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ssh_localhost.yml
kernel_swapusage 5ef212a6 Retrieve Kernel Swap Usage /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/kernel_state.yml
ulimit_filelock_unlimited ac5c8bd1 Check if file lock is set to unlimited in ulimits /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml
ulimit_cputime_unlimited 3914f699 Check if cputime is set to unlimited in ulimits /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml
ulimit_stacksize_unlimited f2782a7c Check if stack size is set to unlimited in ulimits /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml
ulimit_vmsize_unlimited 55aeecca Check virtual memory size and check if its set to unlimited /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml
ulimit_filedescriptor_4096 fe1869b1 Check if open file descriptors limit is set to 4096 /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml
ulimit_max_user_process_2048 7d195a72 Check max number of user process limit is set to 2048 /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml
systemd_default_target d016e48c check if default target is multi-user.target /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/systemd-default-target.yml
variables_bash 7ff48178 Declare shell variables in bash /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml
root_disk_usage edf300cd Check root disk usage and report if it exceeds threshold /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/disk_usage.yml
+----------------------+
| Stage: Building Test |
+----------------------+
name | id | type | executor | tags | testpath
------------------------------+----------+--------+--------------------+---------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ssh_localhost_remotecommand | 93086006 | script | generic.local.bash | ['ssh'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ssh_localhost/ssh_localhost_remotecommand/93086006/ssh_localhost_remotecommand_build.sh
kernel_swapusage | 5ef212a6 | script | generic.local.bash | ['configuration'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/kernel_state/kernel_swapusage/5ef212a6/kernel_swapusage_build.sh
ulimit_filelock_unlimited | ac5c8bd1 | script | generic.local.bash | ['system'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/ac5c8bd1/ulimit_filelock_unlimited_build.sh
ulimit_cputime_unlimited | 3914f699 | script | generic.local.bash | ['system'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/3914f699/ulimit_cputime_unlimited_build.sh
ulimit_stacksize_unlimited | f2782a7c | script | generic.local.bash | ['system'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/f2782a7c/ulimit_stacksize_unlimited_build.sh
ulimit_vmsize_unlimited | 55aeecca | script | generic.local.bash | ['system'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/55aeecca/ulimit_vmsize_unlimited_build.sh
ulimit_filedescriptor_4096 | fe1869b1 | script | generic.local.bash | ['system'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/fe1869b1/ulimit_filedescriptor_4096_build.sh
ulimit_max_user_process_2048 | 7d195a72 | script | generic.local.bash | ['system'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/7d195a72/ulimit_max_user_process_2048_build.sh
systemd_default_target | d016e48c | script | generic.local.bash | ['system'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/d016e48c/systemd_default_target_build.sh
variables_bash | 7ff48178 | script | generic.local.bash | ['tutorials'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/vars/variables_bash/7ff48178/variables_bash_build.sh
root_disk_usage | edf300cd | script | generic.local.bash | ['filesystem', 'storage'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/disk_usage/root_disk_usage/edf300cd/root_disk_usage_build.sh
+---------------------+
| Stage: Running Test |
+---------------------+
kernel_swapusage/5ef212a6: completed with returncode: 127
kernel_swapusage/5ef212a6: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/kernel_state/kernel_swapusage/5ef212a6/kernel_swapusage.out
kernel_swapusage/5ef212a6: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/kernel_state/kernel_swapusage/5ef212a6/kernel_swapusage.err
ulimit_filelock_unlimited/ac5c8bd1: completed with returncode: 0
ulimit_filelock_unlimited/ac5c8bd1: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/ac5c8bd1/ulimit_filelock_unlimited.out
ulimit_filelock_unlimited/ac5c8bd1: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/ac5c8bd1/ulimit_filelock_unlimited.err
ulimit_filelock_unlimited/ac5c8bd1: performing regular expression - '^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/ac5c8bd1/ulimit_filelock_unlimited.out with regular expression
ulimit_filelock_unlimited/ac5c8bd1: Regular Expression Match - Success!
ulimit_stacksize_unlimited/f2782a7c: completed with returncode: 0
ulimit_stacksize_unlimited/f2782a7c: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/f2782a7c/ulimit_stacksize_unlimited.out
ulimit_stacksize_unlimited/f2782a7c: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/f2782a7c/ulimit_stacksize_unlimited.err
ulimit_stacksize_unlimited/f2782a7c: performing regular expression - '^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/f2782a7c/ulimit_stacksize_unlimited.out with regular expression
ulimit_stacksize_unlimited/f2782a7c: Regular Expression Match - Failed!
ulimit_max_user_process_2048/7d195a72: completed with returncode: 0
ulimit_max_user_process_2048/7d195a72: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/7d195a72/ulimit_max_user_process_2048.out
ulimit_max_user_process_2048/7d195a72: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/7d195a72/ulimit_max_user_process_2048.err
ulimit_max_user_process_2048/7d195a72: performing regular expression - '^2048$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/7d195a72/ulimit_max_user_process_2048.out with regular expression
ulimit_max_user_process_2048/7d195a72: Regular Expression Match - Failed!
variables_bash/7ff48178: completed with returncode: 0
variables_bash/7ff48178: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/vars/variables_bash/7ff48178/variables_bash.out
variables_bash/7ff48178: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/vars/variables_bash/7ff48178/variables_bash.err
ssh_localhost_remotecommand/93086006: completed with returncode: 255
ssh_localhost_remotecommand/93086006: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ssh_localhost/ssh_localhost_remotecommand/93086006/ssh_localhost_remotecommand.out
ssh_localhost_remotecommand/93086006: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ssh_localhost/ssh_localhost_remotecommand/93086006/ssh_localhost_remotecommand.err
ulimit_cputime_unlimited/3914f699: completed with returncode: 0
ulimit_cputime_unlimited/3914f699: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/3914f699/ulimit_cputime_unlimited.out
ulimit_cputime_unlimited/3914f699: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/3914f699/ulimit_cputime_unlimited.err
ulimit_cputime_unlimited/3914f699: performing regular expression - '^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/3914f699/ulimit_cputime_unlimited.out with regular expression
ulimit_cputime_unlimited/3914f699: Regular Expression Match - Success!
ulimit_vmsize_unlimited/55aeecca: completed with returncode: 0
ulimit_vmsize_unlimited/55aeecca: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/55aeecca/ulimit_vmsize_unlimited.out
ulimit_vmsize_unlimited/55aeecca: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/55aeecca/ulimit_vmsize_unlimited.err
ulimit_vmsize_unlimited/55aeecca: performing regular expression - '^unlimited$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/55aeecca/ulimit_vmsize_unlimited.out with regular expression
ulimit_vmsize_unlimited/55aeecca: Regular Expression Match - Success!
ulimit_filedescriptor_4096/fe1869b1: completed with returncode: 0
ulimit_filedescriptor_4096/fe1869b1: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/fe1869b1/ulimit_filedescriptor_4096.out
ulimit_filedescriptor_4096/fe1869b1: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/fe1869b1/ulimit_filedescriptor_4096.err
ulimit_filedescriptor_4096/fe1869b1: performing regular expression - '^4096$' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/fe1869b1/ulimit_filedescriptor_4096.out with regular expression
ulimit_filedescriptor_4096/fe1869b1: Regular Expression Match - Failed!
systemd_default_target/d016e48c: completed with returncode: 1
systemd_default_target/d016e48c: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/d016e48c/systemd_default_target.out
systemd_default_target/d016e48c: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/d016e48c/systemd_default_target.err
root_disk_usage/edf300cd: completed with returncode: 0
root_disk_usage/edf300cd: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/disk_usage/root_disk_usage/edf300cd/root_disk_usage.out
root_disk_usage/edf300cd: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/disk_usage/root_disk_usage/edf300cd/root_disk_usage.err
______________________________
Launching test: ssh_localhost_remotecommand
Test ID: 93086006-02fa-4f6b-be39-127476b64961
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ssh_localhost/ssh_localhost_remotecommand/93086006/ssh_localhost_remotecommand_build.sh
______________________________
Launching test: kernel_swapusage
Test ID: 5ef212a6-ccd2-41aa-8f1a-29f1d2879522
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/kernel_state/kernel_swapusage/5ef212a6/kernel_swapusage_build.sh
______________________________
Launching test: ulimit_filelock_unlimited
Test ID: ac5c8bd1-e810-4700-a593-d2de24bf6eb3
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filelock_unlimited/ac5c8bd1/ulimit_filelock_unlimited_build.sh
______________________________
Launching test: ulimit_cputime_unlimited
Test ID: 3914f699-b36a-481c-88a4-0636eb4ef6b3
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_cputime_unlimited/3914f699/ulimit_cputime_unlimited_build.sh
______________________________
Launching test: ulimit_stacksize_unlimited
Test ID: f2782a7c-f09e-495d-8905-660b9b4d4813
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_stacksize_unlimited/f2782a7c/ulimit_stacksize_unlimited_build.sh
______________________________
Launching test: ulimit_vmsize_unlimited
Test ID: 55aeecca-115c-4f90-89e0-d0801271d5dc
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_vmsize_unlimited/55aeecca/ulimit_vmsize_unlimited_build.sh
______________________________
Launching test: ulimit_filedescriptor_4096
Test ID: fe1869b1-aa96-466f-b704-b4b0a1ae40f0
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_filedescriptor_4096/fe1869b1/ulimit_filedescriptor_4096_build.sh
______________________________
Launching test: ulimit_max_user_process_2048
Test ID: 7d195a72-59e1-45a9-9302-7e283f601c7b
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ulimits/ulimit_max_user_process_2048/7d195a72/ulimit_max_user_process_2048_build.sh
______________________________
Launching test: systemd_default_target
Test ID: d016e48c-20f7-4111-8b5d-db8b8ded804d
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/d016e48c/systemd_default_target_build.sh
______________________________
Launching test: variables_bash
Test ID: 7ff48178-2f82-4dc0-8e9b-17ce6ff0b48f
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/vars/variables_bash/7ff48178/variables_bash_build.sh
______________________________
Launching test: root_disk_usage
Test ID: edf300cd-7242-47a3-8924-4150e812a4af
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/disk_usage/root_disk_usage/edf300cd/root_disk_usage_build.sh
+----------------------+
| Stage: Test Summary |
+----------------------+
name | id | executor | status | returncode_match | regex_match | runtime_match | returncode | runtime
------------------------------+----------+--------------------+----------+--------------------+---------------+-----------------+--------------+-----------
ssh_localhost_remotecommand | 93086006 | generic.local.bash | FAIL | N/A | N/A | N/A | 255 | 0.032854
kernel_swapusage | 5ef212a6 | generic.local.bash | FAIL | N/A | N/A | N/A | 127 | 0.031774
ulimit_filelock_unlimited | ac5c8bd1 | generic.local.bash | PASS | False | True | False | 0 | 0.018337
ulimit_cputime_unlimited | 3914f699 | generic.local.bash | PASS | False | True | False | 0 | 0.019287
ulimit_stacksize_unlimited | f2782a7c | generic.local.bash | FAIL | False | False | False | 0 | 0.023499
ulimit_vmsize_unlimited | 55aeecca | generic.local.bash | PASS | False | True | False | 0 | 0.022004
ulimit_filedescriptor_4096 | fe1869b1 | generic.local.bash | FAIL | False | False | False | 0 | 0.027482
ulimit_max_user_process_2048 | 7d195a72 | generic.local.bash | FAIL | False | False | False | 0 | 0.02491
systemd_default_target | d016e48c | generic.local.bash | FAIL | N/A | N/A | N/A | 1 | 0.030873
variables_bash | 7ff48178 | generic.local.bash | PASS | N/A | N/A | N/A | 0 | 0.042796
root_disk_usage | edf300cd | generic.local.bash | PASS | N/A | N/A | N/A | 0 | 0.02729
Passed Tests: 5/11 Percentage: 45.455%
Failed Tests: 6/11 Percentage: 54.545%
Writing Logfile to: /tmp/buildtest_hkdfz2sm.log
A copy of logfile can be found at $BUILDTEST_ROOT/buildtest.log - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest.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/
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:55:14
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest bd -b tutorials/ -x tutorials/
There are no Buildspec files to process.
Buildtest will stop immediately if there are no Buildspecs to process, this is true if you were to specify files instead of directory.
In this example, we build all buildspecs in a directory but exclude a file. Buildtest
will report the excluded buildspecs in the output and -x
option can be appended multiple times.
The -x
can be a file or a directory and behaves similar to -b
option.
$ buildtest bd -b general_tests/configuration/ -x general_tests/configuration/ulimits.yml
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:55:14
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest bd -b general_tests/configuration/ -x general_tests/configuration/ulimits.yml
+-------------------------------+
| Stage: Discovering Buildspecs |
+-------------------------------+
+-------------------------------------------------------------------------------------------------------------------------------------+
| Discovered Buildspecs |
+=====================================================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml |
+-------------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/kernel_state.yml |
+-------------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/disk_usage.yml |
+-------------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/systemd-default-target.yml |
+-------------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ssh_localhost.yml |
+-------------------------------------------------------------------------------------------------------------------------------------+
+----------------------------------------------------------------------------------------------------------------------+
| Excluded Buildspecs |
+======================================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ulimits.yml |
+----------------------------------------------------------------------------------------------------------------------+
Discovered Buildspecs: 5
Excluded Buildspecs: 1
Detected Buildspecs after exclusion: 4
+---------------------------+
| Stage: Parsing Buildspecs |
+---------------------------+
Valid Buildspecs: 4
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/kernel_state.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/disk_usage.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/systemd-default-target.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ssh_localhost.yml: VALID
Total builder objects created: 4
builders: [kernel_swapusage/92b2bafa, root_disk_usage/1cd41359, systemd_default_target/e16f7e53, ssh_localhost_remotecommand/c07d8422]
name id description buildspecs
--------------------------- -------- ---------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------
kernel_swapusage 92b2bafa Retrieve Kernel Swap Usage /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/kernel_state.yml
root_disk_usage 1cd41359 Check root disk usage and report if it exceeds threshold /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/disk_usage.yml
systemd_default_target e16f7e53 check if default target is multi-user.target /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/systemd-default-target.yml
ssh_localhost_remotecommand c07d8422 Test if ssh on localhost works and if we can run remote command. /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/general_tests/configuration/ssh_localhost.yml
+----------------------+
| Stage: Building Test |
+----------------------+
name | id | type | executor | tags | testpath
-----------------------------+----------+--------+--------------------+---------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
kernel_swapusage | 92b2bafa | script | generic.local.bash | ['configuration'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/kernel_state/kernel_swapusage/92b2bafa/kernel_swapusage_build.sh
root_disk_usage | 1cd41359 | script | generic.local.bash | ['filesystem', 'storage'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/disk_usage/root_disk_usage/1cd41359/root_disk_usage_build.sh
systemd_default_target | e16f7e53 | script | generic.local.bash | ['system'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/e16f7e53/systemd_default_target_build.sh
ssh_localhost_remotecommand | c07d8422 | script | generic.local.bash | ['ssh'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ssh_localhost/ssh_localhost_remotecommand/c07d8422/ssh_localhost_remotecommand_build.sh
+---------------------+
| Stage: Running Test |
+---------------------+
kernel_swapusage/92b2bafa: completed with returncode: 127
kernel_swapusage/92b2bafa: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/kernel_state/kernel_swapusage/92b2bafa/kernel_swapusage.out
kernel_swapusage/92b2bafa: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/kernel_state/kernel_swapusage/92b2bafa/kernel_swapusage.err
systemd_default_target/e16f7e53: completed with returncode: 1
systemd_default_target/e16f7e53: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/e16f7e53/systemd_default_target.out
systemd_default_target/e16f7e53: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/e16f7e53/systemd_default_target.err
root_disk_usage/1cd41359: completed with returncode: 0
root_disk_usage/1cd41359: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/disk_usage/root_disk_usage/1cd41359/root_disk_usage.out
root_disk_usage/1cd41359: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/disk_usage/root_disk_usage/1cd41359/root_disk_usage.err
ssh_localhost_remotecommand/c07d8422: completed with returncode: 255
ssh_localhost_remotecommand/c07d8422: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ssh_localhost/ssh_localhost_remotecommand/c07d8422/ssh_localhost_remotecommand.out
ssh_localhost_remotecommand/c07d8422: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ssh_localhost/ssh_localhost_remotecommand/c07d8422/ssh_localhost_remotecommand.err
______________________________
Launching test: kernel_swapusage
Test ID: 92b2bafa-44d0-42c6-84c5-272b1a2ba768
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/kernel_state/kernel_swapusage/92b2bafa/kernel_swapusage_build.sh
______________________________
Launching test: root_disk_usage
Test ID: 1cd41359-a069-43ea-8807-2b6f256c34e3
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/disk_usage/root_disk_usage/1cd41359/root_disk_usage_build.sh
______________________________
Launching test: systemd_default_target
Test ID: e16f7e53-2ed2-46be-b2e6-6212c0e19fc9
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/systemd-default-target/systemd_default_target/e16f7e53/systemd_default_target_build.sh
______________________________
Launching test: ssh_localhost_remotecommand
Test ID: c07d8422-61be-4bdd-893b-10387062609c
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/ssh_localhost/ssh_localhost_remotecommand/c07d8422/ssh_localhost_remotecommand_build.sh
+----------------------+
| Stage: Test Summary |
+----------------------+
name | id | executor | status | returncode_match | regex_match | runtime_match | returncode | runtime
-----------------------------+----------+--------------------+----------+--------------------+---------------+-----------------+--------------+-----------
kernel_swapusage | 92b2bafa | generic.local.bash | FAIL | N/A | N/A | N/A | 127 | 0.027239
root_disk_usage | 1cd41359 | generic.local.bash | PASS | N/A | N/A | N/A | 0 | 0.037134
systemd_default_target | e16f7e53 | generic.local.bash | FAIL | N/A | N/A | N/A | 1 | 0.027696
ssh_localhost_remotecommand | c07d8422 | generic.local.bash | FAIL | N/A | N/A | N/A | 255 | 0.030714
Passed Tests: 1/4 Percentage: 25.000%
Failed Tests: 3/4 Percentage: 75.000%
Writing Logfile to: /tmp/buildtest_cbtfuxlm.log
A copy of logfile can be found at $BUILDTEST_ROOT/buildtest.log - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest.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
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:55:14
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest build -t network
+-------------------------------+
| Stage: Discovering Buildspecs |
+-------------------------------+
+---------------------------------------------------------------------------------------------------------+
| Discovered Buildspecs |
+=========================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/tags_example.yml |
+---------------------------------------------------------------------------------------------------------+
Discovered Buildspecs: 1
Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 1
BREAKDOWN OF BUILDSPECS BY TAGS
----------------------------------
Detected Tag Names: ['network']
+---------------------------------------------------------------------------------------------------------+
| network |
+=========================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/tags_example.yml |
+---------------------------------------------------------------------------------------------------------+
+---------------------------+
| Stage: Parsing Buildspecs |
+---------------------------+
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/tags_example.yml: VALID
Total builder objects created: 2
builders: [string_tag/3d7a4f9f, list_of_strings_tags/fc9ecab8]
name id description buildspecs
-------------------- -------- ----------------------------- -------------------------------------------------------------------------------------------------------
string_tag 3d7a4f9f tags can be a string /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/tags_example.yml
list_of_strings_tags fc9ecab8 tags can be a list of strings /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/tags_example.yml
+----------------------+
| Stage: Building Test |
+----------------------+
name | id | type | executor | tags | testpath
----------------------+----------+--------+--------------------+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
string_tag | 3d7a4f9f | script | generic.local.bash | network | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/tags_example/string_tag/3d7a4f9f/string_tag_build.sh
list_of_strings_tags | fc9ecab8 | script | generic.local.bash | ['network', 'ping'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/tags_example/list_of_strings_tags/fc9ecab8/list_of_strings_tags_build.sh
+---------------------+
| Stage: Running Test |
+---------------------+
string_tag/3d7a4f9f: completed with returncode: 0
string_tag/3d7a4f9f: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/tags_example/string_tag/3d7a4f9f/string_tag.out
string_tag/3d7a4f9f: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/tags_example/string_tag/3d7a4f9f/string_tag.err
list_of_strings_tags/fc9ecab8: completed with returncode: 0
list_of_strings_tags/fc9ecab8: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/tags_example/list_of_strings_tags/fc9ecab8/list_of_strings_tags.out
list_of_strings_tags/fc9ecab8: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/tags_example/list_of_strings_tags/fc9ecab8/list_of_strings_tags.err
______________________________
Launching test: string_tag
Test ID: 3d7a4f9f-a80c-4ce5-b762-679d5dec1149
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/tags_example/string_tag/3d7a4f9f/string_tag_build.sh
______________________________
Launching test: list_of_strings_tags
Test ID: fc9ecab8-f728-4a44-8b1f-1c116d67c2cb
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/tags_example/list_of_strings_tags/fc9ecab8/list_of_strings_tags_build.sh
+----------------------+
| Stage: Test Summary |
+----------------------+
name | id | executor | status | returncode_match | regex_match | runtime_match | returncode | runtime
----------------------+----------+--------------------+----------+--------------------+---------------+-----------------+--------------+-----------
string_tag | 3d7a4f9f | generic.local.bash | PASS | N/A | N/A | N/A | 0 | 0.032556
list_of_strings_tags | fc9ecab8 | generic.local.bash | PASS | N/A | N/A | N/A | 0 | 3.06947
Passed Tests: 2/2 Percentage: 100.000%
Failed Tests: 0/2 Percentage: 0.000%
Writing Logfile to: /tmp/buildtest_3e2c2fhc.log
A copy of logfile can be found at $BUILDTEST_ROOT/buildtest.log - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest.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
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:55:18
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest build -t python -t pass
+-------------------------------+
| Stage: Discovering Buildspecs |
+-------------------------------+
+------------------------------------------------------------------------------------------------------------+
| Discovered Buildspecs |
+============================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml |
+------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-hello.yml |
+------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml |
+------------------------------------------------------------------------------------------------------------+
Discovered Buildspecs: 3
Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 3
BREAKDOWN OF BUILDSPECS BY TAGS
----------------------------------
Detected Tag Names: ['python', 'pass']
+---------------------------------------------------------------------------------------------------------+
| python |
+=========================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml |
+---------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-hello.yml |
+---------------------------------------------------------------------------------------------------------+
+------------------------------------------------------------------------------------------------------------+
| pass |
+============================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml |
+------------------------------------------------------------------------------------------------------------+
+---------------------------+
| Stage: Parsing Buildspecs |
+---------------------------+
Valid Buildspecs: 3
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml: VALID
Total builder objects created: 6
builders: [circle_area/6ed8bf63, python_hello/6feaf262, exit1_fail/aaa388f4, exit1_pass/55601e7e, returncode_list_mismatch/5e2d005d, returncode_int_match/635d49bb]
name id description buildspecs
------------------------ -------- --------------------------------------------------- ----------------------------------------------------------------------------------------------------------
circle_area 6ed8bf63 Calculate circle of area given a radius /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml
python_hello 6feaf262 Hello World python /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-hello.yml
exit1_fail aaa388f4 exit 1 by default is FAIL /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
exit1_pass 55601e7e report exit 1 as PASS /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
returncode_list_mismatch 5e2d005d exit 2 failed since it failed to match returncode 1 /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
returncode_int_match 635d49bb exit 128 matches returncode 128 /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
+----------------------+
| Stage: Building Test |
+----------------------+
name | id | type | executor | tags | testpath
--------------------------+----------+--------+----------------------+-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
circle_area | 6ed8bf63 | script | generic.local.python | ['tutorials', 'python'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/6ed8bf63/circle_area_build.sh
python_hello | 6feaf262 | script | generic.local.bash | python | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/python-hello/python_hello/6feaf262/python_hello_build.sh
exit1_fail | aaa388f4 | script | generic.local.sh | ['tutorials', 'fail'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_fail/aaa388f4/exit1_fail_build.sh
exit1_pass | 55601e7e | script | generic.local.sh | ['tutorials', 'pass'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/55601e7e/exit1_pass_build.sh
returncode_list_mismatch | 5e2d005d | script | generic.local.sh | ['tutorials', 'fail'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_list_mismatch/5e2d005d/returncode_list_mismatch_build.sh
returncode_int_match | 635d49bb | script | generic.local.sh | ['tutorials', 'pass'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/635d49bb/returncode_int_match_build.sh
+---------------------+
| Stage: Running Test |
+---------------------+
python_hello/6feaf262: completed with returncode: 0
python_hello/6feaf262: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/python-hello/python_hello/6feaf262/python_hello.out
python_hello/6feaf262: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/python-hello/python_hello/6feaf262/python_hello.err
exit1_fail/aaa388f4: completed with returncode: 1
exit1_fail/aaa388f4: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_fail/aaa388f4/exit1_fail.out
exit1_fail/aaa388f4: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_fail/aaa388f4/exit1_fail.err
returncode_list_mismatch/5e2d005d: completed with returncode: 2
returncode_list_mismatch/5e2d005d: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_list_mismatch/5e2d005d/returncode_list_mismatch.out
returncode_list_mismatch/5e2d005d: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_list_mismatch/5e2d005d/returncode_list_mismatch.err
returncode_list_mismatch/5e2d005d: Checking returncode - 2 is matched in list [1, 3]
circle_area/6ed8bf63: completed with returncode: 0
circle_area/6ed8bf63: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/6ed8bf63/circle_area.out
circle_area/6ed8bf63: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/6ed8bf63/circle_area.err
exit1_pass/55601e7e: completed with returncode: 1
exit1_pass/55601e7e: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/55601e7e/exit1_pass.out
exit1_pass/55601e7e: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/55601e7e/exit1_pass.err
exit1_pass/55601e7e: Checking returncode - 1 is matched in list [1]
returncode_int_match/635d49bb: completed with returncode: 128
returncode_int_match/635d49bb: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/635d49bb/returncode_int_match.out
returncode_int_match/635d49bb: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/635d49bb/returncode_int_match.err
returncode_int_match/635d49bb: Checking returncode - 128 is matched in list [128]
______________________________
Launching test: circle_area
Test ID: 6ed8bf63-8008-42c7-9416-7e472c15c9e4
Executor Name: generic.local.python
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/6ed8bf63/circle_area_build.sh
______________________________
Launching test: python_hello
Test ID: 6feaf262-d168-4637-ba18-0646a62ab5e1
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/python-hello/python_hello/6feaf262/python_hello_build.sh
______________________________
Launching test: exit1_fail
Test ID: aaa388f4-6e71-4e73-aabd-4f5fb8e317ad
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_fail/aaa388f4/exit1_fail_build.sh
______________________________
Launching test: exit1_pass
Test ID: 55601e7e-a451-4fc0-81bb-5138115297a9
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/55601e7e/exit1_pass_build.sh
______________________________
Launching test: returncode_list_mismatch
Test ID: 5e2d005d-b672-4298-a6d4-245346eed5d5
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_list_mismatch/5e2d005d/returncode_list_mismatch_build.sh
______________________________
Launching test: returncode_int_match
Test ID: 635d49bb-bd3c-4e94-bd1d-87080a25713a
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/635d49bb/returncode_int_match_build.sh
+----------------------+
| Stage: Test Summary |
+----------------------+
name | id | executor | status | returncode_match | regex_match | runtime_match | returncode | runtime
--------------------------+----------+----------------------+----------+--------------------+---------------+-----------------+--------------+-----------
python_hello | 6feaf262 | generic.local.bash | PASS | N/A | N/A | N/A | 0 | 0.102769
exit1_fail | aaa388f4 | generic.local.sh | FAIL | N/A | N/A | N/A | 1 | 0.029501
exit1_pass | 55601e7e | generic.local.sh | PASS | True | False | False | 1 | 0.018127
returncode_list_mismatch | 5e2d005d | generic.local.sh | FAIL | False | False | False | 2 | 0.018428
returncode_int_match | 635d49bb | generic.local.sh | PASS | True | False | False | 128 | 0.023221
circle_area | 6ed8bf63 | generic.local.python | PASS | N/A | N/A | N/A | 0 | 0.116362
Passed Tests: 4/6 Percentage: 66.667%
Failed Tests: 2/6 Percentage: 33.333%
Writing Logfile to: /tmp/buildtest_7pfzvc1_.log
A copy of logfile can be found at $BUILDTEST_ROOT/buildtest.log - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest.log
When multiple tags are specified, we search each tag independently and if it’s
found in the buildspec cache we retrieve the buildspec file and add file to queue.
This queue is a list of buildspecs that buildtest will process (i.e parse
, build
, run
).
You can query tags from buildspecs cache to see all available
tags by running buildtest buildspec find --tags
.
Note
The --tags
is used for discovering buildspec file and not filtering tests
by tag.
You can combine --tags
with --buildspec
to discover buildspecs in a single command.
buildtest will query tags and buildspecs independently and combine all discovered
buildspecs together.
$ buildtest build --tags pass --buildspec tutorials/python-hello.yml
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:55:18
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest build --tags pass --buildspec tutorials/python-hello.yml
+-------------------------------+
| Stage: Discovering Buildspecs |
+-------------------------------+
+------------------------------------------------------------------------------------------------------------+
| Discovered Buildspecs |
+============================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-hello.yml |
+------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml |
+------------------------------------------------------------------------------------------------------------+
Discovered Buildspecs: 2
Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 2
BREAKDOWN OF BUILDSPECS BY TAGS
----------------------------------
Detected Tag Names: ['pass']
+------------------------------------------------------------------------------------------------------------+
| pass |
+============================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml |
+------------------------------------------------------------------------------------------------------------+
+---------------------------+
| Stage: Parsing Buildspecs |
+---------------------------+
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml: VALID
Total builder objects created: 5
builders: [python_hello/3c422a2b, exit1_fail/46c30f6b, exit1_pass/b2c32941, returncode_list_mismatch/1f4bb7da, returncode_int_match/1cc26cef]
name id description buildspecs
------------------------ -------- --------------------------------------------------- ----------------------------------------------------------------------------------------------------------
python_hello 3c422a2b Hello World python /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-hello.yml
exit1_fail 46c30f6b exit 1 by default is FAIL /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
exit1_pass b2c32941 report exit 1 as PASS /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
returncode_list_mismatch 1f4bb7da exit 2 failed since it failed to match returncode 1 /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
returncode_int_match 1cc26cef exit 128 matches returncode 128 /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
+----------------------+
| Stage: Building Test |
+----------------------+
name | id | type | executor | tags | testpath
--------------------------+----------+--------+--------------------+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
python_hello | 3c422a2b | script | generic.local.bash | python | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/python-hello/python_hello/3c422a2b/python_hello_build.sh
exit1_fail | 46c30f6b | script | generic.local.sh | ['tutorials', 'fail'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_fail/46c30f6b/exit1_fail_build.sh
exit1_pass | b2c32941 | script | generic.local.sh | ['tutorials', 'pass'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/b2c32941/exit1_pass_build.sh
returncode_list_mismatch | 1f4bb7da | script | generic.local.sh | ['tutorials', 'fail'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_list_mismatch/1f4bb7da/returncode_list_mismatch_build.sh
returncode_int_match | 1cc26cef | script | generic.local.sh | ['tutorials', 'pass'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/1cc26cef/returncode_int_match_build.sh
+---------------------+
| Stage: Running Test |
+---------------------+
exit1_fail/46c30f6b: completed with returncode: 1
exit1_fail/46c30f6b: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_fail/46c30f6b/exit1_fail.out
exit1_fail/46c30f6b: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_fail/46c30f6b/exit1_fail.err
exit1_pass/b2c32941: completed with returncode: 1
exit1_pass/b2c32941: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/b2c32941/exit1_pass.out
exit1_pass/b2c32941: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/b2c32941/exit1_pass.err
exit1_pass/b2c32941: Checking returncode - 1 is matched in list [1]
returncode_list_mismatch/1f4bb7da: completed with returncode: 2
returncode_list_mismatch/1f4bb7da: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_list_mismatch/1f4bb7da/returncode_list_mismatch.out
returncode_list_mismatch/1f4bb7da: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_list_mismatch/1f4bb7da/returncode_list_mismatch.err
returncode_list_mismatch/1f4bb7da: Checking returncode - 2 is matched in list [1, 3]
python_hello/3c422a2b: completed with returncode: 0
python_hello/3c422a2b: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/python-hello/python_hello/3c422a2b/python_hello.out
python_hello/3c422a2b: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/python-hello/python_hello/3c422a2b/python_hello.err
returncode_int_match/1cc26cef: completed with returncode: 128
returncode_int_match/1cc26cef: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/1cc26cef/returncode_int_match.out
returncode_int_match/1cc26cef: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/1cc26cef/returncode_int_match.err
returncode_int_match/1cc26cef: Checking returncode - 128 is matched in list [128]
______________________________
Launching test: python_hello
Test ID: 3c422a2b-81b4-4d4f-9240-1e74655d9c8e
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/python-hello/python_hello/3c422a2b/python_hello_build.sh
______________________________
Launching test: exit1_fail
Test ID: 46c30f6b-5121-4715-90b8-961091a04665
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_fail/46c30f6b/exit1_fail_build.sh
______________________________
Launching test: exit1_pass
Test ID: b2c32941-222c-40cc-ada7-8e034ae8b5e9
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/b2c32941/exit1_pass_build.sh
______________________________
Launching test: returncode_list_mismatch
Test ID: 1f4bb7da-00c0-4154-9951-95a94ff144f4
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_list_mismatch/1f4bb7da/returncode_list_mismatch_build.sh
______________________________
Launching test: returncode_int_match
Test ID: 1cc26cef-e085-42ff-a182-bdd075dce883
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/1cc26cef/returncode_int_match_build.sh
+----------------------+
| Stage: Test Summary |
+----------------------+
name | id | executor | status | returncode_match | regex_match | runtime_match | returncode | runtime
--------------------------+----------+--------------------+----------+--------------------+---------------+-----------------+--------------+-----------
python_hello | 3c422a2b | generic.local.bash | PASS | N/A | N/A | N/A | 0 | 0.092008
exit1_fail | 46c30f6b | generic.local.sh | FAIL | N/A | N/A | N/A | 1 | 0.037522
exit1_pass | b2c32941 | generic.local.sh | PASS | True | False | False | 1 | 0.034106
returncode_list_mismatch | 1f4bb7da | generic.local.sh | FAIL | False | False | False | 2 | 0.017392
returncode_int_match | 1cc26cef | generic.local.sh | PASS | True | False | False | 128 | 0.013467
Passed Tests: 3/5 Percentage: 60.000%
Failed Tests: 2/5 Percentage: 40.000%
Writing Logfile to: /tmp/buildtest_tg3mt2bz.log
A copy of logfile can be found at $BUILDTEST_ROOT/buildtest.log - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest.log
As you may see, there are several ways to build buildspecs with buildtest. Tags is great way to build a whole collection of tests if you don’t know path to all the files. You can specify multiple tags per buildspecs to classify how test can be run.
Building by Executors¶
Every buildspec is associated to an executor which is responsible for running the test.
You can instruct buildtest to run all tests by given executor via --executor
option or short option -e
.
For instance, if you want to build all test associated to executor generic.local.python
you can run:
$ buildtest build --executor generic.local.python
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.python
executor.
$ buildtest build --executor generic.local.python
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:55:19
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest build --executor generic.local.python
+-------------------------------+
| Stage: Discovering Buildspecs |
+-------------------------------+
+--------------------------------------------------------------------------------------------------------------+
| Discovered Buildspecs |
+==============================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml |
+--------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_platform.yml |
+--------------------------------------------------------------------------------------------------------------+
Discovered Buildspecs: 2
Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 2
BREAKDOWN OF BUILDSPECS BY EXECUTORS
--------------------------------------
Detected Executor Names: ['generic.local.python']
+--------------------------------------------------------------------------------------------------------------+
| generic.local.python |
+==============================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml |
+--------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_platform.yml |
+--------------------------------------------------------------------------------------------------------------+
+---------------------------+
| Stage: Parsing Buildspecs |
+---------------------------+
[run_only_platform_darwin][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_platform.yml]: test is skipped because this test is expected to run on platform: Darwin but detected platform: Linux.
Valid Buildspecs: 2
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_platform.yml: VALID
Total builder objects created: 2
builders: [circle_area/29fd70b3, run_only_platform_linux/33c3523e]
name id description buildspecs
----------------------- -------- --------------------------------------------------- ------------------------------------------------------------------------------------------------------------
circle_area 29fd70b3 Calculate circle of area given a radius /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml
run_only_platform_linux 33c3523e This test will only run if target platform is Linux /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_platform.yml
+----------------------+
| Stage: Building Test |
+----------------------+
name | id | type | executor | tags | testpath
-------------------------+----------+--------+----------------------+-------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
circle_area | 29fd70b3 | script | generic.local.python | ['tutorials', 'python'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/29fd70b3/circle_area_build.sh
run_only_platform_linux | 33c3523e | script | generic.local.python | ['tutorials'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/run_only_platform/run_only_platform_linux/33c3523e/run_only_platform_linux_build.sh
+---------------------+
| Stage: Running Test |
+---------------------+
circle_area/29fd70b3: completed with returncode: 0
circle_area/29fd70b3: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/29fd70b3/circle_area.out
circle_area/29fd70b3: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/29fd70b3/circle_area.err
run_only_platform_linux/33c3523e: completed with returncode: 0
run_only_platform_linux/33c3523e: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/run_only_platform/run_only_platform_linux/33c3523e/run_only_platform_linux.out
run_only_platform_linux/33c3523e: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/run_only_platform/run_only_platform_linux/33c3523e/run_only_platform_linux.err
run_only_platform_linux/33c3523e: performing regular expression - '^Linux' on file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/run_only_platform/run_only_platform_linux/33c3523e/run_only_platform_linux.out with regular expression
run_only_platform_linux/33c3523e: Regular Expression Match - Success!
______________________________
Launching test: circle_area
Test ID: 29fd70b3-2bd5-45a0-96af-0b62e394c87e
Executor Name: generic.local.python
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/29fd70b3/circle_area_build.sh
______________________________
Launching test: run_only_platform_linux
Test ID: 33c3523e-e52b-4bad-a118-c048b0ac5d88
Executor Name: generic.local.python
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/run_only_platform/run_only_platform_linux/33c3523e/run_only_platform_linux_build.sh
+----------------------+
| Stage: Test Summary |
+----------------------+
name | id | executor | status | returncode_match | regex_match | runtime_match | returncode | runtime
-------------------------+----------+----------------------+----------+--------------------+---------------+-----------------+--------------+-----------
run_only_platform_linux | 33c3523e | generic.local.python | PASS | False | True | False | 0 | 0.141286
circle_area | 29fd70b3 | generic.local.python | PASS | N/A | N/A | N/A | 0 | 0.115076
Passed Tests: 2/2 Percentage: 100.000%
Failed Tests: 0/2 Percentage: 0.000%
Writing Logfile to: /tmp/buildtest_f5kdyyj_.log
A copy of logfile can be found at $BUILDTEST_ROOT/buildtest.log - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest.log
Note
The --executor
option can be appended to discover tests by multiple executors.
Filtering Buildspecs¶
buildtest has support for filtering buildspecs based on certain attributes defined in buildspec file. Upon Discover Buildspecs, buildtest
will filter out tests or entire buildspec files. The buildtest build --filter
option can be used to filter buildspecs which expects a single
key=value pair. Currently, buildtest can filter tests based on tags
, type
and maintainers
.
To see all available filter fields you can run buildtest build --helpfilter
and buildtest will
report the fields followed by description.
$ buildtest build --helpfilter
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
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:55:19
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest build -t pass --filter tags=pass
+-------------------------------+
| Stage: Discovering Buildspecs |
+-------------------------------+
+------------------------------------------------------------------------------------------------------------+
| Discovered Buildspecs |
+============================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml |
+------------------------------------------------------------------------------------------------------------+
Discovered Buildspecs: 1
Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 1
BREAKDOWN OF BUILDSPECS BY TAGS
----------------------------------
Detected Tag Names: ['pass']
+------------------------------------------------------------------------------------------------------------+
| pass |
+============================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml |
+------------------------------------------------------------------------------------------------------------+
+---------------------------+
| Stage: Parsing Buildspecs |
+---------------------------+
[exit1_fail][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml]: test is skipped because it is not in tag filter list: {'tags': 'pass'}
[returncode_list_mismatch][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml]: test is skipped because it is not in tag filter list: {'tags': 'pass'}
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml: VALID
Total builder objects created: 2
builders: [exit1_pass/80376cc8, returncode_int_match/f1095054]
name id description buildspecs
-------------------- -------- ------------------------------- ----------------------------------------------------------------------------------------------------------
exit1_pass 80376cc8 report exit 1 as PASS /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
returncode_int_match f1095054 exit 128 matches returncode 128 /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
+----------------------+
| Stage: Building Test |
+----------------------+
name | id | type | executor | tags | testpath
----------------------+----------+--------+------------------+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
exit1_pass | 80376cc8 | script | generic.local.sh | ['tutorials', 'pass'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/80376cc8/exit1_pass_build.sh
returncode_int_match | f1095054 | script | generic.local.sh | ['tutorials', 'pass'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/f1095054/returncode_int_match_build.sh
+---------------------+
| Stage: Running Test |
+---------------------+
returncode_int_match/f1095054: completed with returncode: 128
returncode_int_match/f1095054: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/f1095054/returncode_int_match.out
returncode_int_match/f1095054: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/f1095054/returncode_int_match.err
returncode_int_match/f1095054: Checking returncode - 128 is matched in list [128]
exit1_pass/80376cc8: completed with returncode: 1
exit1_pass/80376cc8: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/80376cc8/exit1_pass.out
exit1_pass/80376cc8: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/80376cc8/exit1_pass.err
exit1_pass/80376cc8: Checking returncode - 1 is matched in list [1]
______________________________
Launching test: exit1_pass
Test ID: 80376cc8-2c1c-4946-b76b-e0515c46528e
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/80376cc8/exit1_pass_build.sh
______________________________
Launching test: returncode_int_match
Test ID: f1095054-1457-49fc-b85e-81156b762f35
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/f1095054/returncode_int_match_build.sh
+----------------------+
| Stage: Test Summary |
+----------------------+
name | id | executor | status | returncode_match | regex_match | runtime_match | returncode | runtime
----------------------+----------+------------------+----------+--------------------+---------------+-----------------+--------------+-----------
exit1_pass | 80376cc8 | generic.local.sh | PASS | True | False | False | 1 | 0.021258
returncode_int_match | f1095054 | generic.local.sh | PASS | True | False | False | 128 | 0.021259
Passed Tests: 2/2 Percentage: 100.000%
Failed Tests: 0/2 Percentage: 0.000%
Writing Logfile to: /tmp/buildtest_ygzwdshx.log
A copy of logfile can be found at $BUILDTEST_ROOT/buildtest.log - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest.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
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:55:20
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest build -b tutorials --filter maintainers=@shahzebsiddiqui
+-------------------------------+
| Stage: Discovering Buildspecs |
+-------------------------------+
+---------------------------------------------------------------------------------------------------------------------------------+
| Discovered Buildspecs |
+=================================================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_test_specs.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/compiler_exclude.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/gnu_hello_c.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/invalid_executor.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/remove_environment_example.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/metrics_openmp.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/invalid_buildspec_section.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/hello_world.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/mirror_example.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/root_user.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/environment.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-hello.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_distro.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/openmp_hello.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/env_create_manifest.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/invalid_tags.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/pre_post_cmds.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/csh_shell_examples.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_platform.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/executor_regex_script.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/sleep.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/concretize_m4.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/add_numbers.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/tags_example.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/vecadd.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/env_create_directory.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/custom_run.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/pre_post_build_run.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/metrics_variable.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_test.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/burstbuffer_datawarp_executors.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/gnu_hello_fortran.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_multiple_executor_sbatch.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/metrics_regex.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/envvar_override.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/executor_scheduler.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/status_by_executors.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/shell_examples.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/install_zlib.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/env_install.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/skip_tests.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/compiler_status_regex.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/shebang.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/runtime_status_test.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_sbatch.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/multiple_executors.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/maintainers_example.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/selinux.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/status_regex.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
Discovered Buildspecs: 52
Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 52
+---------------------------+
| Stage: Parsing Buildspecs |
+---------------------------+
Valid Buildspecs: 47
Invalid Buildspecs: 5
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_test_specs.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/compiler_exclude.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/gnu_hello_c.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/remove_environment_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/metrics_openmp.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/hello_world.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/mirror_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/root_user.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/environment.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_distro.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/openmp_hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/env_create_manifest.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/pre_post_cmds.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/csh_shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_platform.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/executor_regex_script.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/sleep.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/concretize_m4.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/add_numbers.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/tags_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/vecadd.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/env_create_directory.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/custom_run.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/pre_post_build_run.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/metrics_variable.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_test.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/gnu_hello_fortran.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_multiple_executor_sbatch.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/metrics_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/envvar_override.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/executor_scheduler.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/status_by_executors.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/install_zlib.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/skip_tests.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/compiler_status_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/shebang.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/runtime_status_test.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_sbatch.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/multiple_executors.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/maintainers_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/selinux.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/status_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/invalid_executor.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/invalid_buildspec_section.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/invalid_tags.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/burstbuffer_datawarp_executors.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/env_install.yml: INVALID
Buildspecs that were filtered out
________________________________________________________________________________
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_test_specs.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/compiler_exclude.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/gnu_hello_c.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/remove_environment_example.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/metrics_openmp.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/mirror_example.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/root_user.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/environment.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-hello.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_distro.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/openmp_hello.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/env_create_manifest.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/pre_post_cmds.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/csh_shell_examples.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_platform.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/executor_regex_script.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/sleep.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/concretize_m4.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/add_numbers.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/tags_example.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/vecadd.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/env_create_directory.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/custom_run.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/pre_post_build_run.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/metrics_variable.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_test.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/gnu_hello_fortran.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_multiple_executor_sbatch.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/metrics_regex.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/envvar_override.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/executor_scheduler.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/status_by_executors.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/shell_examples.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/install_zlib.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/skip_tests.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/compiler_status_regex.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/shebang.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/runtime_status_test.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_sbatch.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/multiple_executors.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/maintainers_example.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/selinux.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/status_regex.yml
Total builder objects created: 1
builders: [hello_world/7c3d7f17]
name id description buildspecs
----------- -------- ------------------- ------------------------------------------------------------------------------------------------------
hello_world 7c3d7f17 hello world example /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/hello_world.yml
+----------------------+
| Stage: Building Test |
+----------------------+
name | id | type | executor | tags | testpath
-------------+----------+--------+--------------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------
hello_world | 7c3d7f17 | script | generic.local.bash | tutorials | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/hello_world/hello_world/7c3d7f17/hello_world_build.sh
+---------------------+
| Stage: Running Test |
+---------------------+
hello_world/7c3d7f17: completed with returncode: 0
hello_world/7c3d7f17: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/hello_world/hello_world/7c3d7f17/hello_world.out
hello_world/7c3d7f17: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/hello_world/hello_world/7c3d7f17/hello_world.err
______________________________
Launching test: hello_world
Test ID: 7c3d7f17-7dff-4da0-8f72-509cb7b69185
Executor Name: generic.local.bash
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/hello_world/hello_world/7c3d7f17/hello_world_build.sh
+----------------------+
| Stage: Test Summary |
+----------------------+
name | id | executor | status | returncode_match | regex_match | runtime_match | returncode | runtime
-------------+----------+--------------------+----------+--------------------+---------------+-----------------+--------------+-----------
hello_world | 7c3d7f17 | generic.local.bash | PASS | N/A | N/A | N/A | 0 | 0.006251
Passed Tests: 1/1 Percentage: 100.000%
Failed Tests: 0/1 Percentage: 0.000%
Writing Logfile to: /tmp/buildtest_pdw2691g.log
A copy of logfile can be found at $BUILDTEST_ROOT/buildtest.log - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest.log
Please see Query Maintainers on list of maintainers and breakdown of buildspecs by maintainers.
We can also filter tests by type
field in the buildspec which corresponds to the schema type. In this next example, we filter all tests by spack schema type by
passing option --filter type=spack
. We inform buildtest to stop after build stage (--stage=build
) for more details see Configure Build Stages.
$ buildtest build -b tutorials --filter type=spack --stage=build
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:55:20
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest build -b tutorials --filter type=spack --stage=build
+-------------------------------+
| Stage: Discovering Buildspecs |
+-------------------------------+
+---------------------------------------------------------------------------------------------------------------------------------+
| Discovered Buildspecs |
+=================================================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/metrics_regex.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/envvar_override.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/compiler_exclude.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/invalid_executor.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_test_specs.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/pre_post_cmds.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/executor_regex_script.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/runtime_status_test.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/metrics_variable.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/burstbuffer_datawarp_executors.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/pre_post_build_run.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/csh_shell_examples.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/root_user.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/gnu_hello_fortran.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-hello.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/invalid_tags.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/custom_run.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/hello_world.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/environment.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/metrics_openmp.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/shell_examples.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/openmp_hello.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/skip_tests.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/multiple_executors.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_distro.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/gnu_hello_c.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/tags_example.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/remove_environment_example.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/concretize_m4.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/install_zlib.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_sbatch.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_test.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/shebang.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/selinux.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_multiple_executor_sbatch.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/invalid_buildspec_section.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/maintainers_example.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/env_install.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/sleep.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/status_regex.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_platform.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/add_numbers.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/env_create_directory.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/status_by_executors.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/vecadd.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/mirror_example.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/env_create_manifest.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/executor_scheduler.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/compiler_status_regex.yml |
+---------------------------------------------------------------------------------------------------------------------------------+
Discovered Buildspecs: 52
Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 52
+---------------------------+
| Stage: Parsing Buildspecs |
+---------------------------+
[metric_regex_example][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/metrics_regex.yml]: test is skipped because it is not in type filter list: spack
[override_environmentvars][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/envvar_override.yml]: test is skipped because it is not in type filter list: spack
[vecadd_gnu_exclude][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/compiler_exclude.yml]: test is skipped because it is not in type filter list: spack
[executor_regex_script_schema][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/executor_regex_script.yml]: test is skipped because it is not in type filter list: spack
[timelimit_min_max][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/runtime_status_test.yml]: test is skipped because it is not in type filter list: spack
[timelimit_min][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/runtime_status_test.yml]: test is skipped because it is not in type filter list: spack
[timelimit_max][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/runtime_status_test.yml]: test is skipped because it is not in type filter list: spack
[timelimit_min_fail][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/runtime_status_test.yml]: test is skipped because it is not in type filter list: spack
[timelimit_max_fail][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/runtime_status_test.yml]: test is skipped because it is not in type filter list: spack
[metric_variable_assignment][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/metrics_variable.yml]: test is skipped because it is not in type filter list: spack
[pre_post_build_run][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/pre_post_build_run.yml]: test is skipped because it is not in type filter list: spack
[csh_shell][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/csh_shell_examples.yml]: test is skipped because it is not in type filter list: spack
[run_only_as_root][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/root_user.yml]: test is skipped because it is not in type filter list: spack
[hello_f][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/gnu_hello_fortran.yml]: test is skipped because it is not in type filter list: spack
[python_hello][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-hello.yml]: test is skipped because it is not in type filter list: spack
[custom_run_by_compilers][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/custom_run.yml]: test is skipped because it is not in type filter list: spack
[hello_world][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/hello_world.yml]: test is skipped because it is not in type filter list: spack
[bash_env_variables][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/environment.yml]: test is skipped because it is not in type filter list: spack
[csh_env_declaration][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/environment.yml]: test is skipped because it is not in type filter list: spack
[tcsh_env_declaration][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/environment.yml]: test is skipped because it is not in type filter list: spack
[metrics_variable_compiler][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/metrics_openmp.yml]: test is skipped because it is not in type filter list: spack
[_bin_sh_shell][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/shell_examples.yml]: test is skipped because it is not in type filter list: spack
[_bin_bash_shell][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/shell_examples.yml]: test is skipped because it is not in type filter list: spack
[bash_shell][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/shell_examples.yml]: test is skipped because it is not in type filter list: spack
[sh_shell][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/shell_examples.yml]: test is skipped because it is not in type filter list: spack
[shell_options][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/shell_examples.yml]: test is skipped because it is not in type filter list: spack
[openmp_hello_c_example][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/openmp_hello.yml]: test is skipped because it is not in type filter list: spack
[skip](/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/skip_tests.yml): test is skipped.
[unskipped][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/skip_tests.yml]: test is skipped because it is not in type filter list: spack
[executors_vars_env_declaration][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/multiple_executors.yml]: test is skipped because it is not in type filter list: spack
[run_only_macos_distro][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_distro.yml]: test is skipped because it is not in type filter list: spack
[run_only_linux_distro][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_distro.yml]: test is skipped because it is not in type filter list: spack
[hello_c][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/gnu_hello_c.yml]: test is skipped because it is not in type filter list: spack
[string_tag][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/tags_example.yml]: test is skipped because it is not in type filter list: spack
[list_of_strings_tags][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/tags_example.yml]: test is skipped because it is not in type filter list: spack
[exit1_fail][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml]: test is skipped because it is not in type filter list: spack
[exit1_pass][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml]: test is skipped because it is not in type filter list: spack
[returncode_list_mismatch][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml]: test is skipped because it is not in type filter list: spack
[returncode_int_match][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml]: test is skipped because it is not in type filter list: spack
[bash_login_shebang][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/shebang.yml]: test is skipped because it is not in type filter list: spack
[bash_nonlogin_shebang][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/shebang.yml]: test is skipped because it is not in type filter list: spack
[circle_area][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml]: test is skipped because it is not in type filter list: spack
[selinux_disable][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/selinux.yml]: test is skipped because it is not in type filter list: spack
[foo_bar][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/maintainers_example.yml]: test is skipped because it is not in type filter list: spack
[sleep][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/sleep.yml]: test is skipped because it is not in type filter list: spack
[status_regex_pass][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/status_regex.yml]: test is skipped because it is not in type filter list: spack
[status_regex_fail][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/status_regex.yml]: test is skipped because it is not in type filter list: spack
[run_only_platform_darwin][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_platform.yml]: test is skipped because it is not in type filter list: spack
[run_only_platform_linux][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_platform.yml]: test is skipped because it is not in type filter list: spack
[add_numbers][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/add_numbers.yml]: test is skipped because it is not in type filter list: spack
[variables_bash][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml]: test is skipped because it is not in type filter list: spack
[status_returncode_by_executors][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/status_by_executors.yml]: test is skipped because it is not in type filter list: spack
[vecadd_gnu][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/vecadd.yml]: test is skipped because it is not in type filter list: spack
[executors_sbatch_declaration][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/executor_scheduler.yml]: test is skipped because it is not in type filter list: spack
[default_status_regex][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/compiler_status_regex.yml]: test is skipped because it is not in type filter list: spack
[override_status_regex][/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/compiler_status_regex.yml]: test is skipped because it is not in type filter list: spack
Valid Buildspecs: 47
Invalid Buildspecs: 5
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/metrics_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/envvar_override.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/compiler_exclude.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_test_specs.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/pre_post_cmds.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/executor_regex_script.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/runtime_status_test.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/metrics_variable.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/pre_post_build_run.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/csh_shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/root_user.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/gnu_hello_fortran.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/custom_run.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/hello_world.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/environment.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/metrics_openmp.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/shell_examples.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/openmp_hello.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/skip_tests.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/multiple_executors.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_distro.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/gnu_hello_c.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/tags_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/remove_environment_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/concretize_m4.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/install_zlib.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_sbatch.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_test.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/shebang.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/selinux.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_multiple_executor_sbatch.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/maintainers_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/sleep.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/status_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/run_only_platform.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/add_numbers.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/env_create_directory.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/status_by_executors.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/vecadd.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/mirror_example.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/env_create_manifest.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/script/executor_scheduler.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/compilers/compiler_status_regex.yml: VALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/invalid_executor.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/burstbuffer_datawarp_executors.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/invalid_tags.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/invalid_buildspec_section.yml: INVALID
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/env_install.yml: INVALID
Total builder objects created: 14
builders: [spack_test_results_specs_format/62ab8de8, run_pre_post_commands/e870a840, remove_environment_automatically/e5bfb39a, remove_environment_explicit/a227c364, concretize_m4_in_spack_env/c1ba6948, install_zlib/cb0fb2c0, spack_sbatch_example/ed2fdade, spack_test/9cf274a3, spack_sbatch_multi_executors/ec83a273, spack_sbatch_multi_executors/dd1358a6, spack_env_directory/08b15b87, add_mirror/b568cec6, add_mirror_in_spack_env/1b308bf1, spack_env_create_from_manifest/84cf5193]
name id description buildspecs
-------------------------------- -------- ------------------------------------------------------------------------ -------------------------------------------------------------------------------------------------------------------------------
spack_test_results_specs_format 62ab8de8 Run spack test results with spec format /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_test_specs.yml
run_pre_post_commands e870a840 Install zlib /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/pre_post_cmds.yml
remove_environment_automatically e5bfb39a remove spack environment automatically before creating a new environment /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/remove_environment_example.yml
remove_environment_explicit a227c364 remove spack environment explicitly using the 'rm' property /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/remove_environment_example.yml
concretize_m4_in_spack_env c1ba6948 Concretize m4 in a spack environment named m4 /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/concretize_m4.yml
install_zlib cb0fb2c0 Install zlib /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/install_zlib.yml
spack_sbatch_example ed2fdade sbatch directives can be defined in spack schema /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_sbatch.yml
spack_test 9cf274a3 Install bzip2 and run spack test and report results /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_test.yml
spack_sbatch_multi_executors ec83a273 sbatch directives can be defined in spack schema /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_multiple_executor_sbatch.yml
spack_sbatch_multi_executors dd1358a6 sbatch directives can be defined in spack schema /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/spack_multiple_executor_sbatch.yml
spack_env_directory 08b15b87 Concretize m4 in a spack environment named m4 /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/env_create_directory.yml
add_mirror b568cec6 Declare spack mirror /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/mirror_example.yml
add_mirror_in_spack_env 1b308bf1 Declare spack mirror in spack environment /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/mirror_example.yml
spack_env_create_from_manifest 84cf5193 Create spack environment from spack.yaml /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/spack/env_create_manifest.yml
+----------------------+
| Stage: Building Test |
+----------------------+
name | id | type | executor | tags | testpath
----------------------------------+----------+--------+--------------------+-----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
spack_test_results_specs_format | 62ab8de8 | spack | generic.local.sh | ['spack'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/spack_test_specs/spack_test_results_specs_format/62ab8de8/spack_test_results_specs_format_build.sh
run_pre_post_commands | e870a840 | spack | generic.local.sh | ['spack'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pre_post_cmds/run_pre_post_commands/e870a840/run_pre_post_commands_build.sh
remove_environment_automatically | e5bfb39a | spack | generic.local.sh | ['spack'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/remove_environment_example/remove_environment_automatically/e5bfb39a/remove_environment_automatically_build.sh
remove_environment_explicit | a227c364 | spack | generic.local.sh | ['spack'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/remove_environment_example/remove_environment_explicit/a227c364/remove_environment_explicit_build.sh
concretize_m4_in_spack_env | c1ba6948 | spack | generic.local.sh | ['spack'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/concretize_m4/concretize_m4_in_spack_env/c1ba6948/concretize_m4_in_spack_env_build.sh
install_zlib | cb0fb2c0 | spack | generic.local.sh | ['spack'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/install_zlib/install_zlib/cb0fb2c0/install_zlib_build.sh
spack_sbatch_example | ed2fdade | spack | generic.local.sh | ['spack'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/spack_sbatch/spack_sbatch_example/ed2fdade/spack_sbatch_example_build.sh
spack_test | 9cf274a3 | spack | generic.local.sh | ['spack'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/spack_test/spack_test/9cf274a3/spack_test_build.sh
spack_sbatch_multi_executors | ec83a273 | spack | generic.local.bash | ['spack'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/spack_multiple_executor_sbatch/spack_sbatch_multi_executors/ec83a273/spack_sbatch_multi_executors_build.sh
spack_sbatch_multi_executors | dd1358a6 | spack | generic.local.sh | ['spack'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/spack_multiple_executor_sbatch/spack_sbatch_multi_executors/dd1358a6/spack_sbatch_multi_executors_build.sh
spack_env_directory | 08b15b87 | spack | generic.local.sh | ['spack'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/env_create_directory/spack_env_directory/08b15b87/spack_env_directory_build.sh
add_mirror | b568cec6 | spack | generic.local.sh | ['spack'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/mirror_example/add_mirror/b568cec6/add_mirror_build.sh
add_mirror_in_spack_env | 1b308bf1 | spack | generic.local.sh | ['spack'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/mirror_example/add_mirror_in_spack_env/1b308bf1/add_mirror_in_spack_env_build.sh
spack_env_create_from_manifest | 84cf5193 | spack | generic.local.sh | ['spack'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/env_create_manifest/spack_env_create_from_manifest/84cf5193/spack_env_create_from_manifest_build.sh
Discover Buildspecs¶
Now, let’s discuss how buildtest discovers buildspecs since there are several ways to build buildspecs.
The buildspec search resolution is described as follows:
If file or directory specified by
-b
option doesn’t exist we exit immediately.If buildspec path is a directory, traverse directory recursively to find all
.yml
extensionsIf buildspec path is a file, check if file extension is not
.yml
, exit immediatelyIf user specifies
--tags
or--executor
we search in buildspec cache to discover buildspecs.
Shown below is a diagram on how buildtest discovers buildspecs. The user can build buildspecs
by --buildspec
, –tags, or –executor
which will discover the buildspecs. You can exclude buildspecs
using --exclude
option which is processed after discovering buildspecs. The
excluded buildspecs are removed from list if found and final list of buildspecs
is processed.
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
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:55:21
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest build -b tutorials/vars.yml --stage=parse
+-------------------------------+
| Stage: Discovering Buildspecs |
+-------------------------------+
+-------------------------------------------------------------------------------------------------+
| Discovered Buildspecs |
+=================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml |
+-------------------------------------------------------------------------------------------------+
Discovered Buildspecs: 1
Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 1
+---------------------------+
| Stage: Parsing Buildspecs |
+---------------------------+
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml: VALID
Total builder objects created: 1
builders: [variables_bash/ac803661]
name id description buildspecs
-------------- -------- ------------------------------- -----------------------------------------------------------------------------------------------
variables_bash ac803661 Declare shell variables in bash /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml
Likewise, if you want to troubleshoot your test script without running them you can
use --stage=build
which will stop after build phase. This can
be used when you are writing buildspec to troubleshoot how test is generated.
In this next example, we inform buildtest to stop after build stage.
$ buildtest build -b tutorials/vars.yml --stage=build
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:55:21
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest build -b tutorials/vars.yml --stage=build
+-------------------------------+
| Stage: Discovering Buildspecs |
+-------------------------------+
+-------------------------------------------------------------------------------------------------+
| Discovered Buildspecs |
+=================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml |
+-------------------------------------------------------------------------------------------------+
Discovered Buildspecs: 1
Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 1
+---------------------------+
| Stage: Parsing Buildspecs |
+---------------------------+
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml: VALID
Total builder objects created: 1
builders: [variables_bash/d2fbee0c]
name id description buildspecs
-------------- -------- ------------------------------- -----------------------------------------------------------------------------------------------
variables_bash d2fbee0c Declare shell variables in bash /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/vars.yml
+----------------------+
| Stage: Building Test |
+----------------------+
name | id | type | executor | tags | testpath
----------------+----------+--------+--------------------+---------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------
variables_bash | d2fbee0c | script | generic.local.bash | ['tutorials'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.bash/vars/variables_bash/d2fbee0c/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
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:55:21
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest build -b tutorials/invalid_buildspec_section.yml
+-------------------------------+
| Stage: Discovering Buildspecs |
+-------------------------------+
+----------------------------------------------------------------------------------------------------------------------+
| Discovered Buildspecs |
+======================================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/invalid_buildspec_section.yml |
+----------------------------------------------------------------------------------------------------------------------+
Discovered Buildspecs: 1
Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 1
+---------------------------+
| Stage: Parsing Buildspecs |
+---------------------------+
Valid Buildspecs: 0
Invalid Buildspecs: 1
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/invalid_buildspec_section.yml: INVALID
Unable to create any builder objects
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
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:55:22
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest build -b tutorials/invalid_executor.yml
+-------------------------------+
| Stage: Discovering Buildspecs |
+-------------------------------+
+-------------------------------------------------------------------------------------------------------------+
| Discovered Buildspecs |
+=============================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/invalid_executor.yml |
+-------------------------------------------------------------------------------------------------------------+
Discovered Buildspecs: 1
Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 1
+---------------------------+
| Stage: Parsing Buildspecs |
+---------------------------+
Valid Buildspecs: 0
Invalid Buildspecs: 1
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/invalid_executor.yml: INVALID
Unable to create any builder objects
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
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:55:22
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest build -b tutorials/python-shell.yml --rebuild=3
+-------------------------------+
| Stage: Discovering Buildspecs |
+-------------------------------+
+---------------------------------------------------------------------------------------------------------+
| Discovered Buildspecs |
+=========================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml |
+---------------------------------------------------------------------------------------------------------+
Discovered Buildspecs: 1
Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 1
+---------------------------+
| Stage: Parsing Buildspecs |
+---------------------------+
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml: VALID
Total builder objects created: 3
builders: [circle_area/8e5d3510, circle_area/f5c50ca7, circle_area/629ee0a6]
name id description buildspecs
----------- -------- --------------------------------------- -------------------------------------------------------------------------------------------------------
circle_area 8e5d3510 Calculate circle of area given a radius /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml
circle_area f5c50ca7 Calculate circle of area given a radius /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml
circle_area 629ee0a6 Calculate circle of area given a radius /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/python-shell.yml
+----------------------+
| Stage: Building Test |
+----------------------+
name | id | type | executor | tags | testpath
-------------+----------+--------+----------------------+-------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------
circle_area | 8e5d3510 | script | generic.local.python | ['tutorials', 'python'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/8e5d3510/circle_area_build.sh
circle_area | f5c50ca7 | script | generic.local.python | ['tutorials', 'python'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/f5c50ca7/circle_area_build.sh
circle_area | 629ee0a6 | script | generic.local.python | ['tutorials', 'python'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/629ee0a6/circle_area_build.sh
+---------------------+
| Stage: Running Test |
+---------------------+
circle_area/8e5d3510: completed with returncode: 0
circle_area/8e5d3510: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/8e5d3510/circle_area.out
circle_area/8e5d3510: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/8e5d3510/circle_area.err
circle_area/f5c50ca7: completed with returncode: 0
circle_area/f5c50ca7: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/f5c50ca7/circle_area.out
circle_area/f5c50ca7: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/f5c50ca7/circle_area.err
circle_area/629ee0a6: completed with returncode: 0
circle_area/629ee0a6: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/629ee0a6/circle_area.out
circle_area/629ee0a6: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/629ee0a6/circle_area.err
______________________________
Launching test: circle_area
Test ID: 8e5d3510-bbe7-4140-86d7-aa168c6babec
Executor Name: generic.local.python
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/8e5d3510/circle_area_build.sh
______________________________
Launching test: circle_area
Test ID: f5c50ca7-2ac3-43b0-a59f-1d88eb00f3de
Executor Name: generic.local.python
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/f5c50ca7/circle_area_build.sh
______________________________
Launching test: circle_area
Test ID: 629ee0a6-94c3-4e62-b05c-964f92c15f0a
Executor Name: generic.local.python
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.python/python-shell/circle_area/629ee0a6/circle_area_build.sh
+----------------------+
| Stage: Test Summary |
+----------------------+
name | id | executor | status | returncode_match | regex_match | runtime_match | returncode | runtime
-------------+----------+----------------------+----------+--------------------+---------------+-----------------+--------------+-----------
circle_area | f5c50ca7 | generic.local.python | PASS | N/A | N/A | N/A | 0 | 0.10842
circle_area | 629ee0a6 | generic.local.python | PASS | N/A | N/A | N/A | 0 | 0.040307
circle_area | 8e5d3510 | generic.local.python | PASS | N/A | N/A | N/A | 0 | 0.111269
Passed Tests: 3/3 Percentage: 100.000%
Failed Tests: 0/3 Percentage: 0.000%
Writing Logfile to: /tmp/buildtest_z7y7g10g.log
A copy of logfile can be found at $BUILDTEST_ROOT/buildtest.log - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest.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
User: docs
Hostname: build-14673784-project-280831-buildtest
Platform: Linux
Current Time: 2021/09/09 15:55:22
buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest
buildtest version: 0.11.0
python path: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/envs/v0.11.0/bin/python
python version: 3.7.9
Test Directory: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests
Configuration File: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/settings/config.yml
Command: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest build -t fail --rebuild 2
+-------------------------------+
| Stage: Discovering Buildspecs |
+-------------------------------+
+------------------------------------------------------------------------------------------------------------+
| Discovered Buildspecs |
+============================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml |
+------------------------------------------------------------------------------------------------------------+
Discovered Buildspecs: 1
Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 1
BREAKDOWN OF BUILDSPECS BY TAGS
----------------------------------
Detected Tag Names: ['fail']
+------------------------------------------------------------------------------------------------------------+
| fail |
+============================================================================================================+
| /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml |
+------------------------------------------------------------------------------------------------------------+
+---------------------------+
| Stage: Parsing Buildspecs |
+---------------------------+
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml: VALID
Total builder objects created: 8
builders: [exit1_fail/0de2fede, exit1_pass/bdda64f7, returncode_list_mismatch/3f3f660f, returncode_int_match/202a2a4d, exit1_fail/69a9a391, exit1_pass/6d8369a3, returncode_list_mismatch/866fd8e4, returncode_int_match/e9556b16]
name id description buildspecs
------------------------ -------- --------------------------------------------------- ----------------------------------------------------------------------------------------------------------
exit1_fail 0de2fede exit 1 by default is FAIL /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
exit1_pass bdda64f7 report exit 1 as PASS /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
returncode_list_mismatch 3f3f660f exit 2 failed since it failed to match returncode 1 /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
returncode_int_match 202a2a4d exit 128 matches returncode 128 /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
exit1_fail 69a9a391 exit 1 by default is FAIL /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
exit1_pass 6d8369a3 report exit 1 as PASS /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
returncode_list_mismatch 866fd8e4 exit 2 failed since it failed to match returncode 1 /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
returncode_int_match e9556b16 exit 128 matches returncode 128 /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/tutorials/pass_returncode.yml
+----------------------+
| Stage: Building Test |
+----------------------+
name | id | type | executor | tags | testpath
--------------------------+----------+--------+------------------+-----------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
exit1_fail | 0de2fede | script | generic.local.sh | ['tutorials', 'fail'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_fail/0de2fede/exit1_fail_build.sh
exit1_pass | bdda64f7 | script | generic.local.sh | ['tutorials', 'pass'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/bdda64f7/exit1_pass_build.sh
returncode_list_mismatch | 3f3f660f | script | generic.local.sh | ['tutorials', 'fail'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_list_mismatch/3f3f660f/returncode_list_mismatch_build.sh
returncode_int_match | 202a2a4d | script | generic.local.sh | ['tutorials', 'pass'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/202a2a4d/returncode_int_match_build.sh
exit1_fail | 69a9a391 | script | generic.local.sh | ['tutorials', 'fail'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_fail/69a9a391/exit1_fail_build.sh
exit1_pass | 6d8369a3 | script | generic.local.sh | ['tutorials', 'pass'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/6d8369a3/exit1_pass_build.sh
returncode_list_mismatch | 866fd8e4 | script | generic.local.sh | ['tutorials', 'fail'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_list_mismatch/866fd8e4/returncode_list_mismatch_build.sh
returncode_int_match | e9556b16 | script | generic.local.sh | ['tutorials', 'pass'] | /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/e9556b16/returncode_int_match_build.sh
+---------------------+
| Stage: Running Test |
+---------------------+
exit1_fail/0de2fede: completed with returncode: 1
exit1_fail/0de2fede: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_fail/0de2fede/exit1_fail.out
exit1_fail/0de2fede: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_fail/0de2fede/exit1_fail.err
returncode_list_mismatch/3f3f660f: completed with returncode: 2
returncode_list_mismatch/3f3f660f: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_list_mismatch/3f3f660f/returncode_list_mismatch.out
returncode_list_mismatch/3f3f660f: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_list_mismatch/3f3f660f/returncode_list_mismatch.err
returncode_list_mismatch/3f3f660f: Checking returncode - 2 is matched in list [1, 3]
exit1_fail/69a9a391: completed with returncode: 1
exit1_fail/69a9a391: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_fail/69a9a391/exit1_fail.out
exit1_fail/69a9a391: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_fail/69a9a391/exit1_fail.err
returncode_list_mismatch/866fd8e4: completed with returncode: 2
returncode_list_mismatch/866fd8e4: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_list_mismatch/866fd8e4/returncode_list_mismatch.out
returncode_list_mismatch/866fd8e4: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_list_mismatch/866fd8e4/returncode_list_mismatch.err
returncode_list_mismatch/866fd8e4: Checking returncode - 2 is matched in list [1, 3]
exit1_pass/bdda64f7: completed with returncode: 1
exit1_pass/bdda64f7: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/bdda64f7/exit1_pass.out
exit1_pass/bdda64f7: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/bdda64f7/exit1_pass.err
exit1_pass/bdda64f7: Checking returncode - 1 is matched in list [1]
returncode_int_match/202a2a4d: completed with returncode: 128
returncode_int_match/202a2a4d: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/202a2a4d/returncode_int_match.out
returncode_int_match/202a2a4d: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/202a2a4d/returncode_int_match.err
returncode_int_match/202a2a4d: Checking returncode - 128 is matched in list [128]
exit1_pass/6d8369a3: completed with returncode: 1
exit1_pass/6d8369a3: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/6d8369a3/exit1_pass.out
exit1_pass/6d8369a3: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/6d8369a3/exit1_pass.err
exit1_pass/6d8369a3: Checking returncode - 1 is matched in list [1]
returncode_int_match/e9556b16: completed with returncode: 128
returncode_int_match/e9556b16: Writing output file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/e9556b16/returncode_int_match.out
returncode_int_match/e9556b16: Writing error file: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/e9556b16/returncode_int_match.err
returncode_int_match/e9556b16: Checking returncode - 128 is matched in list [128]
______________________________
Launching test: exit1_fail
Test ID: 0de2fede-81b4-4f55-83d2-4a85e73f96b6
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_fail/0de2fede/exit1_fail_build.sh
______________________________
Launching test: exit1_pass
Test ID: bdda64f7-c704-4d78-a945-524000e53844
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/bdda64f7/exit1_pass_build.sh
______________________________
Launching test: returncode_list_mismatch
Test ID: 3f3f660f-d6e1-4341-a240-c7c11234b607
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_list_mismatch/3f3f660f/returncode_list_mismatch_build.sh
______________________________
Launching test: returncode_int_match
Test ID: 202a2a4d-e874-4b62-a015-0d550ecb8ba4
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/202a2a4d/returncode_int_match_build.sh
______________________________
Launching test: exit1_fail
Test ID: 69a9a391-cdce-4269-adb5-b844fb4ad23a
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_fail/69a9a391/exit1_fail_build.sh
______________________________
Launching test: exit1_pass
Test ID: 6d8369a3-badb-47e5-9545-d92bd218c75c
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/exit1_pass/6d8369a3/exit1_pass_build.sh
______________________________
Launching test: returncode_list_mismatch
Test ID: 866fd8e4-48d5-41ca-84ee-e9e2814dda65
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_list_mismatch/866fd8e4/returncode_list_mismatch_build.sh
______________________________
Launching test: returncode_int_match
Test ID: e9556b16-756c-4b87-8b2e-1a45ffaf9b38
Executor Name: generic.local.sh
Running Test: /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/var/tests/generic.local.sh/pass_returncode/returncode_int_match/e9556b16/returncode_int_match_build.sh
+----------------------+
| Stage: Test Summary |
+----------------------+
name | id | executor | status | returncode_match | regex_match | runtime_match | returncode | runtime
--------------------------+----------+------------------+----------+--------------------+---------------+-----------------+--------------+-----------
exit1_fail | 0de2fede | generic.local.sh | FAIL | N/A | N/A | N/A | 1 | 0.020173
exit1_pass | bdda64f7 | generic.local.sh | PASS | True | False | False | 1 | 0.019438
returncode_list_mismatch | 3f3f660f | generic.local.sh | FAIL | False | False | False | 2 | 0.019207
returncode_int_match | 202a2a4d | generic.local.sh | PASS | True | False | False | 128 | 0.018725
exit1_fail | 69a9a391 | generic.local.sh | FAIL | N/A | N/A | N/A | 1 | 0.017334
exit1_pass | 6d8369a3 | generic.local.sh | PASS | True | False | False | 1 | 0.020802
returncode_list_mismatch | 866fd8e4 | generic.local.sh | FAIL | False | False | False | 2 | 0.017478
returncode_int_match | e9556b16 | generic.local.sh | PASS | True | False | False | 128 | 0.021757
Passed Tests: 4/8 Percentage: 50.000%
Failed Tests: 4/8 Percentage: 50.000%
Writing Logfile to: /tmp/buildtest_hldlt9qt.log
A copy of logfile can be found at $BUILDTEST_ROOT/buildtest.log - /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest.log
The rebuild option expects a range between 1-50, the --rebuild=1
is equivalent
to running without --rebuild
option. We set a max limit for rebuild option to
avoid system degredation due to high workload.
If you try to exceed this bound you will get an error such as
$ buildtest build -b tutorials/pass_returncode.yml --rebuild 51
Traceback (most recent call last):
File "/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/bin/buildtest", line 17, in <module>
buildtest.main.main()
File "/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/main.py", line 108, in main
helpfilter=args.helpfilter,
File "/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/v0.11.0/buildtest/cli/build.py", line 525, in __init__
f"--rebuild {rebuild} exceeds maximum rebuild limit of 50"
buildtest.exceptions.BuildTestError: '--rebuild 51 exceeds maximum rebuild limit of 50'
Use Alternate Configuration file¶
If you want to use an alternate configuration file when building test you can use buildtest -c <config> build
.
buildtest will prefer configuration file on command line over the user configuration ($HOME/.buildtest/config.yml
). For more
details see Which configuration file does buildtest read?.
Keeping Stage Directory¶
buildtest will create setup the test environment in the stage directory where test will be executed. Once
test is complete, buildtest will remove the stage directory. If you
want to preserve the stage directory you can use buildtest build --keep-stage-dir
, this
is only useful if you want to run the test manually