Files
cleveragents-core/robot/actor_compiler.robot
HAL9000 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
fix(actor): fix lint errors and add regression tests for lsp_binding field (#1432)
- 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
2026-05-30 00:36:20 -04:00

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