4ff075e0da
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 18s
CI / quality (pull_request) Successful in 32s
CI / typecheck (pull_request) Successful in 56s
CI / security (pull_request) Successful in 57s
CI / lint (pull_request) Successful in 3m19s
CI / integration_tests (pull_request) Successful in 3m44s
CI / unit_tests (pull_request) Successful in 6m39s
CI / docker (pull_request) Successful in 1m9s
CI / e2e_tests (pull_request) Successful in 9m38s
CI / coverage (pull_request) Successful in 11m19s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-regression (pull_request) Failing after 1h13m38s
Replace local-mode stubs with real LSP protocol support: - StdioTransport: subprocess management with JSON-RPC framing - LspClient: LSP protocol (initialize/shutdown/diagnostics/completions) - LspLifecycleManager: reference-counted instances, health checks, crash restart - LspRuntime: registry-based server lookup, auto-restart on crash - LspToolAdapter: runtime-delegating handlers with local-mode fallback - LanguageDiscovery: 4-layer detection (extension, shebang, UKO, project) - activate_bindings/deactivate_bindings: actor compiler LSP binding wiring Tests: 27 Behave scenarios, 6 Robot integration tests, 250 existing pass. ISSUES CLOSED: #826
48 lines
2.4 KiB
Plaintext
48 lines
2.4 KiB
Plaintext
*** Settings ***
|
|
Documentation Integration tests for LSP functional runtime
|
|
Resource ${CURDIR}/common.resource
|
|
Suite Setup Setup Test Environment
|
|
Suite Teardown Cleanup Test Environment
|
|
|
|
*** Variables ***
|
|
${HELPER} ${CURDIR}/helper_lsp_functional_runtime.py
|
|
|
|
*** Test Cases ***
|
|
Transport Lifecycle Start And Stop
|
|
[Documentation] StdioTransport can start and stop a process
|
|
${result}= Run Process ${PYTHON} ${HELPER} transport-lifecycle cwd=${WORKSPACE} on_timeout=kill timeout=30s
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} transport-lifecycle-ok
|
|
|
|
Transport Rejects Empty Command
|
|
[Documentation] StdioTransport rejects empty command
|
|
${result}= Run Process ${PYTHON} ${HELPER} transport-empty-command cwd=${WORKSPACE} on_timeout=kill timeout=30s
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} transport-empty-command-ok
|
|
|
|
Lifecycle Manager Empty State
|
|
[Documentation] LspLifecycleManager starts with no servers
|
|
${result}= Run Process ${PYTHON} ${HELPER} lifecycle-manager-empty cwd=${WORKSPACE} on_timeout=kill timeout=30s
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} lifecycle-manager-empty-ok
|
|
|
|
Runtime Input Validation
|
|
[Documentation] LspRuntime validates inputs correctly
|
|
${result}= Run Process ${PYTHON} ${HELPER} runtime-validation cwd=${WORKSPACE} on_timeout=kill timeout=30s
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} runtime-validation-ok
|
|
|
|
Language Discovery
|
|
[Documentation] LanguageDiscovery detects languages from extensions
|
|
${result}= Run Process ${PYTHON} ${HELPER} discovery cwd=${WORKSPACE} on_timeout=kill timeout=30s
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} discovery-ok
|
|
|
|
Tool Adapter Modes
|
|
[Documentation] LspToolAdapter generates specs in both modes
|
|
${result}= Run Process ${PYTHON} ${HELPER} tool-adapter-modes cwd=${WORKSPACE} on_timeout=kill timeout=30s
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} tool-adapter-modes-ok
|