Running Test Across Multiple Executors
The executor property can support regular expression to search for compatible
executors, this can be used if you want to run a test across multiple executors. In buildtest,
we use re.fullmatch with the input
pattern defined by executor property against a list of available executors defined in configuration file.
You can retrieve a list of executors by running buildtest config executors list
.
In example below we will run this test on generic.local.bash and generic.local.sh executor based on the regular expression.
buildspecs:
multiple_executors:
type: script
executor: 'generic.local.(bash|sh)'
description: run test with executor generic.local.bash and generic.local.sh executor
tags: [tutorials]
run: date
If we build this test, notice that there are two tests, one for each executor.
buildtest build -b tutorials/multi_executors/executor_regex_script.yml
$ buildtest build -b tutorials/multi_executors/executor_regex_script.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│ │
│ User: docs │
│ Hostname: build-24413851-project-280831-buildtest │
│ Platform: Linux │
│ Current Time: 2024/05/17 18:00:53 │
│ buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version: 2.0 │
│ python path: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version: 3.9.18 │
│ Configuration File: /tmp/tmp75qnqx26/config.yml │
│ Test Directory: /tmp/tmp75qnqx26/var/tests │
│ Report File: /tmp/tmp75qnqx26/var/report.json │
│ Command: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
─────────────────────────── Discovering Buildspecs ────────────────────────────
Discovered buildspecs
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/ ║
║ tutorials/multi_executors/executor_regex_script.yml ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1 ║
╚══════════════════════════════════════════════════════════════════════════════╝
Total Discovered Buildspecs: 1
Total Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tutorials/multi_executors/executor_regex_script.yml: VALID
Total builder objects created: 2
Builders by type=script
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ descript ┃ buildsp ┃
┃ builder ┃ type ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion ┃ ecs ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ multiple │ script │ generic. │ None │ None │ None │ run test │ /home/d │
│ _executo │ │ local.ba │ │ │ │ with │ ocs/che │
│ rs/830b9 │ │ sh │ │ │ │ executor │ ckouts/ │
│ 756 │ │ │ │ │ │ generic. │ readthe │
│ │ │ │ │ │ │ local.ba │ docs.or │
│ │ │ │ │ │ │ sh and │ g/user_ │
│ │ │ │ │ │ │ generic. │ builds/ │
│ │ │ │ │ │ │ local.sh │ buildte │
│ │ │ │ │ │ │ │ st/chec │
│ │ │ │ │ │ │ executor │ kouts/l │
│ │ │ │ │ │ │ │ atest/t │
│ │ │ │ │ │ │ │ utorial │
│ │ │ │ │ │ │ │ s/multi │
│ │ │ │ │ │ │ │ _execut │
│ │ │ │ │ │ │ │ ors/exe │
│ │ │ │ │ │ │ │ cutor_r │
│ │ │ │ │ │ │ │ egex_sc │
│ │ │ │ │ │ │ │ ript.ym │
│ │ │ │ │ │ │ │ l │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ multiple │ script │ generic. │ None │ None │ None │ run test │ /home/d │
│ _executo │ │ local.sh │ │ │ │ with │ ocs/che │
│ rs/cd10c │ │ │ │ │ │ executor │ ckouts/ │
│ b80 │ │ │ │ │ │ generic. │ readthe │
│ │ │ │ │ │ │ local.ba │ docs.or │
│ │ │ │ │ │ │ sh and │ g/user_ │
│ │ │ │ │ │ │ generic. │ builds/ │
│ │ │ │ │ │ │ local.sh │ buildte │
│ │ │ │ │ │ │ │ st/chec │
│ │ │ │ │ │ │ executor │ kouts/l │
│ │ │ │ │ │ │ │ atest/t │
│ │ │ │ │ │ │ │ utorial │
│ │ │ │ │ │ │ │ s/multi │
│ │ │ │ │ │ │ │ _execut │
│ │ │ │ │ │ │ │ ors/exe │
│ │ │ │ │ │ │ │ cutor_r │
│ │ │ │ │ │ │ │ egex_sc │
│ │ │ │ │ │ │ │ ript.ym │
│ │ │ │ │ │ │ │ l │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
multiple_executors/830b9756: Creating Test Directory: /tmp/tmp75qnqx26/var/tests/generic.local.bash/executor_regex_script/multiple_executors/830b9756
multiple_executors/cd10cb80: Creating Test Directory: /tmp/tmp75qnqx26/var/tests/generic.local.sh/executor_regex_script/multiple_executors/cd10cb80
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
multiple_executors/cd10cb80 does not have any dependencies adding test to queue
multiple_executors/830b9756 does not have any dependencies adding test to queue
Builders Eligible to Run
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ multiple_executors/cd10cb80 │
│ multiple_executors/830b9756 │
└─────────────────────────────┘
multiple_executors/cd10cb80: Current Working Directory : /tmp/tmp75qnqx26/var/tests/generic.local.sh/executor_regex_script/multiple_executors/cd10cb80/stage
multiple_executors/cd10cb80: Running Test via command: bash multiple_executors_build.sh
──────────────── Output Message for multiple_executors/cd10cb80 ────────────────
Fri May 17 18:00:53 UTC 2024
multiple_executors/cd10cb80: Test completed in 0.057476 seconds with returncode: 0
multiple_executors/cd10cb80: Writing output file - /tmp/tmp75qnqx26/var/tests/generic.local.sh/executor_regex_script/multiple_executors/cd10cb80/multiple_executors.out
multiple_executors/cd10cb80: Writing error file - /tmp/tmp75qnqx26/var/tests/generic.local.sh/executor_regex_script/multiple_executors/cd10cb80/multiple_executors.err
multiple_executors/cd10cb80: Running Post Run Script: /tmp/tmp75qnqx26/var/tests/generic.local.sh/executor_regex_script/multiple_executors/cd10cb80/stage/multiple_executors_postrun.sh
multiple_executors/cd10cb80: Post run script exit code: 1
───────────── multiple_executors/cd10cb80: Post Run Script Output ──────────────
────────────── multiple_executors/cd10cb80: Post Run Script Error ──────────────
/tmp/tmp75qnqx26/var/tests/generic.local.sh/executor_regex_script/multiple_executors/cd10cb80/stage/multiple_executors_postrun.sh not found.
multiple_executors/830b9756: Current Working Directory : /tmp/tmp75qnqx26/var/tests/generic.local.bash/executor_regex_script/multiple_executors/830b9756/stage
multiple_executors/830b9756: Running Test via command: bash multiple_executors_build.sh
──────────────── Output Message for multiple_executors/830b9756 ────────────────
Fri May 17 18:00:53 UTC 2024
multiple_executors/830b9756: Test completed in 0.008641 seconds with returncode: 0
multiple_executors/830b9756: Writing output file - /tmp/tmp75qnqx26/var/tests/generic.local.bash/executor_regex_script/multiple_executors/830b9756/multiple_executors.out
multiple_executors/830b9756: Writing error file - /tmp/tmp75qnqx26/var/tests/generic.local.bash/executor_regex_script/multiple_executors/830b9756/multiple_executors.err
multiple_executors/830b9756: Running Post Run Script: /tmp/tmp75qnqx26/var/tests/generic.local.bash/executor_regex_script/multiple_executors/830b9756/stage/multiple_executors_postrun.sh
multiple_executors/830b9756: Post run script exit code: 1
───────────── multiple_executors/830b9756: Post Run Script Output ──────────────
────────────── multiple_executors/830b9756: Post Run Script Error ──────────────
/tmp/tmp75qnqx26/var/tests/generic.local.bash/executor_regex_script/multiple_executors/830b9756/stage/multiple_executors_postrun.sh not found.
Test Summary
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder ┃ executor ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ multiple_executors/830b │ generic.local.bash │ PASS │ 0 │ 0.009 │
│ 9756 │ │ │ │ │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ multiple_executors/cd10 │ generic.local.sh │ PASS │ 0 │ 0.057 │
│ cb80 │ │ │ │ │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘
Passed Tests: 2/2 Percentage: 100.000%
Failed Tests: 0/2 Percentage: 0.000%
Adding 2 test results to report file: /tmp/tmp75qnqx26/var/report.json
Writing Logfile to /tmp/tmp75qnqx26/var/logs/buildtest_nl2audef.log
Multiple Executors
Note
This feature is in active development
Note
This feature is compatible with type: script
and type: spack
.
The executors
property can be used to define executor specific configuration
for each test, currently this field can be used with vars, env
, scheduler directives: sbatch
, bsub
, pbs
, and cray burst buffer/data warp.
The executors
field is a JSON object that expects name of executor followed by property set per executor. In this next example,
we define variables X
, Y
and environment SHELL
based on executors generic.local.sh and generic.local.bash.
buildspecs:
executors_vars_env_declaration:
type: script
executor: 'generic.local.(bash|sh)'
description: Declaring env and vars by executors section
tags: [tutorials]
run: |
echo "X:" $X
echo "Y:" $Y
echo $SHELL
executors:
generic.local.bash:
vars:
X: 1
Y: 3
env:
SHELL: bash
generic.local.sh:
vars:
X: 2
Y: 4
env:
SHELL: sh
Let’s build this test.
buildtest build -b tutorials/multi_executors/executors_var_env_declaration.yml
$ buildtest build -b tutorials/multi_executors/executors_var_env_declaration.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│ │
│ User: docs │
│ Hostname: build-24413851-project-280831-buildtest │
│ Platform: Linux │
│ Current Time: 2024/05/17 18:00:54 │
│ buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version: 2.0 │
│ python path: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version: 3.9.18 │
│ Configuration File: /tmp/tmp75qnqx26/config.yml │
│ Test Directory: /tmp/tmp75qnqx26/var/tests │
│ Report File: /tmp/tmp75qnqx26/var/report.json │
│ Command: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
─────────────────────────── Discovering Buildspecs ────────────────────────────
Discovered buildspecs
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/ ║
║ tutorials/multi_executors/executors_var_env_declaration.yml ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1 ║
╚══════════════════════════════════════════════════════════════════════════════╝
Total Discovered Buildspecs: 1
Total Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tutorials/multi_executors/executors_var_env_declaration.yml: VALID
Total builder objects created: 2
Builders by type=script
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ descript ┃ buildsp ┃
┃ builder ┃ type ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion ┃ ecs ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ executor │ script │ generic. │ None │ None │ None │ Declarin │ /home/d │
│ s_vars_e │ │ local.ba │ │ │ │ g env │ ocs/che │
│ nv_decla │ │ sh │ │ │ │ and vars │ ckouts/ │
│ ration/4 │ │ │ │ │ │ by │ readthe │
│ 25b02be │ │ │ │ │ │ executor │ docs.or │
│ │ │ │ │ │ │ s │ g/user_ │
│ │ │ │ │ │ │ section │ builds/ │
│ │ │ │ │ │ │ │ buildte │
│ │ │ │ │ │ │ │ st/chec │
│ │ │ │ │ │ │ │ kouts/l │
│ │ │ │ │ │ │ │ atest/t │
│ │ │ │ │ │ │ │ utorial │
│ │ │ │ │ │ │ │ s/multi │
│ │ │ │ │ │ │ │ _execut │
│ │ │ │ │ │ │ │ ors/exe │
│ │ │ │ │ │ │ │ cutors_ │
│ │ │ │ │ │ │ │ var_env │
│ │ │ │ │ │ │ │ _declar │
│ │ │ │ │ │ │ │ ation.y │
│ │ │ │ │ │ │ │ ml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ executor │ script │ generic. │ None │ None │ None │ Declarin │ /home/d │
│ s_vars_e │ │ local.sh │ │ │ │ g env │ ocs/che │
│ nv_decla │ │ │ │ │ │ and vars │ ckouts/ │
│ ration/3 │ │ │ │ │ │ by │ readthe │
│ bae0ad4 │ │ │ │ │ │ executor │ docs.or │
│ │ │ │ │ │ │ s │ g/user_ │
│ │ │ │ │ │ │ section │ builds/ │
│ │ │ │ │ │ │ │ buildte │
│ │ │ │ │ │ │ │ st/chec │
│ │ │ │ │ │ │ │ kouts/l │
│ │ │ │ │ │ │ │ atest/t │
│ │ │ │ │ │ │ │ utorial │
│ │ │ │ │ │ │ │ s/multi │
│ │ │ │ │ │ │ │ _execut │
│ │ │ │ │ │ │ │ ors/exe │
│ │ │ │ │ │ │ │ cutors_ │
│ │ │ │ │ │ │ │ var_env │
│ │ │ │ │ │ │ │ _declar │
│ │ │ │ │ │ │ │ ation.y │
│ │ │ │ │ │ │ │ ml │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
executors_vars_env_declaration/425b02be: Creating Test Directory: /tmp/tmp75qnqx26/var/tests/generic.local.bash/executors_var_env_declaration/executors_vars_env_declaration/425b02be
executors_vars_env_declaration/3bae0ad4: Creating Test Directory: /tmp/tmp75qnqx26/var/tests/generic.local.sh/executors_var_env_declaration/executors_vars_env_declaration/3bae0ad4
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
executors_vars_env_declaration/3bae0ad4 does not have any dependencies adding test to queue
executors_vars_env_declaration/425b02be does not have any dependencies adding test to queue
Builders Eligible to Run
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ executors_vars_env_declaration/3bae0ad4 │
│ executors_vars_env_declaration/425b02be │
└─────────────────────────────────────────┘
executors_vars_env_declaration/3bae0ad4: Current Working Directory : /tmp/tmp75qnqx26/var/tests/generic.local.sh/executors_var_env_declaration/executors_vars_env_declaration/3bae0ad4/stage
executors_vars_env_declaration/3bae0ad4: Running Test via command: bash executors_vars_env_declaration_build.sh
────────── Output Message for executors_vars_env_declaration/3bae0ad4 ──────────
X: 2
Y: 4
sh
executors_vars_env_declaration/3bae0ad4: Test completed in 0.006997 seconds with returncode: 0
executors_vars_env_declaration/3bae0ad4: Writing output file - /tmp/tmp75qnqx26/var/tests/generic.local.sh/executors_var_env_declaration/executors_vars_env_declaration/3bae0ad4/executors_vars_env_declaration.out
executors_vars_env_declaration/3bae0ad4: Writing error file - /tmp/tmp75qnqx26/var/tests/generic.local.sh/executors_var_env_declaration/executors_vars_env_declaration/3bae0ad4/executors_vars_env_declaration.err
executors_vars_env_declaration/3bae0ad4: Running Post Run Script: /tmp/tmp75qnqx26/var/tests/generic.local.sh/executors_var_env_declaration/executors_vars_env_declaration/3bae0ad4/stage/executors_vars_env_declaration_postrun.sh
executors_vars_env_declaration/3bae0ad4: Post run script exit code: 1
─────── executors_vars_env_declaration/3bae0ad4: Post Run Script Output ────────
──────── executors_vars_env_declaration/3bae0ad4: Post Run Script Error ────────
/tmp/tmp75qnqx26/var/tests/generic.local.sh/executors_var_env_declaration/executors_vars_env_declaration/3bae0ad4/stage/executors_vars_env_declaration_postrun.sh not found.
executors_vars_env_declaration/425b02be: Current Working Directory : /tmp/tmp75qnqx26/var/tests/generic.local.bash/executors_var_env_declaration/executors_vars_env_declaration/425b02be/stage
executors_vars_env_declaration/425b02be: Running Test via command: bash executors_vars_env_declaration_build.sh
────────── Output Message for executors_vars_env_declaration/425b02be ──────────
X: 1
Y: 3
bash
executors_vars_env_declaration/425b02be: Test completed in 0.007568 seconds with returncode: 0
executors_vars_env_declaration/425b02be: Writing output file - /tmp/tmp75qnqx26/var/tests/generic.local.bash/executors_var_env_declaration/executors_vars_env_declaration/425b02be/executors_vars_env_declaration.out
executors_vars_env_declaration/425b02be: Writing error file - /tmp/tmp75qnqx26/var/tests/generic.local.bash/executors_var_env_declaration/executors_vars_env_declaration/425b02be/executors_vars_env_declaration.err
executors_vars_env_declaration/425b02be: Running Post Run Script: /tmp/tmp75qnqx26/var/tests/generic.local.bash/executors_var_env_declaration/executors_vars_env_declaration/425b02be/stage/executors_vars_env_declaration_postrun.sh
executors_vars_env_declaration/425b02be: Post run script exit code: 1
─────── executors_vars_env_declaration/425b02be: Post Run Script Output ────────
──────── executors_vars_env_declaration/425b02be: Post Run Script Error ────────
/tmp/tmp75qnqx26/var/tests/generic.local.bash/executors_var_env_declaration/executors_vars_env_declaration/425b02be/stage/executors_vars_env_declaration_postrun.sh not found.
Test Summary
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder ┃ executor ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ executors_vars_env_decl │ generic.local.bash │ PASS │ 0 │ 0.008 │
│ aration/425b02be │ │ │ │ │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ executors_vars_env_decl │ generic.local.sh │ PASS │ 0 │ 0.007 │
│ aration/3bae0ad4 │ │ │ │ │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘
Passed Tests: 2/2 Percentage: 100.000%
Failed Tests: 0/2 Percentage: 0.000%
Adding 2 test results to report file: /tmp/tmp75qnqx26/var/report.json
Writing Logfile to /tmp/tmp75qnqx26/var/logs/buildtest_o_y_5rt1.log
Now let’s look at the generated content of the test as follows. We will see that buildtest will
set X=1, Y=3 and SHELL=bash for generic.local.bash
and X=2, Y=4 and SHELL=sh for
generic.local.sh
buildtest inspect query -t executors_vars_env_declaration/
$ buildtest inspect query -t executors_vars_env_declaration/
───── executors_vars_env_declaration/425b02be-4734-48f3-8bb1-3dd0e00bdec4 ──────
Executor: generic.local.bash
Description: Declaring env and vars by executors section
State: PASS
Returncode: 0
Runtime: 0.007568 sec
Starttime: 2024/05/17 18:00:54
Endtime: 2024/05/17 18:00:54
Command: bash executors_vars_env_declaration_build.sh
Test Script: /tmp/tmp75qnqx26/var/tests/generic.local.bash/executors_var_env_declaration/executors_vars_env_declaration/425b02be/executors_vars_env_declaration.sh
Build Script: /tmp/tmp75qnqx26/var/tests/generic.local.bash/executors_var_env_declaration/executors_vars_env_declaration/425b02be/executors_vars_env_declaration_build.sh
Output File: /tmp/tmp75qnqx26/var/tests/generic.local.bash/executors_var_env_declaration/executors_vars_env_declaration/425b02be/executors_vars_env_declaration.out
Error File: /tmp/tmp75qnqx26/var/tests/generic.local.bash/executors_var_env_declaration/executors_vars_env_declaration/425b02be/executors_vars_env_declaration.err
Log File: /tmp/tmp75qnqx26/var/logs/buildtest_o_y_5rt1.log
─ Test File: /tmp/tmp75qnqx26/var/tests/generic.local.bash/executors_var_env… ─
#!/usr/bin/bash
export SHELL="bash"
X="1"
Y="3"
# Content of run section
echo "X:" $X
echo "Y:" $Y
echo $SHELL
───── executors_vars_env_declaration/3bae0ad4-f7b3-485e-a122-670a71b62963 ──────
Executor: generic.local.sh
Description: Declaring env and vars by executors section
State: PASS
Returncode: 0
Runtime: 0.006997 sec
Starttime: 2024/05/17 18:00:54
Endtime: 2024/05/17 18:00:54
Command: bash executors_vars_env_declaration_build.sh
Test Script: /tmp/tmp75qnqx26/var/tests/generic.local.sh/executors_var_env_declaration/executors_vars_env_declaration/3bae0ad4/executors_vars_env_declaration.sh
Build Script: /tmp/tmp75qnqx26/var/tests/generic.local.sh/executors_var_env_declaration/executors_vars_env_declaration/3bae0ad4/executors_vars_env_declaration_build.sh
Output File: /tmp/tmp75qnqx26/var/tests/generic.local.sh/executors_var_env_declaration/executors_vars_env_declaration/3bae0ad4/executors_vars_env_declaration.out
Error File: /tmp/tmp75qnqx26/var/tests/generic.local.sh/executors_var_env_declaration/executors_vars_env_declaration/3bae0ad4/executors_vars_env_declaration.err
Log File: /tmp/tmp75qnqx26/var/logs/buildtest_o_y_5rt1.log
─ Test File: /tmp/tmp75qnqx26/var/tests/generic.local.sh/executors_var_env_d… ─
#!/usr/bin/sh
export SHELL="sh"
X="2"
Y="4"
# Content of run section
echo "X:" $X
echo "Y:" $Y
echo $SHELL
Scheduler Directives
We can also define scheduler directives based on executor type, in this example we define
sbatch
property per executor type. Note that sbatch
property in the executors
section
will override the sbatch
property defined in the top-level file otherwise it will use the default.
buildspecs:
executors_sbatch_declaration:
type: script
executor: 'generic.local.(bash|sh)'
description: Declaring env and vars by executors section
tags: [tutorials]
run: hostname
sbatch: ["-N 4"]
executors:
generic.local.bash:
sbatch: ["-n 4", "-N 1", "-t 30"]
generic.local.sh:
sbatch: ["-n 8", "-N 1", "-t 60"]
buildtest build -b tutorials/multi_executors/executor_scheduler.yml
$ buildtest build -b tutorials/multi_executors/executor_scheduler.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│ │
│ User: docs │
│ Hostname: build-24413851-project-280831-buildtest │
│ Platform: Linux │
│ Current Time: 2024/05/17 18:00:55 │
│ buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version: 2.0 │
│ python path: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version: 3.9.18 │
│ Configuration File: /tmp/tmp75qnqx26/config.yml │
│ Test Directory: /tmp/tmp75qnqx26/var/tests │
│ Report File: /tmp/tmp75qnqx26/var/report.json │
│ Command: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
─────────────────────────── Discovering Buildspecs ────────────────────────────
Discovered buildspecs
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/ ║
║ tutorials/multi_executors/executor_scheduler.yml ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1 ║
╚══════════════════════════════════════════════════════════════════════════════╝
Total Discovered Buildspecs: 1
Total Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tutorials/multi_executors/executor_scheduler.yml: VALID
Total builder objects created: 2
Builders by type=script
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ descript ┃ buildsp ┃
┃ builder ┃ type ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion ┃ ecs ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ executor │ script │ generic. │ None │ None │ None │ Declarin │ /home/d │
│ s_sbatch │ │ local.ba │ │ │ │ g env │ ocs/che │
│ _declara │ │ sh │ │ │ │ and vars │ ckouts/ │
│ tion/1a7 │ │ │ │ │ │ by │ readthe │
│ 37886 │ │ │ │ │ │ executor │ docs.or │
│ │ │ │ │ │ │ s │ g/user_ │
│ │ │ │ │ │ │ section │ builds/ │
│ │ │ │ │ │ │ │ buildte │
│ │ │ │ │ │ │ │ st/chec │
│ │ │ │ │ │ │ │ kouts/l │
│ │ │ │ │ │ │ │ atest/t │
│ │ │ │ │ │ │ │ utorial │
│ │ │ │ │ │ │ │ s/multi │
│ │ │ │ │ │ │ │ _execut │
│ │ │ │ │ │ │ │ ors/exe │
│ │ │ │ │ │ │ │ cutor_s │
│ │ │ │ │ │ │ │ chedule │
│ │ │ │ │ │ │ │ r.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ executor │ script │ generic. │ None │ None │ None │ Declarin │ /home/d │
│ s_sbatch │ │ local.sh │ │ │ │ g env │ ocs/che │
│ _declara │ │ │ │ │ │ and vars │ ckouts/ │
│ tion/eb0 │ │ │ │ │ │ by │ readthe │
│ 2422f │ │ │ │ │ │ executor │ docs.or │
│ │ │ │ │ │ │ s │ g/user_ │
│ │ │ │ │ │ │ section │ builds/ │
│ │ │ │ │ │ │ │ buildte │
│ │ │ │ │ │ │ │ st/chec │
│ │ │ │ │ │ │ │ kouts/l │
│ │ │ │ │ │ │ │ atest/t │
│ │ │ │ │ │ │ │ utorial │
│ │ │ │ │ │ │ │ s/multi │
│ │ │ │ │ │ │ │ _execut │
│ │ │ │ │ │ │ │ ors/exe │
│ │ │ │ │ │ │ │ cutor_s │
│ │ │ │ │ │ │ │ chedule │
│ │ │ │ │ │ │ │ r.yml │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
executors_sbatch_declaration/1a737886: Creating Test Directory: /tmp/tmp75qnqx26/var/tests/generic.local.bash/executor_scheduler/executors_sbatch_declaration/1a737886
executors_sbatch_declaration/eb02422f: Creating Test Directory: /tmp/tmp75qnqx26/var/tests/generic.local.sh/executor_scheduler/executors_sbatch_declaration/eb02422f
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
executors_sbatch_declaration/1a737886 does not have any dependencies adding test to queue
executors_sbatch_declaration/eb02422f does not have any dependencies adding test to queue
Builders Eligible to Run
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ executors_sbatch_declaration/1a737886 │
│ executors_sbatch_declaration/eb02422f │
└───────────────────────────────────────┘
executors_sbatch_declaration/1a737886: Current Working Directory : /tmp/tmp75qnqx26/var/tests/generic.local.bash/executor_scheduler/executors_sbatch_declaration/1a737886/stage
executors_sbatch_declaration/1a737886: Running Test via command: bash executors_sbatch_declaration_build.sh
─────────── Output Message for executors_sbatch_declaration/1a737886 ───────────
build-24413851-project-280831-buildtest
executors_sbatch_declaration/1a737886: Test completed in 0.008287 seconds with returncode: 0
executors_sbatch_declaration/1a737886: Writing output file - /tmp/tmp75qnqx26/var/tests/generic.local.bash/executor_scheduler/executors_sbatch_declaration/1a737886/executors_sbatch_declaration.out
executors_sbatch_declaration/1a737886: Writing error file - /tmp/tmp75qnqx26/var/tests/generic.local.bash/executor_scheduler/executors_sbatch_declaration/1a737886/executors_sbatch_declaration.err
executors_sbatch_declaration/1a737886: Running Post Run Script: /tmp/tmp75qnqx26/var/tests/generic.local.bash/executor_scheduler/executors_sbatch_declaration/1a737886/stage/executors_sbatch_declaration_postrun.sh
executors_sbatch_declaration/1a737886: Post run script exit code: 1
──────── executors_sbatch_declaration/1a737886: Post Run Script Output ─────────
───────── executors_sbatch_declaration/1a737886: Post Run Script Error ─────────
/tmp/tmp75qnqx26/var/tests/generic.local.bash/executor_scheduler/executors_sbatch_declaration/1a737886/stage/executors_sbatch_declaration_postrun.sh not found.
executors_sbatch_declaration/eb02422f: Current Working Directory : /tmp/tmp75qnqx26/var/tests/generic.local.sh/executor_scheduler/executors_sbatch_declaration/eb02422f/stage
executors_sbatch_declaration/eb02422f: Running Test via command: bash executors_sbatch_declaration_build.sh
─────────── Output Message for executors_sbatch_declaration/eb02422f ───────────
build-24413851-project-280831-buildtest
executors_sbatch_declaration/eb02422f: Test completed in 0.006886 seconds with returncode: 0
executors_sbatch_declaration/eb02422f: Writing output file - /tmp/tmp75qnqx26/var/tests/generic.local.sh/executor_scheduler/executors_sbatch_declaration/eb02422f/executors_sbatch_declaration.out
executors_sbatch_declaration/eb02422f: Writing error file - /tmp/tmp75qnqx26/var/tests/generic.local.sh/executor_scheduler/executors_sbatch_declaration/eb02422f/executors_sbatch_declaration.err
executors_sbatch_declaration/eb02422f: Running Post Run Script: /tmp/tmp75qnqx26/var/tests/generic.local.sh/executor_scheduler/executors_sbatch_declaration/eb02422f/stage/executors_sbatch_declaration_postrun.sh
executors_sbatch_declaration/eb02422f: Post run script exit code: 1
──────── executors_sbatch_declaration/eb02422f: Post Run Script Output ─────────
───────── executors_sbatch_declaration/eb02422f: Post Run Script Error ─────────
/tmp/tmp75qnqx26/var/tests/generic.local.sh/executor_scheduler/executors_sbatch_declaration/eb02422f/stage/executors_sbatch_declaration_postrun.sh not found.
Test Summary
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder ┃ executor ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ executors_sbatch_declar │ generic.local.sh │ PASS │ 0 │ 0.007 │
│ ation/eb02422f │ │ │ │ │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ executors_sbatch_declar │ generic.local.bash │ PASS │ 0 │ 0.008 │
│ ation/1a737886 │ │ │ │ │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘
Passed Tests: 2/2 Percentage: 100.000%
Failed Tests: 0/2 Percentage: 0.000%
Adding 2 test results to report file: /tmp/tmp75qnqx26/var/report.json
Writing Logfile to /tmp/tmp75qnqx26/var/logs/buildtest_sxb5yfnk.log
If we inspect this test, we will see each each test have different #SBATCH
directives for each test
based on the sbatch
property defined in the executors
field.
buildtest inspect query -t executors_sbatch_declaration/
$ buildtest inspect query -t executors_sbatch_declaration/
────── executors_sbatch_declaration/eb02422f-8bc2-4738-8980-c87cc95ca0be ───────
Executor: generic.local.sh
Description: Declaring env and vars by executors section
State: PASS
Returncode: 0
Runtime: 0.006886 sec
Starttime: 2024/05/17 18:00:55
Endtime: 2024/05/17 18:00:55
Command: bash executors_sbatch_declaration_build.sh
Test Script: /tmp/tmp75qnqx26/var/tests/generic.local.sh/executor_scheduler/executors_sbatch_declaration/eb02422f/executors_sbatch_declaration.sh
Build Script: /tmp/tmp75qnqx26/var/tests/generic.local.sh/executor_scheduler/executors_sbatch_declaration/eb02422f/executors_sbatch_declaration_build.sh
Output File: /tmp/tmp75qnqx26/var/tests/generic.local.sh/executor_scheduler/executors_sbatch_declaration/eb02422f/executors_sbatch_declaration.out
Error File: /tmp/tmp75qnqx26/var/tests/generic.local.sh/executor_scheduler/executors_sbatch_declaration/eb02422f/executors_sbatch_declaration.err
Log File: /tmp/tmp75qnqx26/var/logs/buildtest_sxb5yfnk.log
─ Test File: /tmp/tmp75qnqx26/var/tests/generic.local.sh/executor_scheduler/… ─
#!/usr/bin/sh
#SBATCH -n 8
#SBATCH -N 1
#SBATCH -t 60
#SBATCH --job-name=executors_sbatch_declaration
#SBATCH --output=executors_sbatch_declaration.out
#SBATCH --error=executors_sbatch_declaration.err
# Content of run section
hostname
────── executors_sbatch_declaration/1a737886-b62f-4f09-85a7-315438f12ec2 ───────
Executor: generic.local.bash
Description: Declaring env and vars by executors section
State: PASS
Returncode: 0
Runtime: 0.008287 sec
Starttime: 2024/05/17 18:00:55
Endtime: 2024/05/17 18:00:55
Command: bash executors_sbatch_declaration_build.sh
Test Script: /tmp/tmp75qnqx26/var/tests/generic.local.bash/executor_scheduler/executors_sbatch_declaration/1a737886/executors_sbatch_declaration.sh
Build Script: /tmp/tmp75qnqx26/var/tests/generic.local.bash/executor_scheduler/executors_sbatch_declaration/1a737886/executors_sbatch_declaration_build.sh
Output File: /tmp/tmp75qnqx26/var/tests/generic.local.bash/executor_scheduler/executors_sbatch_declaration/1a737886/executors_sbatch_declaration.out
Error File: /tmp/tmp75qnqx26/var/tests/generic.local.bash/executor_scheduler/executors_sbatch_declaration/1a737886/executors_sbatch_declaration.err
Log File: /tmp/tmp75qnqx26/var/logs/buildtest_sxb5yfnk.log
─ Test File: /tmp/tmp75qnqx26/var/tests/generic.local.bash/executor_schedule… ─
#!/usr/bin/bash
#SBATCH -n 4
#SBATCH -N 1
#SBATCH -t 30
#SBATCH --job-name=executors_sbatch_declaration
#SBATCH --output=executors_sbatch_declaration.out
#SBATCH --error=executors_sbatch_declaration.err
# Content of run section
hostname
Cray Burst Buffer and Data Warp
You can also define BB
and DW
directives in the executors
field to override
cray burst buffer and data warp settings per executor. buildtest will use the fields BB
and DW
and insert the #BB
and #DW
directives in the job script. For more details
see Cray Burst Buffer & Data Warp.
buildspecs:
create_burst_buffer_executors:
type: script
executor: "generic.local.(sh|bash)"
sbatch: ["-N 1", "-t 10", "-C knl"]
description: Create a burst buffer for multiple executors
tags: [jobs]
executors:
generic.local.sh:
BB:
- create_persistent name=buffer1 capacity=10GB access_mode=striped type=scratch
DW:
- persistentdw name=buffer1
generic.local.bash:
BB:
- create_persistent name=buffer2 capacity=10GB access_mode=striped type=scratch
DW:
- persistentdw name=buffer2
run: hostname
Custom Status by Executor
The status and metrics field are supported in executors
which can be defined within the named executor. In this next example, we will define executor generic.local.bash
to
match for returncode 0 or 2 while second test will use executor generic.local.sh
to match returncode of 1.
buildspecs:
status_returncode_by_executors:
type: script
executor: "generic.local.(bash|sh)"
description: define status per executor type.
tags: [tutorials]
run: exit 0
executors:
generic.local.bash:
status:
returncode: [0, 2]
generic.local.sh:
status:
returncode: 1
Now let’s run this test and we will see the test using executor generic.local.sh will fail because we have a returncode mismatch even though both tests got a 0 returncode as its actual value.
buildtest build -b tutorials/multi_executors/status_by_executors.yml
$ buildtest build -b tutorials/multi_executors/status_by_executors.yml
╭───────────────────────────── buildtest summary ──────────────────────────────╮
│ │
│ User: docs │
│ Hostname: build-24413851-project-280831-buildtest │
│ Platform: Linux │
│ Current Time: 2024/05/17 18:00:56 │
│ buildtest path: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ buildtest version: 2.0 │
│ python path: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ python version: 3.9.18 │
│ Configuration File: /tmp/tmp75qnqx26/config.yml │
│ Test Directory: /tmp/tmp75qnqx26/var/tests │
│ Report File: /tmp/tmp75qnqx26/var/report.json │
│ Command: /home/docs/checkouts/readthedocs.org/user_builds/buildte │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
─────────────────────────── Discovering Buildspecs ────────────────────────────
Discovered buildspecs
╔══════════════════════════════════════════════════════════════════════════════╗
║ buildspec ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ /home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/ ║
║ tutorials/multi_executors/status_by_executors.yml ║
╟──────────────────────────────────────────────────────────────────────────────╢
║ Total: 1 ║
╚══════════════════════════════════════════════════════════════════════════════╝
Total Discovered Buildspecs: 1
Total Excluded Buildspecs: 0
Detected Buildspecs after exclusion: 1
────────────────────────────── Parsing Buildspecs ──────────────────────────────
Valid Buildspecs: 1
Invalid Buildspecs: 0
/home/docs/checkouts/readthedocs.org/user_builds/buildtest/checkouts/latest/tutorials/multi_executors/status_by_executors.yml: VALID
Total builder objects created: 2
Builders by type=script
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓
┃ ┃ ┃ ┃ ┃ ┃ ┃ descript ┃ buildsp ┃
┃ builder ┃ type ┃ executor ┃ compiler ┃ nodes ┃ procs ┃ ion ┃ ecs ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩
│ status_r │ script │ generic. │ None │ None │ None │ define │ /home/d │
│ eturncod │ │ local.ba │ │ │ │ status │ ocs/che │
│ e_by_exe │ │ sh │ │ │ │ per │ ckouts/ │
│ cutors/b │ │ │ │ │ │ executor │ readthe │
│ 5639978 │ │ │ │ │ │ type. │ docs.or │
│ │ │ │ │ │ │ │ g/user_ │
│ │ │ │ │ │ │ │ builds/ │
│ │ │ │ │ │ │ │ buildte │
│ │ │ │ │ │ │ │ st/chec │
│ │ │ │ │ │ │ │ kouts/l │
│ │ │ │ │ │ │ │ atest/t │
│ │ │ │ │ │ │ │ utorial │
│ │ │ │ │ │ │ │ s/multi │
│ │ │ │ │ │ │ │ _execut │
│ │ │ │ │ │ │ │ ors/sta │
│ │ │ │ │ │ │ │ tus_by_ │
│ │ │ │ │ │ │ │ executo │
│ │ │ │ │ │ │ │ rs.yml │
├──────────┼────────┼──────────┼──────────┼───────┼───────┼──────────┼─────────┤
│ status_r │ script │ generic. │ None │ None │ None │ define │ /home/d │
│ eturncod │ │ local.sh │ │ │ │ status │ ocs/che │
│ e_by_exe │ │ │ │ │ │ per │ ckouts/ │
│ cutors/c │ │ │ │ │ │ executor │ readthe │
│ 171cef4 │ │ │ │ │ │ type. │ docs.or │
│ │ │ │ │ │ │ │ g/user_ │
│ │ │ │ │ │ │ │ builds/ │
│ │ │ │ │ │ │ │ buildte │
│ │ │ │ │ │ │ │ st/chec │
│ │ │ │ │ │ │ │ kouts/l │
│ │ │ │ │ │ │ │ atest/t │
│ │ │ │ │ │ │ │ utorial │
│ │ │ │ │ │ │ │ s/multi │
│ │ │ │ │ │ │ │ _execut │
│ │ │ │ │ │ │ │ ors/sta │
│ │ │ │ │ │ │ │ tus_by_ │
│ │ │ │ │ │ │ │ executo │
│ │ │ │ │ │ │ │ rs.yml │
└──────────┴────────┴──────────┴──────────┴───────┴───────┴──────────┴─────────┘
──────────────────────────────── Building Test ─────────────────────────────────
status_returncode_by_executors/b5639978: Creating Test Directory: /tmp/tmp75qnqx26/var/tests/generic.local.bash/status_by_executors/status_returncode_by_executors/b5639978
status_returncode_by_executors/c171cef4: Creating Test Directory: /tmp/tmp75qnqx26/var/tests/generic.local.sh/status_by_executors/status_returncode_by_executors/c171cef4
──────────────────────────────── Running Tests ─────────────────────────────────
Spawning 1 processes for processing builders
───────────────────────────────── Iteration 1 ──────────────────────────────────
status_returncode_by_executors/c171cef4 does not have any dependencies adding test to queue
status_returncode_by_executors/b5639978 does not have any dependencies adding test to queue
Builders Eligible to Run
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Builder ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ status_returncode_by_executors/b5639978 │
│ status_returncode_by_executors/c171cef4 │
└─────────────────────────────────────────┘
status_returncode_by_executors/b5639978: Current Working Directory : /tmp/tmp75qnqx26/var/tests/generic.local.bash/status_by_executors/status_returncode_by_executors/b5639978/stage
status_returncode_by_executors/b5639978: Running Test via command: bash status_returncode_by_executors_build.sh
────────── Output Message for status_returncode_by_executors/b5639978 ──────────
status_returncode_by_executors/b5639978: Test completed in 0.007516 seconds with returncode: 0
status_returncode_by_executors/b5639978: Writing output file - /tmp/tmp75qnqx26/var/tests/generic.local.bash/status_by_executors/status_returncode_by_executors/b5639978/status_returncode_by_executors.out
status_returncode_by_executors/b5639978: Writing error file - /tmp/tmp75qnqx26/var/tests/generic.local.bash/status_by_executors/status_returncode_by_executors/b5639978/status_returncode_by_executors.err
status_returncode_by_executors/b5639978: Checking returncode - 0 is matched in list [0, 2]
status_returncode_by_executors/b5639978: Running Post Run Script: /tmp/tmp75qnqx26/var/tests/generic.local.bash/status_by_executors/status_returncode_by_executors/b5639978/stage/status_returncode_by_executors_postrun.sh
status_returncode_by_executors/b5639978: Post run script exit code: 1
─────── status_returncode_by_executors/b5639978: Post Run Script Output ────────
──────── status_returncode_by_executors/b5639978: Post Run Script Error ────────
/tmp/tmp75qnqx26/var/tests/generic.local.bash/status_by_executors/status_returncode_by_executors/b5639978/stage/status_returncode_by_executors_postrun.sh not found.
status_returncode_by_executors/c171cef4: Current Working Directory : /tmp/tmp75qnqx26/var/tests/generic.local.sh/status_by_executors/status_returncode_by_executors/c171cef4/stage
status_returncode_by_executors/c171cef4: Running Test via command: bash status_returncode_by_executors_build.sh
────────── Output Message for status_returncode_by_executors/c171cef4 ──────────
status_returncode_by_executors/c171cef4: Test completed in 0.006277 seconds with returncode: 0
status_returncode_by_executors/c171cef4: Writing output file - /tmp/tmp75qnqx26/var/tests/generic.local.sh/status_by_executors/status_returncode_by_executors/c171cef4/status_returncode_by_executors.out
status_returncode_by_executors/c171cef4: Writing error file - /tmp/tmp75qnqx26/var/tests/generic.local.sh/status_by_executors/status_returncode_by_executors/c171cef4/status_returncode_by_executors.err
status_returncode_by_executors/c171cef4: Checking returncode - 0 is matched in list [1]
status_returncode_by_executors/c171cef4: Running Post Run Script: /tmp/tmp75qnqx26/var/tests/generic.local.sh/status_by_executors/status_returncode_by_executors/c171cef4/stage/status_returncode_by_executors_postrun.sh
status_returncode_by_executors/c171cef4: Post run script exit code: 1
─────── status_returncode_by_executors/c171cef4: Post Run Script Output ────────
──────── status_returncode_by_executors/c171cef4: Post Run Script Error ────────
/tmp/tmp75qnqx26/var/tests/generic.local.sh/status_by_executors/status_returncode_by_executors/c171cef4/stage/status_returncode_by_executors_postrun.sh not found.
Test Summary
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━┓
┃ builder ┃ executor ┃ status ┃ returncode ┃ runtime ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━┩
│ status_returncode_by_ex │ generic.local.sh │ FAIL │ 0 │ 0.006 │
│ ecutors/c171cef4 │ │ │ │ │
├─────────────────────────┼────────────────────┼────────┼────────────┼─────────┤
│ status_returncode_by_ex │ generic.local.bash │ PASS │ 0 │ 0.008 │
│ ecutors/b5639978 │ │ │ │ │
└─────────────────────────┴────────────────────┴────────┴────────────┴─────────┘
Passed Tests: 1/2 Percentage: 50.000%
Failed Tests: 1/2 Percentage: 50.000%
Adding 2 test results to report file: /tmp/tmp75qnqx26/var/report.json
Writing Logfile to /tmp/tmp75qnqx26/var/logs/buildtest_12ucemp7.log