c43e1f8260
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / quality (pull_request) Successful in 19s
CI / build (pull_request) Successful in 14s
CI / typecheck (pull_request) Successful in 31s
CI / security (pull_request) Successful in 32s
CI / unit_tests (pull_request) Successful in 1m52s
CI / docker (pull_request) Successful in 42s
CI / integration_tests (pull_request) Successful in 2m59s
CI / coverage (pull_request) Successful in 4m14s
CI / lint (push) Successful in 15s
CI / quality (push) Successful in 16s
CI / security (push) Successful in 30s
CI / typecheck (push) Successful in 1m3s
CI / build (push) Successful in 18s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 2m27s
CI / integration_tests (push) Successful in 3m0s
CI / docker (push) Successful in 50s
CI / coverage (push) Successful in 5m8s
CI / benchmark-publish (push) Has been cancelled
CI / benchmark-regression (pull_request) Successful in 29m24s
Add SubplanService for building child plans from DecisionService spawn entries and SubplanConfig. The service validates resource scopes, merge strategies, and max_parallel bounds before spawning. Key additions: - SubplanService: Orchestrates child plan creation from spawn entries - SpawnMetadata: Persisted metadata (spawn_decision_id, parent/root plan IDs, execution mode) for status output - Spawn validation: Checks resource scopes, merge strategy, and parallelism bounds before spawning - Documentation: subplan_service.md with spawn workflow and lifecycle ISSUES CLOSED: #197
60 lines
2.8 KiB
Plaintext
60 lines
2.8 KiB
Plaintext
*** Settings ***
|
|
Documentation Smoke tests for subplan spawn service, validation,
|
|
... and metadata persistence.
|
|
Resource ${CURDIR}/common.resource
|
|
Suite Setup Setup Test Environment
|
|
Suite Teardown Cleanup Test Environment
|
|
|
|
*** Variables ***
|
|
${HELPER} robot/helper_subplan_spawn.py
|
|
|
|
*** Test Cases ***
|
|
Spawn Single Child Plan From Decision Entry
|
|
[Documentation] Verify spawning a single child plan creates status and metadata
|
|
[Tags] subplan spawn
|
|
${result}= Run Process ${PYTHON} ${HELPER} spawn-single cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} spawn-single-ok
|
|
|
|
Spawn Multiple Child Plans From Decisions
|
|
[Documentation] Verify spawning multiple child plans from decision entries
|
|
[Tags] subplan spawn multiple
|
|
${result}= Run Process ${PYTHON} ${HELPER} spawn-multiple cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} spawn-multiple-ok
|
|
|
|
Validate Resource Scope Missing
|
|
[Documentation] Verify validation rejects missing resource scopes
|
|
[Tags] subplan spawn validation
|
|
${result}= Run Process ${PYTHON} ${HELPER} validate-resource cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} validate-resource-ok
|
|
|
|
Validate Max Parallel Exceeded
|
|
[Documentation] Verify validation rejects exceeding max_parallel bounds
|
|
[Tags] subplan spawn validation parallel
|
|
${result}= Run Process ${PYTHON} ${HELPER} validate-max-parallel cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} validate-max-parallel-ok
|
|
|
|
Spawn Metadata Persistence
|
|
[Documentation] Verify spawn metadata contains correct plan IDs and mode
|
|
[Tags] subplan spawn metadata
|
|
${result}= Run Process ${PYTHON} ${HELPER} metadata-persistence cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} metadata-persistence-ok
|
|
|
|
Service Validation Guards
|
|
[Documentation] Verify service rejects invalid inputs
|
|
[Tags] subplan spawn validation
|
|
${result}= Run Process ${PYTHON} ${HELPER} validation-guards cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} validation-guards-ok
|
|
|
|
Build Spawn Entries From Decisions
|
|
[Documentation] Verify building spawn entries from decision objects
|
|
[Tags] subplan spawn entries
|
|
${result}= Run Process ${PYTHON} ${HELPER} build-entries cwd=${WORKSPACE}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} build-entries-ok
|