forked from cleveragents/cleveragents-core
98 lines
4.5 KiB
Plaintext
98 lines
4.5 KiB
Plaintext
*** Settings ***
|
|
Documentation Smoke tests for Skill flattening, capability summaries, and plan validation
|
|
Resource ${CURDIR}/common.resource
|
|
Suite Setup Setup Test Environment
|
|
Suite Teardown Cleanup Test Environment
|
|
|
|
*** Variables ***
|
|
${HELPER} ${CURDIR}/helper_skill_flatten.py
|
|
|
|
*** Test Cases ***
|
|
Flatten Simple Skill With Tool Refs
|
|
[Documentation] Flatten a skill with 5 tool refs and verify deterministic order
|
|
${result}= Run Process ${PYTHON} ${HELPER} flatten-simple cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} flatten-simple-ok
|
|
|
|
Flatten Skill With Deep Includes
|
|
[Documentation] Flatten skill with 3 levels of includes in depth-first order
|
|
${result}= Run Process ${PYTHON} ${HELPER} flatten-deep cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} flatten-deep-ok
|
|
|
|
Flatten Skill With Wide Includes
|
|
[Documentation] Flatten skill including 10 other skills
|
|
${result}= Run Process ${PYTHON} ${HELPER} flatten-wide cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} flatten-wide-ok
|
|
|
|
Flatten Skill With Inline Tools
|
|
[Documentation] Flatten a skill with inline tools and verify keying
|
|
${result}= Run Process ${PYTHON} ${HELPER} flatten-inline cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} flatten-inline-ok
|
|
|
|
Flatten Skill With Cycle Raises Error
|
|
[Documentation] Detect cycles in include chains and report clear error path
|
|
${result}= Run Process ${PYTHON} ${HELPER} flatten-cycle cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} flatten-cycle-ok
|
|
|
|
Flatten Skill With Per-Include Overrides
|
|
[Documentation] Apply per-include overrides to included tool entries
|
|
${result}= Run Process ${PYTHON} ${HELPER} flatten-include-overrides cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} flatten-include-overrides-ok
|
|
|
|
Flatten Skill Rejects Non-Overridable Fields
|
|
[Documentation] Reject overrides on non-overridable fields (name, source_skill, is_inline)
|
|
${result}= Run Process ${PYTHON} ${HELPER} flatten-non-overridable cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} flatten-non-overridable-ok
|
|
|
|
Compute Capability Summary
|
|
[Documentation] Compute capability summary with diverse inline tools
|
|
${result}= Run Process ${PYTHON} ${HELPER} capability-summary cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} flatten-capability-summary-ok
|
|
|
|
Tools Method Returns Entries And Summary
|
|
[Documentation] SkillRegistry.tools() returns both entries and summary
|
|
${result}= Run Process ${PYTHON} ${HELPER} tools-method cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} flatten-tools-method-ok
|
|
|
|
Validate Plan With Valid Skills
|
|
[Documentation] validate_plan with a valid plan returns empty error list
|
|
${result}= Run Process ${PYTHON} ${HELPER} validate-plan-ok cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} flatten-validate-plan-ok
|
|
|
|
Validate Plan With Missing Skill
|
|
[Documentation] validate_plan reports error for missing skill
|
|
${result}= Run Process ${PYTHON} ${HELPER} validate-plan-missing cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} flatten-validate-plan-missing-ok
|