You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by po...@apache.org on 2022/08/18 08:32:34 UTC
[airflow] branch main updated: Add breeze parameter test-timeout to override pytest timeouts (#25766)
This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 6c63f7c9a1 Add breeze parameter test-timeout to override pytest timeouts (#25766)
6c63f7c9a1 is described below
commit 6c63f7c9a1f09ba12e707fb6f0af3386efa6f0d5
Author: Vincent <97...@users.noreply.github.com>
AuthorDate: Thu Aug 18 04:32:12 2022 -0400
Add breeze parameter test-timeout to override pytest timeouts (#25766)
* Add breeze parameter test-timeout to override pytest timeouts
---
Dockerfile.ci | 7 +-
.../airflow_breeze/commands/testing_commands.py | 9 ++
.../commands/testing_commands_config.py | 1 +
.../airflow_breeze/utils/docker_command_utils.py | 1 +
images/breeze/output-commands-hash.txt | 2 +-
images/breeze/output_testing_tests.svg | 168 +++++++++++----------
scripts/ci/docker-compose/_docker.env | 1 +
scripts/ci/docker-compose/base.yml | 1 +
scripts/docker/entrypoint_ci.sh | 7 +-
9 files changed, 110 insertions(+), 87 deletions(-)
diff --git a/Dockerfile.ci b/Dockerfile.ci
index fe2a253ee1..ecfaf110b4 100644
--- a/Dockerfile.ci
+++ b/Dockerfile.ci
@@ -569,6 +569,7 @@ if [[ ${SKIP_ENVIRONMENT_INITIALIZATION=} != "true" ]]; then
RUN_TESTS=${RUN_TESTS:="false"}
CI=${CI:="false"}
USE_AIRFLOW_VERSION="${USE_AIRFLOW_VERSION:=""}"
+ TEST_TIMEOUT=${TEST_TIMEOUT:="60"}
if [[ ${USE_AIRFLOW_VERSION} == "" ]]; then
export PYTHONPATH=${AIRFLOW_SOURCES}
@@ -759,9 +760,9 @@ EXTRA_PYTEST_ARGS=(
# timeouts in seconds for individual tests
"--timeouts-order"
"moi"
- "--setup-timeout=60"
- "--execution-timeout=60"
- "--teardown-timeout=60"
+ "--setup-timeout=${TEST_TIMEOUT}"
+ "--execution-timeout=${TEST_TIMEOUT}"
+ "--teardown-timeout=${TEST_TIMEOUT}"
# Only display summary for non-expected case
# f - failed
# E - error
diff --git a/dev/breeze/src/airflow_breeze/commands/testing_commands.py b/dev/breeze/src/airflow_breeze/commands/testing_commands.py
index 786c6934b2..9ae90671e3 100644
--- a/dev/breeze/src/airflow_breeze/commands/testing_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/testing_commands.py
@@ -217,6 +217,12 @@ def run_with_progress(
default="All",
type=NotVerifiedBetterChoice(ALLOWED_TEST_TYPE_CHOICES),
)
+@click.option(
+ "--test-timeout",
+ help="Test timeout. Set the pytest setup, execution and teardown timeouts to this value",
+ default="60",
+ show_default=True,
+)
@option_db_reset
@click.argument('extra_pytest_args', nargs=-1, type=click.UNPROCESSED)
def tests(
@@ -231,6 +237,7 @@ def tests(
integration: Tuple,
extra_pytest_args: Tuple,
test_type: str,
+ test_timeout: str,
db_reset: bool,
image_tag: Optional[str],
mount_sources: str,
@@ -253,6 +260,8 @@ def tests(
if "[" in test_type and not test_type.startswith("Providers"):
get_console().print("[error]Only 'Providers' test type can specify actual tests with \\[\\][/]")
sys.exit(1)
+ if test_timeout:
+ env_variables["TEST_TIMEOUT"] = test_timeout
if integration:
if "trino" in integration:
integration = integration + ("kerberos",)
diff --git a/dev/breeze/src/airflow_breeze/commands/testing_commands_config.py b/dev/breeze/src/airflow_breeze/commands/testing_commands_config.py
index 90a3e20348..e44e8500fd 100644
--- a/dev/breeze/src/airflow_breeze/commands/testing_commands_config.py
+++ b/dev/breeze/src/airflow_breeze/commands/testing_commands_config.py
@@ -27,6 +27,7 @@ TESTING_PARAMETERS: Dict[str, List[Dict[str, Union[str, List[str]]]]] = {
"options": [
"--integration",
"--test-type",
+ "--test-timeout",
"--db-reset",
"--backend",
"--python",
diff --git a/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py b/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py
index b7cad90303..b7f32337a9 100644
--- a/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py
+++ b/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py
@@ -593,6 +593,7 @@ def update_expected_environment_variables(env: Dict[str, str]) -> None:
set_value_to_default_if_not_set(env, 'SKIP_ENVIRONMENT_INITIALIZATION', "false")
set_value_to_default_if_not_set(env, 'SKIP_SSH_SETUP', "false")
set_value_to_default_if_not_set(env, 'TEST_TYPE', "")
+ set_value_to_default_if_not_set(env, 'TEST_TIMEOUT', "60")
set_value_to_default_if_not_set(env, 'UPGRADE_TO_NEWER_DEPENDENCIES', "false")
set_value_to_default_if_not_set(env, 'USE_PACKAGES_FROM_DIST', "false")
set_value_to_default_if_not_set(env, 'VERBOSE', "false")
diff --git a/images/breeze/output-commands-hash.txt b/images/breeze/output-commands-hash.txt
index 76c49e8682..af6780245b 100644
--- a/images/breeze/output-commands-hash.txt
+++ b/images/breeze/output-commands-hash.txt
@@ -57,7 +57,7 @@ start-airflow:3e793b11dc2158c54bfc189bfe20d6f2
static-checks:03e96245e60c225ed94514ad7b42ceb0
stop:8ebd8a42f1003495d37b884de5ac7ce6
testing:chain:68934a3e9455fa72420237eb05902327
-testing:commands:470be9efe36272d49d4d43acb34b6fe5
+testing:commands:c56d4fed05849ebfca609bd725200582
testing:deprecated:68934a3e9455fa72420237eb05902327
testing:epilog:37a6259cc0c1dae299a7866489dff0bd
testing:help:590a1f3d30c4015a1df4acb1a622c66d
diff --git a/images/breeze/output_testing_tests.svg b/images/breeze/output_testing_tests.svg
index 0168ab61e1..80e9bc2560 100644
--- a/images/breeze/output_testing_tests.svg
+++ b/images/breeze/output_testing_tests.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 855.1999999999999" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 904.0" xmlns="http://www.w3.org/2000/svg">
<!-- Generated with Rich https://www.textualize.io -->
<style>
@@ -19,173 +19,181 @@
font-weight: 700;
}
- .terminal-2523094625-matrix {
+ .terminal-63872827-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2523094625-title {
+ .terminal-63872827-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2523094625-r1 { fill: #c5c8c6;font-weight: bold }
-.terminal-2523094625-r2 { fill: #c5c8c6 }
-.terminal-2523094625-r3 { fill: #d0b344;font-weight: bold }
-.terminal-2523094625-r4 { fill: #868887 }
-.terminal-2523094625-r5 { fill: #68a0b3;font-weight: bold }
-.terminal-2523094625-r6 { fill: #8d7b39 }
-.terminal-2523094625-r7 { fill: #98a84b;font-weight: bold }
+ .terminal-63872827-r1 { fill: #c5c8c6;font-weight: bold }
+.terminal-63872827-r2 { fill: #c5c8c6 }
+.terminal-63872827-r3 { fill: #d0b344;font-weight: bold }
+.terminal-63872827-r4 { fill: #868887 }
+.terminal-63872827-r5 { fill: #68a0b3;font-weight: bold }
+.terminal-63872827-r6 { fill: #8d7b39 }
+.terminal-63872827-r7 { fill: #98a84b;font-weight: bold }
</style>
<defs>
- <clipPath id="terminal-2523094625-clip-terminal">
- <rect x="0" y="0" width="1463.0" height="804.1999999999999" />
+ <clipPath id="terminal-63872827-clip-terminal">
+ <rect x="0" y="0" width="1463.0" height="853.0" />
</clipPath>
- <clipPath id="terminal-2523094625-line-0">
+ <clipPath id="terminal-63872827-line-0">
<rect x="0" y="1.5" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-1">
+<clipPath id="terminal-63872827-line-1">
<rect x="0" y="25.9" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-2">
+<clipPath id="terminal-63872827-line-2">
<rect x="0" y="50.3" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-3">
+<clipPath id="terminal-63872827-line-3">
<rect x="0" y="74.7" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-4">
+<clipPath id="terminal-63872827-line-4">
<rect x="0" y="99.1" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-5">
+<clipPath id="terminal-63872827-line-5">
<rect x="0" y="123.5" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-6">
+<clipPath id="terminal-63872827-line-6">
<rect x="0" y="147.9" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-7">
+<clipPath id="terminal-63872827-line-7">
<rect x="0" y="172.3" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-8">
+<clipPath id="terminal-63872827-line-8">
<rect x="0" y="196.7" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-9">
+<clipPath id="terminal-63872827-line-9">
<rect x="0" y="221.1" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-10">
+<clipPath id="terminal-63872827-line-10">
<rect x="0" y="245.5" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-11">
+<clipPath id="terminal-63872827-line-11">
<rect x="0" y="269.9" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-12">
+<clipPath id="terminal-63872827-line-12">
<rect x="0" y="294.3" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-13">
+<clipPath id="terminal-63872827-line-13">
<rect x="0" y="318.7" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-14">
+<clipPath id="terminal-63872827-line-14">
<rect x="0" y="343.1" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-15">
+<clipPath id="terminal-63872827-line-15">
<rect x="0" y="367.5" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-16">
+<clipPath id="terminal-63872827-line-16">
<rect x="0" y="391.9" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-17">
+<clipPath id="terminal-63872827-line-17">
<rect x="0" y="416.3" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-18">
+<clipPath id="terminal-63872827-line-18">
<rect x="0" y="440.7" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-19">
+<clipPath id="terminal-63872827-line-19">
<rect x="0" y="465.1" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-20">
+<clipPath id="terminal-63872827-line-20">
<rect x="0" y="489.5" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-21">
+<clipPath id="terminal-63872827-line-21">
<rect x="0" y="513.9" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-22">
+<clipPath id="terminal-63872827-line-22">
<rect x="0" y="538.3" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-23">
+<clipPath id="terminal-63872827-line-23">
<rect x="0" y="562.7" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-24">
+<clipPath id="terminal-63872827-line-24">
<rect x="0" y="587.1" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-25">
+<clipPath id="terminal-63872827-line-25">
<rect x="0" y="611.5" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-26">
+<clipPath id="terminal-63872827-line-26">
<rect x="0" y="635.9" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-27">
+<clipPath id="terminal-63872827-line-27">
<rect x="0" y="660.3" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-28">
+<clipPath id="terminal-63872827-line-28">
<rect x="0" y="684.7" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-29">
+<clipPath id="terminal-63872827-line-29">
<rect x="0" y="709.1" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-30">
+<clipPath id="terminal-63872827-line-30">
<rect x="0" y="733.5" width="1464" height="24.65"/>
</clipPath>
-<clipPath id="terminal-2523094625-line-31">
+<clipPath id="terminal-63872827-line-31">
<rect x="0" y="757.9" width="1464" height="24.65"/>
</clipPath>
+<clipPath id="terminal-63872827-line-32">
+ <rect x="0" y="782.3" width="1464" height="24.65"/>
+ </clipPath>
+<clipPath id="terminal-63872827-line-33">
+ <rect x="0" y="806.7" width="1464" height="24.65"/>
+ </clipPath>
</defs>
- <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="853.2" rx="8"/><text class="terminal-2523094625-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command: testing tests</text>
+ <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="902" rx="8"/><text class="terminal-63872827-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command: testing tests</text>
<g transform="translate(26,22)">
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
<circle cx="44" cy="0" r="7" fill="#28c840"/>
</g>
- <g transform="translate(9, 41)" clip-path="url(#terminal-2523094625-clip-terminal)">
+ <g transform="translate(9, 41)" clip-path="url(#terminal-63872827-clip-terminal)">
- <g class="terminal-2523094625-matrix">
- <text class="terminal-2523094625-r2" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-2523094625-line-0)">
-</text><text class="terminal-2523094625-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#terminal-2523094625-line-1)">Usage: </text><text class="terminal-2523094625-r1" x="97.6" y="44.4" textLength="646.6" clip-path="url(#terminal-2523094625-line-1)">breeze testing tests [OPTIONS] [EXTRA_PYTEST_ARGS]...</text><text class="terminal-2523094625-r2" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-2523094625-line-1)">
-</text><text class="terminal-2523094625-r2" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-2523094625-line-2)">
-</text><text class="terminal-2523094625-r2" x="12.2" y="93.2" textLength="439.2" clip-path="url(#terminal-2523094625-line-3)">Run the specified unit test targets.</text><text class="terminal-2523094625-r2" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-2523094625-line-3)">
-</text><text class="terminal-2523094625-r2" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-2523094625-line-4)">
-</text><text class="terminal-2523094625-r4" x="0" y="142" textLength="24.4" clip-path="url(#terminal-2523094625-line-5)">╭─</text><text class="terminal-2523094625-r4" x="24.4" y="142" textLength="1415.2" clip-path="url(#terminal-2523094625-line-5)"> Basic flag for tests command ──────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-2523094625-r4" x="1439.6" y="142" textLength="24.4" clip-path="url(# [...]
-</text><text class="terminal-2523094625-r4" x="0" y="166.4" textLength="12.2" clip-path="url(#terminal-2523094625-line-6)">│</text><text class="terminal-2523094625-r5" x="24.4" y="166.4" textLength="12.2" clip-path="url(#terminal-2523094625-line-6)">-</text><text class="terminal-2523094625-r5" x="36.6" y="166.4" textLength="146.4" clip-path="url(#terminal-2523094625-line-6)">-integration</text><text class="terminal-2523094625-r2" x="317.2" y="166.4" textLength="1110.2" clip-path="url(#te [...]
-</text><text class="terminal-2523094625-r4" x="0" y="190.8" textLength="12.2" clip-path="url(#terminal-2523094625-line-7)">│</text><text class="terminal-2523094625-r6" x="317.2" y="190.8" textLength="1110.2" clip-path="url(#terminal-2523094625-line-7)">(cassandra | kerberos | mongo | openldap | pinot | rabbitmq | redis | statsd | trino | all)</text><text class="terminal-2523094625-r4" x="1451.8" y=" [...]
-</text><text class="terminal-2523094625-r4" x="0" y="215.2" textLength="12.2" clip-path="url(#terminal-2523094625-line-8)">│</text><text class="terminal-2523094625-r5" x="24.4" y="215.2" textLength="12.2" clip-path="url(#terminal-2523094625-line-8)">-</text><text class="terminal-2523094625-r5" x="36.6" y="215.2" textLength="61" clip-path="url(#terminal-2523094625-line-8)">-test</text><text class="terminal-2523094625-r5" x="97.6" y="215.2" textLength="61" clip-path="url(#terminal-25230946 [...]
-</text><text class="terminal-2523094625-r4" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-2523094625-line-9)">│</text><text class="terminal-2523094625-r2" x="317.2" y="239.6" textLength="341.6" clip-path="url(#terminal-2523094625-line-9)">should be run - for example </text><text class="terminal-2523094625-r5" x="658.8" y="239.6" textLength="12.2" clip-path="url(#terminal-2523094625-line-9)">-</text><text class="terminal-2523094625-r5" x="671" y= [...]
-</text><text class="terminal-2523094625-r4" x="0" y="264" textLength="12.2" clip-path="url(#terminal-2523094625-line-10)">│</text><text class="terminal-2523094625-r6" x="317.2" y="264" textLength="1122.4" clip-path="url(#terminal-2523094625-line-10)">(All | Always | API | Always | CLI | Core | Integration | Other | Providers | WWW | Helm |  </text><text class="terminal-25230 [...]
-</text><text class="terminal-2523094625-r4" x="0" y="288.4" textLength="12.2" clip-path="url(#terminal-2523094625-line-11)">│</text><text class="terminal-2523094625-r6" x="317.2" y="288.4" textLength="1122.4" clip-path="url(#terminal-2523094625-line-11)">Postgres | MySQL | Integration | Other | Quarantine)                        & [...]
-</text><text class="terminal-2523094625-r4" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-2523094625-line-12)">│</text><text class="terminal-2523094625-r5" x="24.4" y="312.8" textLength="12.2" clip-path="url(#terminal-2523094625-line-12)">-</text><text class="terminal-2523094625-r5" x="36.6" y="312.8" textLength="36.6" clip-path="url(#terminal-2523094625-line-12)">-db</text><text class="terminal-2523094625-r5" x="73.2" y="312.8" textLength="73.2" clip-path="url(#terminal-252 [...]
-</text><text class="terminal-2523094625-r4" x="0" y="337.2" textLength="12.2" clip-path="url(#terminal-2523094625-line-13)">│</text><text class="terminal-2523094625-r5" x="24.4" y="337.2" textLength="12.2" clip-path="url(#terminal-2523094625-line-13)">-</text><text class="terminal-2523094625-r5" x="36.6" y="337.2" textLength="97.6" clip-path="url(#terminal-2523094625-line-13)">-backend</text><text class="terminal-2523094625-r7" x="268.4" y="337.2" textLength="24.4" clip-path="url(#termin [...]
-</text><text class="terminal-2523094625-r4" x="0" y="361.6" textLength="12.2" clip-path="url(#terminal-2523094625-line-14)">│</text><text class="terminal-2523094625-r5" x="24.4" y="361.6" textLength="12.2" clip-path="url(#terminal-2523094625-line-14)">-</text><text class="terminal-2523094625-r5" x="36.6" y="361.6" textLength="85.4" clip-path="url(#terminal-2523094625-line-14)">-python</text><text class="terminal-2523094625-r7" x="268.4" y="361.6" textLength="24.4" clip-path="url(#termina [...]
-</text><text class="terminal-2523094625-r4" x="0" y="386" textLength="12.2" clip-path="url(#terminal-2523094625-line-15)">│</text><text class="terminal-2523094625-r4" x="317.2" y="386" textLength="732" clip-path="url(#terminal-2523094625-line-15)">[default: 3.7]                                      [...]
-</text><text class="terminal-2523094625-r4" x="0" y="410.4" textLength="12.2" clip-path="url(#terminal-2523094625-line-16)">│</text><text class="terminal-2523094625-r5" x="24.4" y="410.4" textLength="12.2" clip-path="url(#terminal-2523094625-line-16)">-</text><text class="terminal-2523094625-r5" x="36.6" y="410.4" textLength="109.8" clip-path="url(#terminal-2523094625-line-16)">-postgres</text><text class="terminal-2523094625-r5" x="146.4" y="410.4" textLength="97.6" clip-path="url(#term [...]
-</text><text class="terminal-2523094625-r4" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-2523094625-line-17)">│</text><text class="terminal-2523094625-r5" x="24.4" y="434.8" textLength="12.2" clip-path="url(#terminal-2523094625-line-17)">-</text><text class="terminal-2523094625-r5" x="36.6" y="434.8" textLength="73.2" clip-path="url(#terminal-2523094625-line-17)">-mysql</text><text class="terminal-2523094625-r5" x="109.8" y="434.8" textLength="97.6" clip-path="url(#terminal [...]
-</text><text class="terminal-2523094625-r4" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-2523094625-line-18)">│</text><text class="terminal-2523094625-r5" x="24.4" y="459.2" textLength="12.2" clip-path="url(#terminal-2523094625-line-18)">-</text><text class="terminal-2523094625-r5" x="36.6" y="459.2" textLength="73.2" clip-path="url(#terminal-2523094625-line-18)">-mssql</text><text class="terminal-2523094625-r5" x="109.8" y="459.2" textLength="97.6" clip-path="url(#terminal [...]
-</text><text class="terminal-2523094625-r4" x="0" y="483.6" textLength="1464" clip-path="url(#terminal-2523094625-line-19)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-2523094625-r2" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-2523094625-line-19)">
-</text><text class="terminal-2523094625-r4" x="0" y="508" textLength="24.4" clip-path="url(#terminal-2523094625-line-20)">╭─</text><text class="terminal-2523094625-r4" x="24.4" y="508" textLength="1415.2" clip-path="url(#terminal-2523094625-line-20)"> Advanced flag for tests command ───────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-2523094625-r4" x="1439.6" y="508" textLength="24.4" clip-path="url [...]
-</text><text class="terminal-2523094625-r4" x="0" y="532.4" textLength="12.2" clip-path="url(#terminal-2523094625-line-21)">│</text><text class="terminal-2523094625-r5" x="24.4" y="532.4" textLength="12.2" clip-path="url(#terminal-2523094625-line-21)">-</text><text class="terminal-2523094625-r5" x="36.6" y="532.4" textLength="73.2" clip-path="url(#terminal-2523094625-line-21)">-limit</text><text class="terminal-2523094625-r5" x="109.8" y="532.4" textLength="195.2" clip-path="url(#termina [...]
-</text><text class="terminal-2523094625-r4" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-2523094625-line-22)">│</text><text class="terminal-2523094625-r5" x="24.4" y="556.8" textLength="12.2" clip-path="url(#terminal-2523094625-line-22)">-</text><text class="terminal-2523094625-r5" x="36.6" y="556.8" textLength="73.2" clip-path="url(#terminal-2523094625-line-22)">-image</text><text class="terminal-2523094625-r5" x="109.8" y="556.8" textLength="48.8" clip-path="url(#terminal [...]
-</text><text class="terminal-2523094625-r4" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-2523094625-line-23)">│</text><text class="terminal-2523094625-r5" x="24.4" y="581.2" textLength="12.2" clip-path="url(#terminal-2523094625-line-23)">-</text><text class="terminal-2523094625-r5" x="36.6" y="581.2" textLength="73.2" clip-path="url(#terminal-2523094625-line-23)">-mount</text><text class="terminal-2523094625-r5" x="109.8" y="581.2" textLength="97.6" clip-path="url(#terminal [...]
-</text><text class="terminal-2523094625-r4" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-2523094625-line-24)">│</text><text class="terminal-2523094625-r2" x="378.2" y="605.6" textLength="1061.4" clip-path="url(#terminal-2523094625-line-24)">selected).                                       [...]
-</text><text class="terminal-2523094625-r4" x="0" y="630" textLength="12.2" clip-path="url(#terminal-2523094625-line-25)">│</text><text class="terminal-2523094625-r6" x="378.2" y="630" textLength="1061.4" clip-path="url(#terminal-2523094625-line-25)">(selected | all | skip | remove)                               [...]
-</text><text class="terminal-2523094625-r4" x="0" y="654.4" textLength="12.2" clip-path="url(#terminal-2523094625-line-26)">│</text><text class="terminal-2523094625-r4" x="378.2" y="654.4" textLength="1061.4" clip-path="url(#terminal-2523094625-line-26)">[default: selected]                                    [...]
-</text><text class="terminal-2523094625-r4" x="0" y="678.8" textLength="1464" clip-path="url(#terminal-2523094625-line-27)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-2523094625-r2" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-2523094625-line-27)">
-</text><text class="terminal-2523094625-r4" x="0" y="703.2" textLength="24.4" clip-path="url(#terminal-2523094625-line-28)">╭─</text><text class="terminal-2523094625-r4" x="24.4" y="703.2" textLength="1415.2" clip-path="url(#terminal-2523094625-line-28)"> Common options ────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-2523094625-r4" x="1439.6" y="703.2" textLength="24.4" clip-path="url(#termina [...]
-</text><text class="terminal-2523094625-r4" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-2523094625-line-29)">│</text><text class="terminal-2523094625-r5" x="24.4" y="727.6" textLength="12.2" clip-path="url(#terminal-2523094625-line-29)">-</text><text class="terminal-2523094625-r5" x="36.6" y="727.6" textLength="48.8" clip-path="url(#terminal-2523094625-line-29)">-dry</text><text class="terminal-2523094625-r5" x="85.4" y="727.6" textLength="48.8" clip-path="url(#terminal-25 [...]
-</text><text class="terminal-2523094625-r4" x="0" y="752" textLength="12.2" clip-path="url(#terminal-2523094625-line-30)">│</text><text class="terminal-2523094625-r5" x="24.4" y="752" textLength="12.2" clip-path="url(#terminal-2523094625-line-30)">-</text><text class="terminal-2523094625-r5" x="36.6" y="752" textLength="97.6" clip-path="url(#terminal-2523094625-line-30)">-verbose</text><text class="terminal-2523094625-r7" x="158.6" y="752" textLength="24.4" clip-path="url(#terminal-25230 [...]
-</text><text class="terminal-2523094625-r4" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-2523094625-line-31)">│</text><text class="terminal-2523094625-r5" x="24.4" y="776.4" textLength="12.2" clip-path="url(#terminal-2523094625-line-31)">-</text><text class="terminal-2523094625-r5" x="36.6" y="776.4" textLength="61" clip-path="url(#terminal-2523094625-line-31)">-help</text><text class="terminal-2523094625-r7" x="158.6" y="776.4" textLength="24.4" clip-path="url(#terminal-25 [...]
-</text><text class="terminal-2523094625-r4" x="0" y="800.8" textLength="1464" clip-path="url(#terminal-2523094625-line-32)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-2523094625-r2" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-2523094625-line-32)">
+ <g class="terminal-63872827-matrix">
+ <text class="terminal-63872827-r2" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-63872827-line-0)">
+</text><text class="terminal-63872827-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#terminal-63872827-line-1)">Usage: </text><text class="terminal-63872827-r1" x="97.6" y="44.4" textLength="646.6" clip-path="url(#terminal-63872827-line-1)">breeze testing tests [OPTIONS] [EXTRA_PYTEST_ARGS]...</text><text class="terminal-63872827-r2" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-63872827-line-1)">
+</text><text class="terminal-63872827-r2" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-63872827-line-2)">
+</text><text class="terminal-63872827-r2" x="12.2" y="93.2" textLength="439.2" clip-path="url(#terminal-63872827-line-3)">Run the specified unit test targets.</text><text class="terminal-63872827-r2" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-63872827-line-3)">
+</text><text class="terminal-63872827-r2" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-63872827-line-4)">
+</text><text class="terminal-63872827-r4" x="0" y="142" textLength="24.4" clip-path="url(#terminal-63872827-line-5)">╭─</text><text class="terminal-63872827-r4" x="24.4" y="142" textLength="1415.2" clip-path="url(#terminal-63872827-line-5)"> Basic flag for tests command ──────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-63872827-r4" x="1439.6" y="142" textLength="24.4" clip-path="url(#terminal-6 [...]
+</text><text class="terminal-63872827-r4" x="0" y="166.4" textLength="12.2" clip-path="url(#terminal-63872827-line-6)">│</text><text class="terminal-63872827-r5" x="24.4" y="166.4" textLength="12.2" clip-path="url(#terminal-63872827-line-6)">-</text><text class="terminal-63872827-r5" x="36.6" y="166.4" textLength="146.4" clip-path="url(#terminal-63872827-line-6)">-integration</text><text class="terminal-63872827-r2" x="317.2" y="166.4" textLength="1110.2" clip-path="url(#terminal-6387282 [...]
+</text><text class="terminal-63872827-r4" x="0" y="190.8" textLength="12.2" clip-path="url(#terminal-63872827-line-7)">│</text><text class="terminal-63872827-r6" x="317.2" y="190.8" textLength="1110.2" clip-path="url(#terminal-63872827-line-7)">(cassandra | kerberos | mongo | openldap | pinot | rabbitmq | redis | statsd | trino | all)</text><text class="terminal-63872827-r4" x="1451.8" y="190.8" tex [...]
+</text><text class="terminal-63872827-r4" x="0" y="215.2" textLength="12.2" clip-path="url(#terminal-63872827-line-8)">│</text><text class="terminal-63872827-r5" x="24.4" y="215.2" textLength="12.2" clip-path="url(#terminal-63872827-line-8)">-</text><text class="terminal-63872827-r5" x="36.6" y="215.2" textLength="61" clip-path="url(#terminal-63872827-line-8)">-test</text><text class="terminal-63872827-r5" x="97.6" y="215.2" textLength="61" clip-path="url(#terminal-63872827-line-8)">-typ [...]
+</text><text class="terminal-63872827-r4" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-63872827-line-9)">│</text><text class="terminal-63872827-r2" x="317.2" y="239.6" textLength="341.6" clip-path="url(#terminal-63872827-line-9)">should be run - for example </text><text class="terminal-63872827-r5" x="658.8" y="239.6" textLength="12.2" clip-path="url(#terminal-63872827-line-9)">-</text><text class="terminal-63872827-r5" x="671" y="239.6" textLe [...]
+</text><text class="terminal-63872827-r4" x="0" y="264" textLength="12.2" clip-path="url(#terminal-63872827-line-10)">│</text><text class="terminal-63872827-r6" x="317.2" y="264" textLength="1122.4" clip-path="url(#terminal-63872827-line-10)">(All | Always | API | Always | CLI | Core | Integration | Other | Providers | WWW | Helm |  </text><text class="terminal-63872827-r4" [...]
+</text><text class="terminal-63872827-r4" x="0" y="288.4" textLength="12.2" clip-path="url(#terminal-63872827-line-11)">│</text><text class="terminal-63872827-r6" x="317.2" y="288.4" textLength="1122.4" clip-path="url(#terminal-63872827-line-11)">Postgres | MySQL | Integration | Other | Quarantine)                          [...]
+</text><text class="terminal-63872827-r4" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-63872827-line-12)">│</text><text class="terminal-63872827-r5" x="24.4" y="312.8" textLength="12.2" clip-path="url(#terminal-63872827-line-12)">-</text><text class="terminal-63872827-r5" x="36.6" y="312.8" textLength="61" clip-path="url(#terminal-63872827-line-12)">-test</text><text class="terminal-63872827-r5" x="97.6" y="312.8" textLength="97.6" clip-path="url(#terminal-63872827-line-12) [...]
+</text><text class="terminal-63872827-r4" x="0" y="337.2" textLength="12.2" clip-path="url(#terminal-63872827-line-13)">│</text><text class="terminal-63872827-r4" x="317.2" y="337.2" textLength="988.2" clip-path="url(#terminal-63872827-line-13)">[default: 60]                                       [...]
+</text><text class="terminal-63872827-r4" x="0" y="361.6" textLength="12.2" clip-path="url(#terminal-63872827-line-14)">│</text><text class="terminal-63872827-r5" x="24.4" y="361.6" textLength="12.2" clip-path="url(#terminal-63872827-line-14)">-</text><text class="terminal-63872827-r5" x="36.6" y="361.6" textLength="36.6" clip-path="url(#terminal-63872827-line-14)">-db</text><text class="terminal-63872827-r5" x="73.2" y="361.6" textLength="73.2" clip-path="url(#terminal-63872827-line-14) [...]
+</text><text class="terminal-63872827-r4" x="0" y="386" textLength="12.2" clip-path="url(#terminal-63872827-line-15)">│</text><text class="terminal-63872827-r5" x="24.4" y="386" textLength="12.2" clip-path="url(#terminal-63872827-line-15)">-</text><text class="terminal-63872827-r5" x="36.6" y="386" textLength="97.6" clip-path="url(#terminal-63872827-line-15)">-backend</text><text class="terminal-63872827-r7" x="268.4" y="386" textLength="24.4" clip-path="url(#terminal-63872827-line-15)"> [...]
+</text><text class="terminal-63872827-r4" x="0" y="410.4" textLength="12.2" clip-path="url(#terminal-63872827-line-16)">│</text><text class="terminal-63872827-r5" x="24.4" y="410.4" textLength="12.2" clip-path="url(#terminal-63872827-line-16)">-</text><text class="terminal-63872827-r5" x="36.6" y="410.4" textLength="85.4" clip-path="url(#terminal-63872827-line-16)">-python</text><text class="terminal-63872827-r7" x="268.4" y="410.4" textLength="24.4" clip-path="url(#terminal-63872827-lin [...]
+</text><text class="terminal-63872827-r4" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-63872827-line-17)">│</text><text class="terminal-63872827-r4" x="317.2" y="434.8" textLength="732" clip-path="url(#terminal-63872827-line-17)">[default: 3.7]                                      & [...]
+</text><text class="terminal-63872827-r4" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-63872827-line-18)">│</text><text class="terminal-63872827-r5" x="24.4" y="459.2" textLength="12.2" clip-path="url(#terminal-63872827-line-18)">-</text><text class="terminal-63872827-r5" x="36.6" y="459.2" textLength="109.8" clip-path="url(#terminal-63872827-line-18)">-postgres</text><text class="terminal-63872827-r5" x="146.4" y="459.2" textLength="97.6" clip-path="url(#terminal-63872827- [...]
+</text><text class="terminal-63872827-r4" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-63872827-line-19)">│</text><text class="terminal-63872827-r5" x="24.4" y="483.6" textLength="12.2" clip-path="url(#terminal-63872827-line-19)">-</text><text class="terminal-63872827-r5" x="36.6" y="483.6" textLength="73.2" clip-path="url(#terminal-63872827-line-19)">-mysql</text><text class="terminal-63872827-r5" x="109.8" y="483.6" textLength="97.6" clip-path="url(#terminal-63872827-line [...]
+</text><text class="terminal-63872827-r4" x="0" y="508" textLength="12.2" clip-path="url(#terminal-63872827-line-20)">│</text><text class="terminal-63872827-r5" x="24.4" y="508" textLength="12.2" clip-path="url(#terminal-63872827-line-20)">-</text><text class="terminal-63872827-r5" x="36.6" y="508" textLength="73.2" clip-path="url(#terminal-63872827-line-20)">-mssql</text><text class="terminal-63872827-r5" x="109.8" y="508" textLength="97.6" clip-path="url(#terminal-63872827-line-20)">-v [...]
+</text><text class="terminal-63872827-r4" x="0" y="532.4" textLength="1464" clip-path="url(#terminal-63872827-line-21)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-63872827-r2" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-63872827-line-21)">
+</text><text class="terminal-63872827-r4" x="0" y="556.8" textLength="24.4" clip-path="url(#terminal-63872827-line-22)">╭─</text><text class="terminal-63872827-r4" x="24.4" y="556.8" textLength="1415.2" clip-path="url(#terminal-63872827-line-22)"> Advanced flag for tests command ───────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-63872827-r4" x="1439.6" y="556.8" textLength="24.4" clip-path="url(#te [...]
+</text><text class="terminal-63872827-r4" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-63872827-line-23)">│</text><text class="terminal-63872827-r5" x="24.4" y="581.2" textLength="12.2" clip-path="url(#terminal-63872827-line-23)">-</text><text class="terminal-63872827-r5" x="36.6" y="581.2" textLength="73.2" clip-path="url(#terminal-63872827-line-23)">-limit</text><text class="terminal-63872827-r5" x="109.8" y="581.2" textLength="195.2" clip-path="url(#terminal-63872827-lin [...]
+</text><text class="terminal-63872827-r4" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-63872827-line-24)">│</text><text class="terminal-63872827-r5" x="24.4" y="605.6" textLength="12.2" clip-path="url(#terminal-63872827-line-24)">-</text><text class="terminal-63872827-r5" x="36.6" y="605.6" textLength="73.2" clip-path="url(#terminal-63872827-line-24)">-image</text><text class="terminal-63872827-r5" x="109.8" y="605.6" textLength="48.8" clip-path="url(#terminal-63872827-line [...]
+</text><text class="terminal-63872827-r4" x="0" y="630" textLength="12.2" clip-path="url(#terminal-63872827-line-25)">│</text><text class="terminal-63872827-r5" x="24.4" y="630" textLength="12.2" clip-path="url(#terminal-63872827-line-25)">-</text><text class="terminal-63872827-r5" x="36.6" y="630" textLength="73.2" clip-path="url(#terminal-63872827-line-25)">-mount</text><text class="terminal-63872827-r5" x="109.8" y="630" textLength="97.6" clip-path="url(#terminal-63872827-line-25)">-s [...]
+</text><text class="terminal-63872827-r4" x="0" y="654.4" textLength="12.2" clip-path="url(#terminal-63872827-line-26)">│</text><text class="terminal-63872827-r2" x="378.2" y="654.4" textLength="1061.4" clip-path="url(#terminal-63872827-line-26)">selected).                                       & [...]
+</text><text class="terminal-63872827-r4" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-63872827-line-27)">│</text><text class="terminal-63872827-r6" x="378.2" y="678.8" textLength="1061.4" clip-path="url(#terminal-63872827-line-27)">(selected | all | skip | remove)                               [...]
+</text><text class="terminal-63872827-r4" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-63872827-line-28)">│</text><text class="terminal-63872827-r4" x="378.2" y="703.2" textLength="1061.4" clip-path="url(#terminal-63872827-line-28)">[default: selected]                                      [...]
+</text><text class="terminal-63872827-r4" x="0" y="727.6" textLength="1464" clip-path="url(#terminal-63872827-line-29)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-63872827-r2" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-63872827-line-29)">
+</text><text class="terminal-63872827-r4" x="0" y="752" textLength="24.4" clip-path="url(#terminal-63872827-line-30)">╭─</text><text class="terminal-63872827-r4" x="24.4" y="752" textLength="1415.2" clip-path="url(#terminal-63872827-line-30)"> Common options ────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-63872827-r4" x="1439.6" y="752" textLength="24.4" clip-path="url(#terminal-63872827-line- [...]
+</text><text class="terminal-63872827-r4" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-63872827-line-31)">│</text><text class="terminal-63872827-r5" x="24.4" y="776.4" textLength="12.2" clip-path="url(#terminal-63872827-line-31)">-</text><text class="terminal-63872827-r5" x="36.6" y="776.4" textLength="48.8" clip-path="url(#terminal-63872827-line-31)">-dry</text><text class="terminal-63872827-r5" x="85.4" y="776.4" textLength="48.8" clip-path="url(#terminal-63872827-line-31 [...]
+</text><text class="terminal-63872827-r4" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-63872827-line-32)">│</text><text class="terminal-63872827-r5" x="24.4" y="800.8" textLength="12.2" clip-path="url(#terminal-63872827-line-32)">-</text><text class="terminal-63872827-r5" x="36.6" y="800.8" textLength="97.6" clip-path="url(#terminal-63872827-line-32)">-verbose</text><text class="terminal-63872827-r7" x="158.6" y="800.8" textLength="24.4" clip-path="url(#terminal-63872827-li [...]
+</text><text class="terminal-63872827-r4" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-63872827-line-33)">│</text><text class="terminal-63872827-r5" x="24.4" y="825.2" textLength="12.2" clip-path="url(#terminal-63872827-line-33)">-</text><text class="terminal-63872827-r5" x="36.6" y="825.2" textLength="61" clip-path="url(#terminal-63872827-line-33)">-help</text><text class="terminal-63872827-r7" x="158.6" y="825.2" textLength="24.4" clip-path="url(#terminal-63872827-line-33 [...]
+</text><text class="terminal-63872827-r4" x="0" y="849.6" textLength="1464" clip-path="url(#terminal-63872827-line-34)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-63872827-r2" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-63872827-line-34)">
</text>
</g>
</g>
diff --git a/scripts/ci/docker-compose/_docker.env b/scripts/ci/docker-compose/_docker.env
index 97fbe8e288..88c7f4cd77 100644
--- a/scripts/ci/docker-compose/_docker.env
+++ b/scripts/ci/docker-compose/_docker.env
@@ -63,6 +63,7 @@ START_AIRFLOW
SKIP_CONSTRAINTS
SKIP_ENVIRONMENT_INITIALIZATION
SKIP_SSH_SETUP
+TEST_TIMEOUT
TEST_TYPE
UPGRADE_TO_NEWER_DEPENDENCIES
VERBOSE
diff --git a/scripts/ci/docker-compose/base.yml b/scripts/ci/docker-compose/base.yml
index 156b4061b5..7e96c4dd4c 100644
--- a/scripts/ci/docker-compose/base.yml
+++ b/scripts/ci/docker-compose/base.yml
@@ -77,6 +77,7 @@ services:
- SKIP_ENVIRONMENT_INITIALIZATION=${SKIP_ENVIRONMENT_INITIALIZATION}
- SKIP_SSH_SETUP=${SKIP_SSH_SETUP}
- TEST_TYPE=${TEST_TYPE}
+ - TEST_TIMEOUT=${TEST_TIMEOUT}
- UPGRADE_TO_NEWER_DEPENDENCIES=${UPGRADE_TO_NEWER_DEPENDENCIES}
- VERBOSE=${VERBOSE}
- VERBOSE_COMMANDS=${VERBOSE_COMMANDS}
diff --git a/scripts/docker/entrypoint_ci.sh b/scripts/docker/entrypoint_ci.sh
index 8284920a46..c0da2e0aae 100755
--- a/scripts/docker/entrypoint_ci.sh
+++ b/scripts/docker/entrypoint_ci.sh
@@ -65,6 +65,7 @@ if [[ ${SKIP_ENVIRONMENT_INITIALIZATION=} != "true" ]]; then
RUN_TESTS=${RUN_TESTS:="false"}
CI=${CI:="false"}
USE_AIRFLOW_VERSION="${USE_AIRFLOW_VERSION:=""}"
+ TEST_TIMEOUT=${TEST_TIMEOUT:="60"}
if [[ ${USE_AIRFLOW_VERSION} == "" ]]; then
export PYTHONPATH=${AIRFLOW_SOURCES}
@@ -256,9 +257,9 @@ EXTRA_PYTEST_ARGS=(
# timeouts in seconds for individual tests
"--timeouts-order"
"moi"
- "--setup-timeout=60"
- "--execution-timeout=60"
- "--teardown-timeout=60"
+ "--setup-timeout=${TEST_TIMEOUT}"
+ "--execution-timeout=${TEST_TIMEOUT}"
+ "--teardown-timeout=${TEST_TIMEOUT}"
# Only display summary for non-expected case
# f - failed
# E - error