From 5a7fa09a8dfd289dfdfcdb28670b6f79423d8511 Mon Sep 17 00:00:00 2001 From: CleverThis Date: Wed, 3 Jun 2026 02:35:08 -0400 Subject: [PATCH] chore(tests): remove stale tdd_expected_fail tags from tests now passing on master MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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_ 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 --- features/plan_cli_spec_alignment.feature | 6 +++--- robot/a2a_facade.robot | 2 +- robot/actor_cli_show.robot | 4 ++-- robot/actor_configuration.robot | 2 +- robot/actor_context_export_import.robot | 6 +++--- robot/cli_extensions.robot | 2 +- robot/cli_formats.robot | 12 ++++++------ robot/cli_lifecycle_e2e.robot | 4 ++-- robot/config_project_scope.robot | 2 +- robot/config_resolution.robot | 2 +- robot/container_tool_exec.robot | 2 +- 11 files changed, 22 insertions(+), 22 deletions(-) diff --git a/features/plan_cli_spec_alignment.feature b/features/plan_cli_spec_alignment.feature index a2bf1cbeb..a6d38419e 100644 --- a/features/plan_cli_spec_alignment.feature +++ b/features/plan_cli_spec_alignment.feature @@ -118,14 +118,14 @@ Feature: Plan CLI spec alignment And the plan spec cancel output should contain "Requirements changed" # ---- plan list: required column rendering ---- - @tdd_issue @tdd_issue_4252 @tdd_expected_fail + @tdd_issue @tdd_issue_4252 Scenario: Plan list rich output includes Name column Given plan spec alignment plans exist When I run plan list with no filters Then the plan spec list should succeed And the plan spec list output should contain "Name" - @tdd_issue @tdd_issue_4252 @tdd_expected_fail + @tdd_issue @tdd_issue_4252 Scenario: Plan list rich output includes Updated column Given plan spec alignment plans exist When I run plan list with no filters @@ -133,7 +133,7 @@ Feature: Plan CLI spec alignment And the plan spec list output should contain "Updat" And the plan spec list output should contain the current year-month timestamp - @tdd_issue @tdd_issue_4252 @tdd_expected_fail + @tdd_issue @tdd_issue_4252 Scenario: Plan list rich output includes Invariants column Given plan spec alignment plans exist When I run plan list with no filters diff --git a/robot/a2a_facade.robot b/robot/a2a_facade.robot index abf4d4e64..c43a73e43 100644 --- a/robot/a2a_facade.robot +++ b/robot/a2a_facade.robot @@ -37,7 +37,7 @@ A2A Event Queue Local Mode A2A Version Negotiation [Documentation] Verify version negotiation succeeds for 1.0 and fails for 2.0 - [Tags] tdd_issue tdd_issue_4199 tdd_expected_fail + [Tags] tdd_issue tdd_issue_4199 ${result}= Run Process ${PYTHON} ${HELPER} version-negotiate cwd=${WORKSPACE} Log ${result.stdout} Log ${result.stderr} diff --git a/robot/actor_cli_show.robot b/robot/actor_cli_show.robot index d1021508c..a6e4ab7fe 100644 --- a/robot/actor_cli_show.robot +++ b/robot/actor_cli_show.robot @@ -10,7 +10,7 @@ ${HELPER} ${CURDIR}/helper_actor_cli_show.py *** Test Cases *** Actor Show JSON Contains Required Fields [Documentation] Verify that ``actor show --format json`` returns all required fields - [Tags] tdd_issue tdd_issue_4201 tdd_expected_fail + [Tags] tdd_issue tdd_issue_4201 ${result}= Run Process ${PYTHON} ${HELPER} show-json-fields cwd=${WORKSPACE} Log ${result.stdout} Log ${result.stderr} @@ -27,7 +27,7 @@ Actor Show YAML Produces Valid Output Actor List JSON Returns Array [Documentation] Verify that ``actor list --format json`` returns a JSON array - [Tags] tdd_issue tdd_issue_4201 tdd_expected_fail + [Tags] tdd_issue tdd_issue_4201 ${result}= Run Process ${PYTHON} ${HELPER} list-json-format cwd=${WORKSPACE} Log ${result.stdout} Log ${result.stderr} diff --git a/robot/actor_configuration.robot b/robot/actor_configuration.robot index 1fa32b9a1..a6b1e3057 100644 --- a/robot/actor_configuration.robot +++ b/robot/actor_configuration.robot @@ -5,7 +5,7 @@ Library Process *** Test Cases *** Missing Config File Exits With Non-Zero Code And Stderr Message - [Tags] tdd_issue tdd_issue_4202 tdd_expected_fail + [Tags] tdd_issue tdd_issue_4202 ${missing}= Set Variable ${OUTPUT DIR}/does_not_exist_actor.yaml ${result}= Run Process ${PYTHON} robot/helper_actor_config.py ${missing} Should Not Be Equal As Integers ${result.rc} 0 diff --git a/robot/actor_context_export_import.robot b/robot/actor_context_export_import.robot index 7288eae9a..9a5fda636 100644 --- a/robot/actor_context_export_import.robot +++ b/robot/actor_context_export_import.robot @@ -17,7 +17,7 @@ ${CONTEXT_NAME} roundtrip-robot *** Test Cases *** Export Then Import Round-Trip Preserves Context [Documentation] Create a context, export it, remove it, import it, and verify data integrity. - [Tags] tdd_issue tdd_issue_4203 tdd_expected_fail + [Tags] tdd_issue tdd_issue_4203 # 1. Create a named context by running actor with --context ${ctx_dir} = Set Variable ${TEMP}/actor_ctx @@ -68,7 +68,7 @@ Export Then Import Round-Trip Preserves Context Export With JSON Format Flag Shows Structured Output [Documentation] Verify export to JSON file works correctly. - [Tags] tdd_issue tdd_issue_4203 tdd_expected_fail + [Tags] tdd_issue tdd_issue_4203 ${ctx_dir} = Set Variable ${TEMP}/actor_ctx_fmt Create Directory ${ctx_dir} @@ -89,7 +89,7 @@ Export With JSON Format Flag Shows Structured Output Import Into Existing Context Overwrites Data [Documentation] Verify importing into an existing context overwrites it. - [Tags] tdd_issue tdd_issue_4203 tdd_expected_fail + [Tags] tdd_issue tdd_issue_4203 ${ctx_dir} = Set Variable ${TEMP}/actor_ctx_overwrite Create Directory ${ctx_dir} diff --git a/robot/cli_extensions.robot b/robot/cli_extensions.robot index a009455d6..aa90fda7b 100644 --- a/robot/cli_extensions.robot +++ b/robot/cli_extensions.robot @@ -58,7 +58,7 @@ Action Show With Optional Actors And Invariants Action Show JSON With Optional Fields [Documentation] Verify action show JSON output includes optional fields - [Tags] tdd_issue tdd_issue_4205 tdd_expected_fail + [Tags] tdd_issue tdd_issue_4205 ${result}= Run Process ${PYTHON} ${HELPER} action-show-json cwd=${WORKSPACE} Log ${result.stdout} Log ${result.stderr} diff --git a/robot/cli_formats.robot b/robot/cli_formats.robot index 0d604854e..3f7d6362e 100644 --- a/robot/cli_formats.robot +++ b/robot/cli_formats.robot @@ -11,7 +11,7 @@ ${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 tdd_expected_fail + [Tags] tdd_issue tdd_issue_4206 ${result}= Run Process ${PYTHON} ${HELPER} action-list-json cwd=${WORKSPACE} Log ${result.stdout} Log ${result.stderr} @@ -20,14 +20,14 @@ Action List Format JSON Outputs Valid JSON Action Show Format YAML Outputs Valid YAML [Documentation] Verify that ``action show --format yaml`` emits parseable YAML - [Tags] tdd_issue tdd_issue_4206 tdd_expected_fail + [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 tdd_expected_fail + [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 @@ -45,7 +45,7 @@ Plan Status Format Plain Outputs Key-Value Pairs 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 tdd_expected_fail + [Tags] tdd_issue tdd_issue_4206 ${result}= Run Process ${PYTHON} ${HELPER} global-format-json-version cwd=${WORKSPACE} Log ${result.stdout} Log ${result.stderr} @@ -54,7 +54,7 @@ Global Format Flag JSON Propagates To Version Command 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 tdd_expected_fail + [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 @@ -82,7 +82,7 @@ Global Format Flag JSON Propagates To Diagnostics Command Global Format Shorthand Flag Works [Documentation] Verify that global ``-f json`` shorthand propagates to the version command - [Tags] tdd_issue tdd_issue_4206 tdd_expected_fail + [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 diff --git a/robot/cli_lifecycle_e2e.robot b/robot/cli_lifecycle_e2e.robot index b03f07bfc..853299788 100644 --- a/robot/cli_lifecycle_e2e.robot +++ b/robot/cli_lifecycle_e2e.robot @@ -74,7 +74,7 @@ Plan Lifecycle List Shows Plans Plan List Namespace Option Filters By Namespace [Documentation] Verify agents plan list --namespace myteam returns only plans in that namespace - [Tags] tdd_issue tdd_issue_4301 tdd_expected_fail + [Tags] tdd_issue tdd_issue_4301 ${result}= Run Process ${PYTHON} ${HELPER} plan-list-namespace cwd=${WORKSPACE} Log ${result.stdout} @@ -84,7 +84,7 @@ Plan List Namespace Option Filters By Namespace Plan List Short Namespace Option Works [Documentation] Verify agents plan list -n myteam short-form alias works correctly - [Tags] tdd_issue tdd_issue_4301 tdd_expected_fail + [Tags] tdd_issue tdd_issue_4301 ${result}= Run Process ${PYTHON} ${HELPER} plan-list-namespace-short cwd=${WORKSPACE} Log ${result.stdout} diff --git a/robot/config_project_scope.robot b/robot/config_project_scope.robot index 48a771762..22b66ea7c 100644 --- a/robot/config_project_scope.robot +++ b/robot/config_project_scope.robot @@ -34,7 +34,7 @@ Project Scoped List Overrides Only Project Scoped CLI Set Get Roundtrip [Documentation] Verify the CLI --project flag works for set and get commands - [Tags] tdd_issue tdd_issue_4303 tdd_expected_fail + [Tags] tdd_issue tdd_issue_4303 ${result}= Run Process ${PYTHON} ${HELPER} cli-roundtrip cwd=${WORKSPACE} Log ${result.stdout} diff --git a/robot/config_resolution.robot b/robot/config_resolution.robot index b5ff0339c..527115591 100644 --- a/robot/config_resolution.robot +++ b/robot/config_resolution.robot @@ -10,7 +10,7 @@ ${HELPER} ${CURDIR}/helper_config_resolution.py *** Test Cases *** Config Service Registers All Spec Keys [Documentation] Verify that the registry contains exactly 105 keys (102 spec + 1 skills + 2 server stubs) - [Tags] tdd_issue tdd_issue_4304 tdd_expected_fail + [Tags] tdd_issue tdd_issue_4304 ${result}= Run Process ${PYTHON} ${HELPER} registry-key-count cwd=${WORKSPACE} Log ${result.stdout} diff --git a/robot/container_tool_exec.robot b/robot/container_tool_exec.robot index 15d5a8f0d..15c39ccaa 100644 --- a/robot/container_tool_exec.robot +++ b/robot/container_tool_exec.robot @@ -134,7 +134,7 @@ ToolInvocation Has ContainerMetadata Field ToolRunner Container Routing Without Executor Returns Error [Documentation] ToolRunner without ContainerToolExecutor returns error for container env - [Tags] tdd_issue tdd_issue_4243 tdd_expected_fail + [Tags] tdd_issue tdd_issue_4243 ${script}= Catenate SEPARATOR=\n ... from unittest.mock import MagicMock ... from cleveragents.tool.runner import ToolRunner