88 lines
4.4 KiB
Plaintext
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
|