Files
cleveragents-core/robot/initial_next_command_test.robot
T
freemo b122ec7ed5
CI / lint (pull_request) Successful in 23s
CI / quality (pull_request) Successful in 51s
CI / typecheck (pull_request) Successful in 1m0s
CI / security (pull_request) Successful in 55s
CI / build (pull_request) Successful in 25s
CI / helm (pull_request) Successful in 32s
CI / push-validation (pull_request) Successful in 26s
CI / e2e_tests (pull_request) Successful in 3m38s
CI / integration_tests (pull_request) Successful in 6m42s
CI / unit_tests (pull_request) Successful in 8m19s
CI / docker (pull_request) Successful in 13s
CI / coverage (pull_request) Successful in 15m23s
CI / status-check (pull_request) Successful in 2s
fix(test-infra): remove redundant ${PYTHON} variable definitions from robot files
Remove the local ${PYTHON}    python (and python3) variable definitions from
the *** Variables *** sections of all affected robot files. These local
definitions were overriding the pabot-injected venv Python path passed via
--variable PYTHON:/path/to/venv/python, causing tests to use the system
Python (which lacks required packages like structlog, sqlalchemy, etc.)
instead of the nox venv Python.

The correct ${PYTHON} value is already set by Setup Test Environment in
common.resource via sys.executable, and pabot passes it via --variable.
The local fallback definitions are redundant and harmful in parallel runs.

Audit found 56 robot files with the pattern (more than the 9 originally
identified in the issue). All occurrences have been removed.

ISSUES CLOSED: #1309
2026-04-14 14:50:55 +00:00

75 lines
2.7 KiB
Plaintext

*** Settings ***
Documentation Test !next command with fresh context (writing_stage: null)
Library Process
Library OperatingSystem
Library String
Resource ${CURDIR}/v2_paths.resource
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${CONFIG_FILE} ${CURDIR}/../examples/scientific_paper_writer.yaml
${CONTEXT_DIR} ${TEMPDIR}/initial_next_test_contexts
${TEST_ID} ${EMPTY}
*** Test Cases ***
Test Next Command With Null Writing Stage
[Documentation] Test that !next works when writing_stage is null (fresh context)
[Tags] integration bugfix commands slow
[Timeout] 1 minute
${ctx}= Set Variable initial_next_${TEST_ID}
# Run !next as the very first command with a fresh context
# This should advance from null (default intro) to discovery stage
Log Running !next command with fresh context...
${result}= Run Process ${PYTHON} -m cleveragents actor run
... -c ${CONFIG_FILE}
... --context ${ctx}
... --context-dir ${CONTEXT_DIR}
... --unsafe
... --allow-rxpy-in-run-mode
... test-actor !next discovery
... stderr=STDOUT
... timeout=120s on_timeout=kill
# Should not produce an error
Should Not Contain ${result.stdout} Error: Current stage 'None' is invalid
Should Be Equal As Integers ${result.rc} 0
# Verify stage was updated in the context by checking !stage command
${result}= Run Process ${PYTHON} -m cleveragents actor run
... -c ${CONFIG_FILE}
... --context ${ctx}
... --context-dir ${CONTEXT_DIR}
... --unsafe
... --allow-rxpy-in-run-mode
... test-actor !stage
... stderr=STDOUT
... timeout=120s on_timeout=kill
Should Contain ${result.stdout} discovery
Log Test completed successfully
*** Keywords ***
Setup Test Environment
${timestamp}= Get Time epoch
Set Suite Variable ${TEST_ID} ${timestamp}
Create Directory ${CONTEXT_DIR}
Log Test environment setup complete with ID: ${TEST_ID}
Cleanup Test Environment
Run Keyword And Ignore Error Remove Directory ${CONTEXT_DIR} recursive=True
Log Test environment cleaned up
Should Contain Any
[Arguments] ${text} @{patterns}
[Documentation] Check if text contains at least one of the patterns
FOR ${pattern} IN @{patterns}
${status}= Run Keyword And Return Status Should Contain ${text} ${pattern} ignore_case=True
IF ${status} RETURN
END
Fail Text does not contain any of: @{patterns}