diff --git a/tests/tasks/uipath-human-in-the-loop/e2e_01_invoice_approval_greenfield.yaml b/tests/tasks/uipath-human-in-the-loop/e2e_01_invoice_approval_greenfield.yaml index 6de1c27eaa..0e23e770e3 100644 --- a/tests/tasks/uipath-human-in-the-loop/e2e_01_invoice_approval_greenfield.yaml +++ b/tests/tasks/uipath-human-in-the-loop/e2e_01_invoice_approval_greenfield.yaml @@ -103,7 +103,7 @@ success_criteria: - type: run_command description: "uip flow validate passes against the authored .flow file" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-human-in-the-loop/e2e_03_gdpr_compliance_greenfield.yaml b/tests/tasks/uipath-human-in-the-loop/e2e_03_gdpr_compliance_greenfield.yaml index 2cfced0562..a25979e691 100644 --- a/tests/tasks/uipath-human-in-the-loop/e2e_03_gdpr_compliance_greenfield.yaml +++ b/tests/tasks/uipath-human-in-the-loop/e2e_03_gdpr_compliance_greenfield.yaml @@ -73,7 +73,7 @@ success_criteria: - type: run_command description: "uip flow validate passes against the authored .flow file" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-human-in-the-loop/e2e_06_invoice_approval_greenfield_simple.yaml b/tests/tasks/uipath-human-in-the-loop/e2e_06_invoice_approval_greenfield_simple.yaml index 25baf00f6c..2ac6cc24ea 100644 --- a/tests/tasks/uipath-human-in-the-loop/e2e_06_invoice_approval_greenfield_simple.yaml +++ b/tests/tasks/uipath-human-in-the-loop/e2e_06_invoice_approval_greenfield_simple.yaml @@ -71,7 +71,7 @@ success_criteria: - type: run_command description: "uip flow validate passes against the authored .flow file" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-human-in-the-loop/quality_04_all_handles.yaml b/tests/tasks/uipath-human-in-the-loop/quality_04_all_handles.yaml index e443dc9e9c..b9d93adb44 100644 --- a/tests/tasks/uipath-human-in-the-loop/quality_04_all_handles.yaml +++ b/tests/tasks/uipath-human-in-the-loop/quality_04_all_handles.yaml @@ -54,7 +54,7 @@ success_criteria: - type: run_command description: "uip flow validate passes" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-human-in-the-loop/quality_05_priority_and_timeout.yaml b/tests/tasks/uipath-human-in-the-loop/quality_05_priority_and_timeout.yaml index e44aabf097..dd9849a7ef 100644 --- a/tests/tasks/uipath-human-in-the-loop/quality_05_priority_and_timeout.yaml +++ b/tests/tasks/uipath-human-in-the-loop/quality_05_priority_and_timeout.yaml @@ -49,7 +49,7 @@ success_criteria: - type: run_command description: "uip flow validate passes" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-human-in-the-loop/quality_07_runtime_vars.yaml b/tests/tasks/uipath-human-in-the-loop/quality_07_runtime_vars.yaml index 8446222971..cee06f2667 100644 --- a/tests/tasks/uipath-human-in-the-loop/quality_07_runtime_vars.yaml +++ b/tests/tasks/uipath-human-in-the-loop/quality_07_runtime_vars.yaml @@ -45,7 +45,7 @@ success_criteria: - type: run_command description: "uip flow validate passes" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-human-in-the-loop/quality_08_variable_binding_fieldid.yaml b/tests/tasks/uipath-human-in-the-loop/quality_08_variable_binding_fieldid.yaml index d1b2442f83..4c053a4830 100644 --- a/tests/tasks/uipath-human-in-the-loop/quality_08_variable_binding_fieldid.yaml +++ b/tests/tasks/uipath-human-in-the-loop/quality_08_variable_binding_fieldid.yaml @@ -40,7 +40,7 @@ success_criteria: - type: run_command description: "uip flow validate passes" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-human-in-the-loop/quality_09_dev_mistake_wrong_type.yaml b/tests/tasks/uipath-human-in-the-loop/quality_09_dev_mistake_wrong_type.yaml index e74d4acc35..438c98e593 100644 --- a/tests/tasks/uipath-human-in-the-loop/quality_09_dev_mistake_wrong_type.yaml +++ b/tests/tasks/uipath-human-in-the-loop/quality_09_dev_mistake_wrong_type.yaml @@ -38,7 +38,7 @@ success_criteria: - type: run_command description: "uip flow validate passes" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-human-in-the-loop/quality_10_dev_mistake_binding_direction.yaml b/tests/tasks/uipath-human-in-the-loop/quality_10_dev_mistake_binding_direction.yaml index b529cc1f4e..16a49bd2a1 100644 --- a/tests/tasks/uipath-human-in-the-loop/quality_10_dev_mistake_binding_direction.yaml +++ b/tests/tasks/uipath-human-in-the-loop/quality_10_dev_mistake_binding_direction.yaml @@ -47,7 +47,7 @@ success_criteria: - type: run_command description: "uip flow validate passes" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-human-in-the-loop/quality_11_inout_field_access.yaml b/tests/tasks/uipath-human-in-the-loop/quality_11_inout_field_access.yaml index 26750c2133..9e36296d53 100644 --- a/tests/tasks/uipath-human-in-the-loop/quality_11_inout_field_access.yaml +++ b/tests/tasks/uipath-human-in-the-loop/quality_11_inout_field_access.yaml @@ -39,7 +39,7 @@ success_criteria: - type: run_command description: "uip flow validate passes" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/_shared/test_criterion_budgets.py b/tests/tasks/uipath-maestro-flow/_shared/test_criterion_budgets.py index 1bdae6d2b8..5cb67d16e3 100644 --- a/tests/tasks/uipath-maestro-flow/_shared/test_criterion_budgets.py +++ b/tests/tasks/uipath-maestro-flow/_shared/test_criterion_budgets.py @@ -32,6 +32,7 @@ sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) import flow_check # noqa: E402 +import validate_flow # noqa: E402 _SUITE_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # Split on ANY criterion so a block ends at its neighbour, and stop at the next @@ -1369,3 +1370,69 @@ def test_while_condition_runs_once_more_than_the_body(tmp_path): it. Charging N left the criterion short by a whole debug_budget.""" src = f"def main():\n while {_ONE}:\n {_ONE}\n" assert _price(src, tmp=str(tmp_path)) == 485 * 2 + 485 * 1 + + +# ── validate_flow.py budget ───────────────────────────────────────────────── +# +# `flow validate` refetches the tenant node manifest on every call: 8-14s +# typical, 60-67s on the tail. validate_flow.py budgets itself at +# `_DEFAULT_BUDGET_SECONDS` because the harness exports no criterion timeout, +# so a criterion granting less is SIGKILLed on a tail hit (exit -1, empty +# stdout) before the script can retry or name the file that stalled. +# +# criterion timeout >= validate_flow._DEFAULT_BUDGET_SECONDS +# +# Every suite that runs the script is held to it. uipath-human-in-the-loop +# reaches it through `reference: {directory: ../uipath-maestro-flow}`. + +_TASKS_ROOT = os.path.dirname(_SUITE_ROOT) +_VALIDATE_SCRIPT = os.path.join(_SUITE_ROOT, "_shared", "validate_flow.py") + + +def _validate_criteria(): + """(yaml, timeout) per run_command criterion, in any suite, whose script + resolves to validate_flow.py.""" + for root, _dirs, files in os.walk(_TASKS_ROOT): + for name in files: + if not name.endswith((".yaml", ".yml")): + continue + path = os.path.join(root, name) + text = open(path).read() + for block in _criterion_blocks(text, "run_command"): + command = _COMMAND.search(block) + if not command: + continue + resolved = _script_path(root, command.group(1), text) + if resolved and os.path.samefile(resolved, _VALIDATE_SCRIPT): + yield os.path.relpath(path, _TASKS_ROOT), _criterion_seconds(block) + + +_VALIDATE_CASES = sorted(_validate_criteria()) + + +def test_every_validate_criterion_is_discovered(): + """Counted a second way so a parser regression cannot quietly shrink the set.""" + mentions = 0 + for root, _dirs, files in os.walk(_TASKS_ROOT): + for name in files: + if not name.endswith((".yaml", ".yml")): + continue + with open(os.path.join(root, name)) as f: + mentions += sum(1 for ln in f if "command:" in ln and "validate_flow.py" in ln) + assert len(_VALIDATE_CASES) == mentions, ( + f"{mentions - len(_VALIDATE_CASES)} validate_flow.py criteria went undiscovered" + ) + assert len(_VALIDATE_CASES) > 40, f"only {len(_VALIDATE_CASES)} validate_flow.py criteria found" + + +@pytest.mark.parametrize( + "yaml_path,criterion", _VALIDATE_CASES, ids=[y for y, _t in _VALIDATE_CASES] +) +def test_validate_criterion_funds_the_manifest_budget(yaml_path, criterion): + required = validate_flow._DEFAULT_BUDGET_SECONDS + assert criterion >= required, ( + f"{yaml_path} grants {criterion}s to validate_flow.py, which budgets itself at " + f"{required}s. `flow validate` refetches the tenant manifest on every call " + "(8-14s typical, 60-67s tail), so a tail hit is SIGKILLed with exit -1 and an " + f"empty stdout. Raise the criterion to {required}s." + ) diff --git a/tests/tasks/uipath-maestro-flow/connector_features/complex_array.yaml b/tests/tasks/uipath-maestro-flow/connector_features/complex_array.yaml index 177d70e1af..802ef2c6cb 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/complex_array.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/complex_array.yaml @@ -64,7 +64,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 2.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/dtl_load_by_default_false.yaml b/tests/tasks/uipath-maestro-flow/connector_features/dtl_load_by_default_false.yaml index 0dcfc52ed6..73aa3adb3f 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/dtl_load_by_default_false.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/dtl_load_by_default_false.yaml @@ -54,7 +54,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 2.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/dtl_load_by_default_true.yaml b/tests/tasks/uipath-maestro-flow/connector_features/dtl_load_by_default_true.yaml index 38128eedb5..c93274b66a 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/dtl_load_by_default_true.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/dtl_load_by_default_true.yaml @@ -63,7 +63,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 2.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/enum.yaml b/tests/tasks/uipath-maestro-flow/connector_features/enum.yaml index d9de4f47c1..29d823f98b 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/enum.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/enum.yaml @@ -82,7 +82,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 2.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/generate_schema.yaml b/tests/tasks/uipath-maestro-flow/connector_features/generate_schema.yaml index 4131582e50..c08e803f36 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/generate_schema.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/generate_schema.yaml @@ -56,7 +56,7 @@ success_criteria: - type: run_command description: "Persisted Flow artifact passes CLI validation" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 60 + timeout: 180 expected_exit_code: 0 weight: 2.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/jdbc_databricks_query/jdbc_databricks_query.yaml b/tests/tasks/uipath-maestro-flow/connector_features/jdbc_databricks_query/jdbc_databricks_query.yaml index 2d49a7653b..d53cf81b50 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/jdbc_databricks_query/jdbc_databricks_query.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/jdbc_databricks_query/jdbc_databricks_query.yaml @@ -60,7 +60,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 2.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/multiselect.yaml b/tests/tasks/uipath-maestro-flow/connector_features/multiselect.yaml index c7149d290a..33711be985 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/multiselect.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/multiselect.yaml @@ -61,7 +61,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 2.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/non-catalog-http-fallback/non_catalog_http_fallback.yaml b/tests/tasks/uipath-maestro-flow/connector_features/non-catalog-http-fallback/non_catalog_http_fallback.yaml index 0908326866..9c62f976be 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/non-catalog-http-fallback/non_catalog_http_fallback.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/non-catalog-http-fallback/non_catalog_http_fallback.yaml @@ -48,7 +48,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 2.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/path_params.yaml b/tests/tasks/uipath-maestro-flow/connector_features/path_params.yaml index 4a0e709d9e..10cae23547 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/path_params.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/path_params.yaml @@ -84,7 +84,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 2.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/query_params.yaml b/tests/tasks/uipath-maestro-flow/connector_features/query_params.yaml index bdd047bb12..cf030170ab 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/query_params.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/query_params.yaml @@ -58,7 +58,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 2.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/searchable_joins.yaml b/tests/tasks/uipath-maestro-flow/connector_features/searchable_joins.yaml index 167eff51b6..6e7ce15fb5 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/searchable_joins.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/searchable_joins.yaml @@ -54,7 +54,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 2.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/slack-http-fallback/slack_http_fallback.yaml b/tests/tasks/uipath-maestro-flow/connector_features/slack-http-fallback/slack_http_fallback.yaml index 3c32e1e2d1..90562fe98c 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/slack-http-fallback/slack_http_fallback.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/slack-http-fallback/slack_http_fallback.yaml @@ -46,7 +46,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 2.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/testmanager_attachments/testmanager_attachments.yaml b/tests/tasks/uipath-maestro-flow/connector_features/testmanager_attachments/testmanager_attachments.yaml index 6a433211ea..8b7d1abeaf 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/testmanager_attachments/testmanager_attachments.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/testmanager_attachments/testmanager_attachments.yaml @@ -66,7 +66,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 1.5 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/testmanager_crud_grounded/testmanager_crud_grounded.yaml b/tests/tasks/uipath-maestro-flow/connector_features/testmanager_crud_grounded/testmanager_crud_grounded.yaml index baea825340..8ee194ad59 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/testmanager_crud_grounded/testmanager_crud_grounded.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/testmanager_crud_grounded/testmanager_crud_grounded.yaml @@ -66,7 +66,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 1.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/testmanager_execution_results/testmanager_execution_results.yaml b/tests/tasks/uipath-maestro-flow/connector_features/testmanager_execution_results/testmanager_execution_results.yaml index 9574a4876b..6a74bf9d29 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/testmanager_execution_results/testmanager_execution_results.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/testmanager_execution_results/testmanager_execution_results.yaml @@ -71,7 +71,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 1.5 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/testmanager_generic_records/testmanager_generic_records.yaml b/tests/tasks/uipath-maestro-flow/connector_features/testmanager_generic_records/testmanager_generic_records.yaml index f6fdb6e9a6..5a76c3e868 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/testmanager_generic_records/testmanager_generic_records.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/testmanager_generic_records/testmanager_generic_records.yaml @@ -67,7 +67,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 1.5 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/testmanager_requirement_lifecycle/testmanager_requirement_lifecycle.yaml b/tests/tasks/uipath-maestro-flow/connector_features/testmanager_requirement_lifecycle/testmanager_requirement_lifecycle.yaml index cfdc7ad9bd..4067533d40 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/testmanager_requirement_lifecycle/testmanager_requirement_lifecycle.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/testmanager_requirement_lifecycle/testmanager_requirement_lifecycle.yaml @@ -68,7 +68,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 1.5 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/testmanager_testcase_lifecycle/testmanager_testcase_lifecycle.yaml b/tests/tasks/uipath-maestro-flow/connector_features/testmanager_testcase_lifecycle/testmanager_testcase_lifecycle.yaml index 4fa897927b..95ae87c3fe 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/testmanager_testcase_lifecycle/testmanager_testcase_lifecycle.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/testmanager_testcase_lifecycle/testmanager_testcase_lifecycle.yaml @@ -67,7 +67,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 1.5 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_features/testmanager_testset_lifecycle/testmanager_testset_lifecycle.yaml b/tests/tasks/uipath-maestro-flow/connector_features/testmanager_testset_lifecycle/testmanager_testset_lifecycle.yaml index 33ca8bc5f3..5e462aec9e 100644 --- a/tests/tasks/uipath-maestro-flow/connector_features/testmanager_testset_lifecycle/testmanager_testset_lifecycle.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_features/testmanager_testset_lifecycle/testmanager_testset_lifecycle.yaml @@ -69,7 +69,7 @@ success_criteria: - type: run_command description: "The completed flow validates" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 1.5 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/connector_trigger/webhook_waitfor_parallel.yaml b/tests/tasks/uipath-maestro-flow/connector_trigger/webhook_waitfor_parallel.yaml index 87260c3242..0821a6a271 100644 --- a/tests/tasks/uipath-maestro-flow/connector_trigger/webhook_waitfor_parallel.yaml +++ b/tests/tasks/uipath-maestro-flow/connector_trigger/webhook_waitfor_parallel.yaml @@ -91,7 +91,7 @@ success_criteria: - type: run_command description: "Flow validates successfully" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 1.5 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/conversational/conversational_chat_loop.yaml b/tests/tasks/uipath-maestro-flow/conversational/conversational_chat_loop.yaml index 35af270577..b9c9ed4516 100644 --- a/tests/tasks/uipath-maestro-flow/conversational/conversational_chat_loop.yaml +++ b/tests/tasks/uipath-maestro-flow/conversational/conversational_chat_loop.yaml @@ -60,7 +60,7 @@ success_criteria: - type: run_command description: "uip maestro flow validate passes on the generated flow" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 60 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/e2e/jira_create_issue/jira_create_issue.yaml b/tests/tasks/uipath-maestro-flow/e2e/jira_create_issue/jira_create_issue.yaml index 3e5159503c..559671b71b 100644 --- a/tests/tasks/uipath-maestro-flow/e2e/jira_create_issue/jira_create_issue.yaml +++ b/tests/tasks/uipath-maestro-flow/e2e/jira_create_issue/jira_create_issue.yaml @@ -66,7 +66,7 @@ success_criteria: - type: run_command description: "Flow validates successfully" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 2.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/e2e/jira_get_issue/jira_get_issue.yaml b/tests/tasks/uipath-maestro-flow/e2e/jira_get_issue/jira_get_issue.yaml index d57115ca9b..7eb04c6012 100644 --- a/tests/tasks/uipath-maestro-flow/e2e/jira_get_issue/jira_get_issue.yaml +++ b/tests/tasks/uipath-maestro-flow/e2e/jira_get_issue/jira_get_issue.yaml @@ -66,7 +66,7 @@ success_criteria: - type: run_command description: "Flow validates successfully" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 2.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/e2e/jira_lifecycle/jira_lifecycle.yaml b/tests/tasks/uipath-maestro-flow/e2e/jira_lifecycle/jira_lifecycle.yaml index 92f09a5cfe..a58480e5c9 100644 --- a/tests/tasks/uipath-maestro-flow/e2e/jira_lifecycle/jira_lifecycle.yaml +++ b/tests/tasks/uipath-maestro-flow/e2e/jira_lifecycle/jira_lifecycle.yaml @@ -79,7 +79,7 @@ success_criteria: - type: run_command description: "Flow validates successfully" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 2.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/e2e/jira_search_triage/jira_search_triage.yaml b/tests/tasks/uipath-maestro-flow/e2e/jira_search_triage/jira_search_triage.yaml index 87f7cfa5dc..94b777c17a 100644 --- a/tests/tasks/uipath-maestro-flow/e2e/jira_search_triage/jira_search_triage.yaml +++ b/tests/tasks/uipath-maestro-flow/e2e/jira_search_triage/jira_search_triage.yaml @@ -66,7 +66,7 @@ success_criteria: - type: run_command description: "Flow validates successfully" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 2.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/evaluate/inline_agent_eval/inline_agent_eval.yaml b/tests/tasks/uipath-maestro-flow/evaluate/inline_agent_eval/inline_agent_eval.yaml index aae82c9126..cdfd0ebd23 100644 --- a/tests/tasks/uipath-maestro-flow/evaluate/inline_agent_eval/inline_agent_eval.yaml +++ b/tests/tasks/uipath-maestro-flow/evaluate/inline_agent_eval/inline_agent_eval.yaml @@ -89,7 +89,7 @@ success_criteria: - type: run_command description: "Flow validates successfully" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 1.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/interactive/bellevue_weather_simulated/bellevue_weather_simulated.yaml b/tests/tasks/uipath-maestro-flow/interactive/bellevue_weather_simulated/bellevue_weather_simulated.yaml index 8e35a94c22..3be690aebd 100644 --- a/tests/tasks/uipath-maestro-flow/interactive/bellevue_weather_simulated/bellevue_weather_simulated.yaml +++ b/tests/tasks/uipath-maestro-flow/interactive/bellevue_weather_simulated/bellevue_weather_simulated.yaml @@ -73,7 +73,7 @@ success_criteria: - type: run_command description: "uip flow validate passes (any .flow)" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 60 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/interactive/cli_dice_roller_simulated/cli_dice_roller_simulated.yaml b/tests/tasks/uipath-maestro-flow/interactive/cli_dice_roller_simulated/cli_dice_roller_simulated.yaml index 5a1fd2c792..a31273ec6e 100644 --- a/tests/tasks/uipath-maestro-flow/interactive/cli_dice_roller_simulated/cli_dice_roller_simulated.yaml +++ b/tests/tasks/uipath-maestro-flow/interactive/cli_dice_roller_simulated/cli_dice_roller_simulated.yaml @@ -82,7 +82,7 @@ success_criteria: - type: run_command description: "uip flow validate passes (any .flow)" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 60 + timeout: 180 expected_exit_code: 0 weight: 4.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/interactive/customer_escalation_simulated/customer_escalation_simulated.yaml b/tests/tasks/uipath-maestro-flow/interactive/customer_escalation_simulated/customer_escalation_simulated.yaml index 3a8c99e9f8..4cfba6b759 100644 --- a/tests/tasks/uipath-maestro-flow/interactive/customer_escalation_simulated/customer_escalation_simulated.yaml +++ b/tests/tasks/uipath-maestro-flow/interactive/customer_escalation_simulated/customer_escalation_simulated.yaml @@ -81,7 +81,7 @@ success_criteria: - type: run_command description: "uip flow validate passes (any .flow)" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 60 + timeout: 180 expected_exit_code: 0 weight: 5.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/interactive/expense_approval_simulated/expense_approval_simulated.yaml b/tests/tasks/uipath-maestro-flow/interactive/expense_approval_simulated/expense_approval_simulated.yaml index 1a428e112c..f32d6054fe 100644 --- a/tests/tasks/uipath-maestro-flow/interactive/expense_approval_simulated/expense_approval_simulated.yaml +++ b/tests/tasks/uipath-maestro-flow/interactive/expense_approval_simulated/expense_approval_simulated.yaml @@ -80,7 +80,7 @@ success_criteria: - type: run_command description: "uip flow validate passes (any .flow)" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 60 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/interactive/hitl_schema_design_simulated/hitl_schema_design_simulated.yaml b/tests/tasks/uipath-maestro-flow/interactive/hitl_schema_design_simulated/hitl_schema_design_simulated.yaml index d062c3e391..eccbc25892 100644 --- a/tests/tasks/uipath-maestro-flow/interactive/hitl_schema_design_simulated/hitl_schema_design_simulated.yaml +++ b/tests/tasks/uipath-maestro-flow/interactive/hitl_schema_design_simulated/hitl_schema_design_simulated.yaml @@ -79,7 +79,7 @@ success_criteria: - type: run_command description: "uip flow validate passes (any .flow)" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 60 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/interactive/ixp_invoice_extraction_simulated/ixp_invoice_extraction_simulated.yaml b/tests/tasks/uipath-maestro-flow/interactive/ixp_invoice_extraction_simulated/ixp_invoice_extraction_simulated.yaml index be418381a4..28417f69ca 100644 --- a/tests/tasks/uipath-maestro-flow/interactive/ixp_invoice_extraction_simulated/ixp_invoice_extraction_simulated.yaml +++ b/tests/tasks/uipath-maestro-flow/interactive/ixp_invoice_extraction_simulated/ixp_invoice_extraction_simulated.yaml @@ -83,7 +83,7 @@ success_criteria: - type: run_command description: "uip flow validate passes (any .flow)" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 60 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/interactive/slack_channel_description_simulated/slack_channel_description_simulated.yaml b/tests/tasks/uipath-maestro-flow/interactive/slack_channel_description_simulated/slack_channel_description_simulated.yaml index b87fe8d5ba..bfffd79a23 100644 --- a/tests/tasks/uipath-maestro-flow/interactive/slack_channel_description_simulated/slack_channel_description_simulated.yaml +++ b/tests/tasks/uipath-maestro-flow/interactive/slack_channel_description_simulated/slack_channel_description_simulated.yaml @@ -78,7 +78,7 @@ success_criteria: - type: run_command description: "uip flow validate passes (any .flow)" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 60 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/ixp/e2e_02_project_selection.yaml b/tests/tasks/uipath-maestro-flow/ixp/e2e_02_project_selection.yaml index 0d04990a2e..6e86658646 100644 --- a/tests/tasks/uipath-maestro-flow/ixp/e2e_02_project_selection.yaml +++ b/tests/tasks/uipath-maestro-flow/ixp/e2e_02_project_selection.yaml @@ -83,7 +83,7 @@ success_criteria: - type: run_command description: "uip maestro flow validate passes on the generated flow" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 30 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/voice/voice_inbound_call.yaml b/tests/tasks/uipath-maestro-flow/voice/voice_inbound_call.yaml index 19717743b8..e97a1311d8 100644 --- a/tests/tasks/uipath-maestro-flow/voice/voice_inbound_call.yaml +++ b/tests/tasks/uipath-maestro-flow/voice/voice_inbound_call.yaml @@ -64,7 +64,7 @@ success_criteria: - type: run_command description: "uip maestro flow validate passes on the generated flow" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 60 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0 diff --git a/tests/tasks/uipath-maestro-flow/voice/voice_outbound_call.yaml b/tests/tasks/uipath-maestro-flow/voice/voice_outbound_call.yaml index b445bca6cb..51343b1070 100644 --- a/tests/tasks/uipath-maestro-flow/voice/voice_outbound_call.yaml +++ b/tests/tasks/uipath-maestro-flow/voice/voice_outbound_call.yaml @@ -67,7 +67,7 @@ success_criteria: - type: run_command description: "uip maestro flow validate passes on the generated flow" command: "python3 $REFERENCE_DIR/_shared/validate_flow.py" - timeout: 60 + timeout: 180 expected_exit_code: 0 weight: 3.0 pass_threshold: 1.0