Files
temp/features/tdd_tool_runner_env_precedence.feature
freemo 8ea00f5185 fix: restore CI quality tests to passing state (#4175)
Co-authored-by: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
Co-committed-by: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
2026-04-08 11:02:14 +00:00

97 lines
4.6 KiB
Gherkin

# @tdd_issue @tdd_issue_2592 @tdd_bug @tdd_bug_2592 @mock_only @tdd_expected_fail @tdd_issue_4178 @skip
@skip
Feature: TDD Issue #2592 — ToolRunner.execute() 6-level execution environment precedence chain
As the tool execution engine
I want ToolRunner.execute() to apply the correct 6-level precedence chain
So that override/fallback priority semantics are honoured at tool execution time
# Unit tests: 6-level precedence chain via ToolRunner.execute()
# @tdd_issue @tdd_issue_4290 @tdd_expected_fail @skip
@skip
Scenario: Plan override wins over devcontainer (Level 1 beats Level 3)
Given a tool runner with a devcontainer-instance linked resource
When I execute the tool with plan_env "host" and plan_priority "override"
Then the resolved execution environment should be "host"
# @tdd_issue @tdd_issue_4290 @tdd_expected_fail @skip
@skip
Scenario: Project override wins over devcontainer (Level 2 beats Level 3)
Given a tool runner with a devcontainer-instance linked resource
When I execute the tool with project_env "host" and project_priority "override"
Then the resolved execution environment should be "host"
# @tdd_issue @tdd_issue_4290 @tdd_expected_fail @skip
@skip
Scenario: Devcontainer wins over plan fallback (Level 3 beats Level 4)
Given a tool runner with a devcontainer-instance linked resource
When I execute the tool with plan_env "host" and plan_priority "fallback"
Then the resolved execution environment should be "container"
# @tdd_issue @tdd_issue_4290 @tdd_expected_fail @skip
@skip
Scenario: Devcontainer wins over project fallback (Level 3 beats Level 5)
Given a tool runner with a devcontainer-instance linked resource
When I execute the tool with project_env "host" and project_priority "fallback"
Then the resolved execution environment should be "container"
# @tdd_issue @tdd_issue_4290 @tdd_expected_fail @skip
@skip
Scenario: Plan fallback used when no devcontainer (Level 4)
Given a tool runner with no linked resources
When I execute the tool with plan_env "container" and plan_priority "fallback"
Then the resolved execution environment should be "container"
# @tdd_issue @tdd_issue_4290 @tdd_expected_fail @skip
@skip
Scenario: Project fallback used when no devcontainer and no plan env (Level 5)
Given a tool runner with no linked resources
When I execute the tool with project_env "container" and project_priority "fallback"
Then the resolved execution environment should be "container"
# @tdd_issue @tdd_issue_4290 @tdd_expected_fail @skip
@skip
Scenario: Host default when nothing configured (Level 6)
Given a tool runner with no linked resources
When I execute the tool with no environment configuration
Then the resolved execution environment should be "host"
# @tdd_issue @tdd_issue_4290 @tdd_expected_fail @skip
@skip
Scenario: Plan override beats project override (Level 1 beats Level 2)
Given a tool runner with no linked resources
When I execute the tool with plan_env "host" plan_priority "override" project_env "container" project_priority "override"
Then the resolved execution environment should be "host"
# ── Integration tests: override vs fallback scenarios ──
# @tdd_issue @tdd_issue_4290 @tdd_expected_fail @skip
@skip
Scenario: Override bypasses devcontainer auto-detection
Given a tool runner with a devcontainer-instance linked resource
When I execute the tool with plan_env "host" and plan_priority "override"
Then the resolved execution environment should be "host"
And the devcontainer was not used
# @tdd_issue @tdd_issue_4290 @tdd_expected_fail @skip
@skip
Scenario: Fallback defers to devcontainer when present
Given a tool runner with a devcontainer-instance linked resource
When I execute the tool with plan_env "host" and plan_priority "fallback"
Then the resolved execution environment should be "container"
And the devcontainer was used
# @tdd_issue @tdd_issue_4290 @tdd_expected_fail @skip
@skip
Scenario: Fallback uses configured env when no devcontainer present
Given a tool runner with no linked resources
When I execute the tool with plan_env "host" and plan_priority "fallback"
Then the resolved execution environment should be "host"
# @tdd_issue @tdd_issue_4290 @tdd_expected_fail @skip
@skip
Scenario: Default priority is fallback — devcontainer wins over unconfigured plan env
Given a tool runner with a devcontainer-instance linked resource
When I execute the tool with plan_env "host" and no explicit priority
Then the resolved execution environment should be "container"