Files
HAL9000 afe89964df
CI / push-validation (pull_request) Successful in 26s
CI / helm (pull_request) Successful in 50s
CI / lint (pull_request) Successful in 52s
CI / build (pull_request) Successful in 51s
CI / quality (pull_request) Successful in 52s
CI / security (pull_request) Successful in 1m15s
CI / typecheck (pull_request) Successful in 1m35s
CI / unit_tests (pull_request) Successful in 5m25s
CI / docker (pull_request) Successful in 1m34s
CI / integration_tests (pull_request) Failing after 10m26s
CI / coverage (pull_request) Failing after 18m51s
CI / status-check (pull_request) Has been cancelled
chore(tests): remove stale tdd_expected_fail tags from tests now passing on master
The tdd_expected_fail listener (robot/tdd_expected_fail_listener.py and
features/environment.py) inverts test results: a test tagged
@tdd_expected_fail that PASSES is forced to FAIL with the message
"Bug appears to be fixed. Remove the tdd_expected_fail tag…".

After rebasing onto master, 22 scenarios across 11 files were triggering
that forced-failure path because the underlying bugs (#4199, #4201,
#4202, #4203, #4205, #4206, #4243, #4252, #4301, #4303, #4304) have
been fixed on master but the @tdd_expected_fail tags were never removed.
This commit removes the stale tag (keeping @tdd_issue and
@tdd_issue_<N> for traceability, per the master-side pattern in
robot/tdd_skill_add_regression.robot:9 "tag removed after bug fix").

Files touched (lines: where the stale tag was):
  features/plan_cli_spec_alignment.feature (121, 128, 136)
  robot/a2a_facade.robot (40)
  robot/actor_cli_show.robot (13, 30)
  robot/actor_configuration.robot (8)
  robot/actor_context_export_import.robot (20, 71, 92)
  robot/cli_extensions.robot (61)
  robot/cli_formats.robot (14, 23, 30, 48, 57, 85)
  robot/cli_lifecycle_e2e.robot (77, 87)
  robot/config_project_scope.robot (37)
  robot/config_resolution.robot (13)
  robot/container_tool_exec.robot (137)

Verified locally: targeted unit_tests run on
features/plan_cli_spec_alignment.feature now passes 20/20 (was 17/20
with 3 scenarios forced-failed by the inversion).

ISSUES CLOSED: #3677
2026-06-03 03:22:59 -04:00

118 lines
6.3 KiB
Plaintext

*** Settings ***
Documentation Smoke tests for CLI --format flag parity (json/yaml/plain/table/rich)
... and global --format flag propagation to subcommands.
Resource ${CURDIR}/common.resource
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Variables ***
${HELPER} ${CURDIR}/helper_cli_formats.py
*** Test Cases ***
Action List Format JSON Outputs Valid JSON
[Documentation] Verify that ``action list --format json`` emits parseable JSON
[Tags] tdd_issue tdd_issue_4206
${result}= Run Process ${PYTHON} ${HELPER} action-list-json cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cli-formats-action-list-json-ok
Action Show Format YAML Outputs Valid YAML
[Documentation] Verify that ``action show --format yaml`` emits parseable YAML
[Tags] tdd_issue tdd_issue_4206
${result}= Run Process ${PYTHON} ${HELPER} action-show-yaml cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cli-formats-action-show-yaml-ok
Plan Lifecycle List Format JSON Outputs Valid JSON
[Documentation] Verify that ``plan list --format json`` emits JSON
[Tags] tdd_issue tdd_issue_4206
${result}= Run Process ${PYTHON} ${HELPER} plan-list-json cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cli-formats-plan-list-json-ok
Plan Status Format Plain Outputs Key-Value Pairs
[Documentation] Verify that ``plan status <id> --format plain`` emits plain text
[Tags] tdd_issue tdd_issue_4206
${result}= Run Process ${PYTHON} ${HELPER} plan-status-plain cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cli-formats-plan-status-plain-ok
# ---------------------------------------------------------------------------
# Global --format flag propagation tests (Issue #2908)
# ---------------------------------------------------------------------------
Global Format Flag JSON Propagates To Version Command
[Documentation] Verify that global ``--format json`` propagates to the version command
[Tags] tdd_issue tdd_issue_4206
${result}= Run Process ${PYTHON} ${HELPER} global-format-json-version cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cli-global-format-json-version-ok
Global Format Flag YAML Propagates To Version Command
[Documentation] Verify that global ``--format yaml`` propagates to the version command
[Tags] tdd_issue tdd_issue_4206
${result}= Run Process ${PYTHON} ${HELPER} global-format-yaml-version cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cli-global-format-yaml-version-ok
Global Format Flag Plain Propagates To Version Command
[Documentation] Verify that global ``--format plain`` propagates to the version command
[Tags] tdd_issue tdd_issue_4206
${result}= Run Process ${PYTHON} ${HELPER} global-format-plain-version cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cli-global-format-plain-version-ok
Global Format Flag JSON Propagates To Info Command
[Documentation] Verify that global ``--format json`` propagates to the info command
[Tags] tdd_issue tdd_issue_4206
${result}= Run Process ${PYTHON} ${HELPER} global-format-json-info cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cli-global-format-json-info-ok
Global Format Flag JSON Propagates To Diagnostics Command
[Documentation] Verify that global ``--format json`` propagates to the diagnostics command
[Tags] tdd_issue tdd_issue_4206
${result}= Run Process ${PYTHON} ${HELPER} global-format-json-diagnostics cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cli-global-format-json-diagnostics-ok
Global Format Shorthand Flag Works
[Documentation] Verify that global ``-f json`` shorthand propagates to the version command
[Tags] tdd_issue tdd_issue_4206
${result}= Run Process ${PYTHON} ${HELPER} global-format-shorthand cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cli-global-format-shorthand-ok
All Six Formats Work With Version Command
[Documentation] Verify all six output formats work via the global --format flag
[Tags] tdd_issue tdd_issue_4206
${result}= Run Process ${PYTHON} ${HELPER} global-format-all-six cwd=${WORKSPACE}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cli-global-format-all-six-ok
# ---------------------------------------------------------------------------
# format_output() renderer routing tests (Issue #2921)
# ---------------------------------------------------------------------------
Format Output Rich Produces Styled Output Not JSON
[Documentation] Verify that format_output(data, "rich") produces styled terminal output
... and NOT raw JSON (fix for issue #2921: rich format silently fell back to JSON)
${result}= Run Process ${PYTHON} ${HELPER} format-output-rich cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cli-formats-format-output-rich-ok
Format Output Color Produces ANSI Colored Output Not Plain Text
[Documentation] Verify that format_output(data, "color") produces ANSI-colored output
... and NOT plain text (fix for issue #2921: color format used plain renderer)
${result}= Run Process ${PYTHON} ${HELPER} format-output-color cwd=${WORKSPACE}
Log ${result.stdout}
Log ${result.stderr}
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} cli-formats-format-output-color-ok