Files

88 lines
4.4 KiB
Plaintext

*** Settings ***
Documentation Smoke tests for subplan model hierarchy, configuration defaults,
... failure handling, and CLI status surface rendering.
Resource ${CURDIR}/common.resource
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${HELPER} robot/helper_subplan_model.py
*** Test Cases ***
Root Plan Identity Flags
[Documentation] Verify root plan has is_root_plan=True, is_subplan=False, depth=0
[Tags] subplan model identity
${result}= Run Process ${PYTHON} ${HELPER} root-identity cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} root-identity-ok
Child Plan Identity Flags
[Documentation] Verify child plan has is_subplan=True, is_root_plan=False, depth=-1
[Tags] subplan model identity
${result}= Run Process ${PYTHON} ${HELPER} child-identity cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} child-identity-ok
Three Level Hierarchy Root Propagation
[Documentation] Verify root_plan_id propagates through three levels
[Tags] subplan model hierarchy
${result}= Run Process ${PYTHON} ${HELPER} hierarchy-propagation cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} hierarchy-propagation-ok
SubplanConfig Defaults
[Documentation] Verify SubplanConfig defaults are sensible
[Tags] subplan model config
${result}= Run Process ${PYTHON} ${HELPER} config-defaults cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} config-defaults-ok
SubplanConfig Custom Settings
[Documentation] Verify SubplanConfig accepts custom parallel/retry settings
[Tags] subplan model config
${result}= Run Process ${PYTHON} ${HELPER} config-custom cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} config-custom-ok
Failure Handler Stop Others On Fail Fast
[Documentation] Verify SubplanFailureHandler stops others when fail_fast=True
[Tags] subplan model failure
${result}= Run Process ${PYTHON} ${HELPER} failure-stop-others cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} failure-stop-others-ok
Failure Handler Retry Retriable Error
[Documentation] Verify SubplanFailureHandler retries retriable TimeoutError
[Tags] subplan model failure retry
${result}= Run Process ${PYTHON} ${HELPER} failure-retry-retriable cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} failure-retry-retriable-ok
Failure Handler Skip Non Retriable Error
[Documentation] Verify SubplanFailureHandler skips non-retriable ConfigurationError
[Tags] subplan model failure retry
${result}= Run Process ${PYTHON} ${HELPER} failure-skip-non-retriable cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} failure-skip-non-retriable-ok
CLI Dict Renders Parent Plan Id For Child
[Documentation] Verify as_cli_dict includes parent_plan_id for child plans
[Tags] subplan model cli
${result}= Run Process ${PYTHON} ${HELPER} cli-dict-child cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cli-dict-child-ok
CLI Dict Renders Subplan Count
[Documentation] Verify as_cli_dict includes subplan_count when subplans exist
[Tags] subplan model cli
${result}= Run Process ${PYTHON} ${HELPER} cli-dict-subplan-count cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cli-dict-subplan-count-ok
Plan With Subplan Config And Statuses
[Documentation] Verify Plan model accepts subplan config and status list
[Tags] subplan model plan
${result}= Run Process ${PYTHON} ${HELPER} plan-with-config cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} plan-with-config-ok