02e51b9298
CI / build (pull_request) Successful in 34s
CI / helm (pull_request) Successful in 38s
CI / lint (pull_request) Successful in 45s
CI / typecheck (pull_request) Successful in 1m4s
CI / security (pull_request) Successful in 1m10s
CI / quality (pull_request) Successful in 1m16s
CI / push-validation (pull_request) Successful in 18s
CI / unit_tests (pull_request) Successful in 6m32s
CI / docker (pull_request) Successful in 1m37s
CI / coverage (pull_request) Successful in 13m26s
CI / integration_tests (pull_request) Successful in 23m55s
CI / status-check (pull_request) Successful in 4s
- Remove trailing whitespace from blank lines in _extract_lsp_bindings() (W293 at lines 160, 164, 167, 172, 183, 188, 203) - Simplify over-long line 180 (E501): auto_detect=node.lsp_binding.auto - Add Behave scenario verifying NodeLspBinding typed field populates CompilationMetadata.lsp_bindings (features/actor_lsp_binding_field.feature) - Add corresponding @given step using NodeLspBinding in actor_compiler_steps.py - Add Robot Framework regression test case and lsp-binding-field helper command confirming node.lsp_binding is read by compile_actor() - Update CHANGELOG.md and CONTRIBUTORS.md ISSUES CLOSED: #1432
70 lines
3.4 KiB
Plaintext
70 lines
3.4 KiB
Plaintext
*** Settings ***
|
|
Documentation Smoke tests for the Actor Compiler (GRAPH → LangGraph)
|
|
Resource ${CURDIR}/common.resource
|
|
Suite Setup Setup Test Environment
|
|
Suite Teardown Cleanup Test Environment
|
|
|
|
*** Variables ***
|
|
${HELPER} ${CURDIR}/helper_actor_compiler.py
|
|
|
|
*** Test Cases ***
|
|
Compile Simple Graph Actor YAML
|
|
[Documentation] Compile the simple_graph example and verify node/edge counts
|
|
[Tags] slow
|
|
${result}= Run Process ${PYTHON} ${HELPER} compile ${CURDIR}/../examples/actors/simple_graph.yaml cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} actor-compiler-ok
|
|
|
|
Compile Graph Workflow Actor YAML
|
|
[Documentation] Compile the graph_workflow example and verify success
|
|
[Tags] slow
|
|
${result}= Run Process ${PYTHON} ${HELPER} compile ${CURDIR}/../examples/actors/graph_workflow.yaml cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} actor-compiler-ok
|
|
|
|
Retrieve Compilation Metadata
|
|
[Documentation] Verify metadata output from the compiler contains node IDs
|
|
[Tags] slow
|
|
${result}= Run Process ${PYTHON} ${HELPER} metadata ${CURDIR}/../examples/actors/simple_graph.yaml cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} actor-compiler-metadata
|
|
|
|
Reject LLM Actor Compilation
|
|
[Documentation] Attempt to compile an LLM-type actor and expect failure
|
|
[Tags] slow
|
|
${result}= Run Process ${PYTHON} ${HELPER} compile-fail ${CURDIR}/../examples/actors/simple_llm.yaml cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} actor-compiler-expected-fail
|
|
Should Contain ${result.stdout} GRAPH
|
|
|
|
Detect Cross-Actor Subgraph Cycle Via actor_ref Field
|
|
[Documentation] Verify that mutually-referencing actors raise SubgraphCycleError.
|
|
... This is the regression test for issue #1431: _detect_subgraph_cycles()
|
|
... was reading node.config.get("actor_ref") instead of node.actor_ref,
|
|
... causing cycle detection to silently fail.
|
|
[Tags] slow
|
|
${result}= Run Process ${PYTHON} ${HELPER} cycle-detect dummy cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} actor-compiler-cycle-detected
|
|
|
|
Extract LSP Binding From Typed lsp_binding Field
|
|
[Documentation] Verify that a node with a typed lsp_binding field populates
|
|
... CompilationMetadata.lsp_bindings — regression test for issue #1432:
|
|
... _extract_lsp_bindings() was reading only node.config.get("lsp_bindings")
|
|
... instead of the NodeLspBinding typed field on NodeDefinition.
|
|
[Tags] slow
|
|
${result}= Run Process ${PYTHON} ${HELPER} lsp-binding-field cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} actor-compiler-lsp-binding-ok
|
|
Should Contain ${result.stdout} lsp-server: local/pyright
|