e4705822b1
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 16s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 19s
CI / typecheck (pull_request) Successful in 28s
CI / security (pull_request) Successful in 31s
CI / integration_tests (pull_request) Successful in 2m24s
CI / unit_tests (pull_request) Successful in 6m13s
CI / docker (pull_request) Successful in 14s
CI / benchmark-regression (pull_request) Successful in 8m40s
CI / coverage (pull_request) Successful in 13m4s
- Add timeout=60s to all Run Process calls in cli.robot (previously had no timeout, causing hangs under CI parallel load) - Increase cli_core.robot timeouts from 30s to 60s to match other robot files - Relax performance assertions from <30s to <60s to account for Python cold-start overhead under pabot parallel execution
111 lines
5.7 KiB
Plaintext
111 lines
5.7 KiB
Plaintext
*** Settings ***
|
|
Documentation Integration tests for enhanced version, info, diagnostics commands
|
|
Resource ${CURDIR}/common.resource
|
|
Library Process
|
|
Library OperatingSystem
|
|
Library String
|
|
Library Collections
|
|
Suite Setup Setup Test Environment
|
|
Suite Teardown Cleanup Test Environment
|
|
|
|
*** Variables ***
|
|
${PYTHON} python
|
|
|
|
*** Test Cases ***
|
|
Version Command Default Rich Format
|
|
[Documentation] Version command with default (rich) format shows version string
|
|
${result}= Run Process ${PYTHON} -m cleveragents version timeout=60s
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} 1.0.0
|
|
Should Contain ${result.stdout} CleverAgents
|
|
|
|
Version Command JSON Format
|
|
[Documentation] Version command with --format json returns valid JSON
|
|
${result}= Run Process ${PYTHON} -m cleveragents version --format json timeout=60s
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} "version": "1.0.0"
|
|
Should Contain ${result.stdout} "schema": "v3"
|
|
Should Contain ${result.stdout} "channel": "stable"
|
|
Should Contain ${result.stdout} "python"
|
|
Should Contain ${result.stdout} "dependencies"
|
|
Should Contain ${result.stdout} "build_date"
|
|
Should Contain ${result.stdout} "commit"
|
|
|
|
Version Command Plain Format
|
|
[Documentation] Version command with --format plain returns key-value pairs
|
|
${result}= Run Process ${PYTHON} -m cleveragents version --format plain timeout=60s
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} version: 1.0.0
|
|
Should Contain ${result.stdout} schema: v3
|
|
|
|
Version Command YAML Format
|
|
[Documentation] Version command with --format yaml returns YAML
|
|
${result}= Run Process ${PYTHON} -m cleveragents version --format yaml timeout=60s
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} version: 1.0.0
|
|
Should Contain ${result.stdout} schema: v3
|
|
|
|
Info Command Default Rich Format
|
|
[Documentation] Info command with default (rich) format shows environment details
|
|
${result}= Run Process ${PYTHON} -m cleveragents info timeout=60s
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} Environment
|
|
Should Contain ${result.stdout} Runtime
|
|
|
|
Info Command JSON Format
|
|
[Documentation] Info command with --format json returns structured data
|
|
${result}= Run Process ${PYTHON} -m cleveragents info --format json timeout=60s
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} "version": "1.0.0"
|
|
Should Contain ${result.stdout} "data_dir"
|
|
Should Contain ${result.stdout} "database"
|
|
Should Contain ${result.stdout} "server_mode": "disabled"
|
|
|
|
Info Command Plain Format
|
|
[Documentation] Info command with --format plain returns key-value pairs
|
|
${result}= Run Process ${PYTHON} -m cleveragents info --format plain timeout=60s
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} version: 1.0.0
|
|
Should Contain ${result.stdout} server_mode: disabled
|
|
|
|
Diagnostics Command Default Rich Format
|
|
[Documentation] Diagnostics command with default (rich) format runs checks
|
|
${result}= Run Process ${PYTHON} -m cleveragents diagnostics timeout=60s
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} Checks
|
|
Should Contain ${result.stdout} Summary
|
|
|
|
Diagnostics Command JSON Format
|
|
[Documentation] Diagnostics command with --format json returns structured data
|
|
${result}= Run Process ${PYTHON} -m cleveragents diagnostics --format json timeout=60s
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} "checks"
|
|
Should Contain ${result.stdout} "summary"
|
|
Should Contain ${result.stdout} "recommendations"
|
|
Should Contain ${result.stdout} "total"
|
|
Should Contain ${result.stdout} "warnings"
|
|
Should Contain ${result.stdout} "errors"
|
|
|
|
Diagnostics Command Plain Format
|
|
[Documentation] Diagnostics command with --format plain returns key-value pairs
|
|
${result}= Run Process ${PYTHON} -m cleveragents diagnostics --format plain timeout=60s
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} checks:
|
|
Should Contain ${result.stdout} summary:
|
|
|
|
Diagnostics Command Check Flag Returns Valid Exit Code
|
|
[Documentation] Diagnostics --check exits 0 (no errors) or 1 (has errors) without crashing
|
|
${result}= Run Process ${PYTHON} -m cleveragents diagnostics --check --format json timeout=60s
|
|
Should Be True ${result.rc} == 0 or ${result.rc} == 1 Unexpected exit code: ${result.rc}
|
|
Should Contain ${result.stdout} "checks"
|
|
Should Contain ${result.stdout} "has_errors"
|
|
|
|
Diagnostics Command Performance
|
|
[Documentation] Diagnostics command completes within acceptable time
|
|
${start}= Get Time epoch
|
|
${result}= Run Process ${PYTHON} -m cleveragents diagnostics --format json timeout=60s
|
|
${end}= Get Time epoch
|
|
${duration}= Evaluate ${end} - ${start}
|
|
Should Be True ${duration} < 30 Diagnostics took too long: ${duration}s
|
|
Should Be Equal As Integers ${result.rc} 0
|