1878998b7a
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 25s
CI / lint (pull_request) Successful in 3m19s
CI / typecheck (pull_request) Successful in 3m56s
CI / security (pull_request) Successful in 4m6s
CI / quality (pull_request) Successful in 4m10s
CI / integration_tests (pull_request) Successful in 7m20s
CI / unit_tests (pull_request) Successful in 7m44s
CI / docker (pull_request) Successful in 1m8s
CI / e2e_tests (pull_request) Successful in 13m1s
CI / coverage (pull_request) Successful in 12m25s
CI / status-check (pull_request) Successful in 1s
CI / build (push) Successful in 26s
CI / lint (push) Successful in 3m31s
CI / quality (push) Successful in 3m40s
CI / typecheck (push) Successful in 3m57s
CI / benchmark-regression (push) Has been skipped
CI / security (push) Successful in 4m1s
CI / integration_tests (push) Successful in 8m55s
CI / unit_tests (push) Successful in 9m14s
CI / docker (push) Successful in 9s
CI / e2e_tests (push) Successful in 11m42s
CI / coverage (push) Successful in 11m37s
CI / status-check (push) Successful in 4s
CI / benchmark-publish (push) Successful in 29m25s
CI / benchmark-regression (pull_request) Successful in 54m8s
Rename the TDD tag system from tdd_bug/tdd_bug_<N> to tdd_issue/tdd_issue_<N> across the entire codebase. The tdd_expected_fail tag is unchanged. The TDD expected-failure workflow is not limited to bug fixes — it applies equally to any issue type (features, tasks, refactors). The _bug suffix was misleading and narrowed the perceived scope. The new _issue suffix accurately reflects that the TDD tagging system applies to any Forgejo issue. Changes span 92 files: - features/environment.py: validate_tdd_tags(), should_invert_result(), and apply_tdd_inversion() updated — regex, variables, error messages - robot/tdd_expected_fail_listener.py: _validate_tdd_tags(), _should_invert_result(), start_test(), end_test() updated consistently - 33 Behave .feature files: all @tdd_bug/@tdd_bug_<N> tags renamed - 29 Robot .robot files: all tdd_bug/tdd_bug_<N> tags renamed - 3 Robot fixture files renamed (tdd_bug_alone, tdd_missing_tdd_bug, tdd_expected_fail_missing_bug_n) with content and references updated - Tag validation tests and helpers updated (function names, command dispatch keys, output strings, fixture references) - CONTRIBUTING.md: section renamed from 'TDD Bug Test Tags' to 'TDD Issue Test Tags', all tag references and examples updated - noxfile.py: comment references updated - Step definition files, mock helpers, and benchmark files: docstring references updated ISSUES CLOSED: #965
56 lines
2.9 KiB
Plaintext
56 lines
2.9 KiB
Plaintext
*** Settings ***
|
|
Documentation Regression guard tests for bug #647 - Container.resolve() crash
|
|
... Three CLI commands (plan tree, plan explain, plan correct)
|
|
... are regression-guarded after the historical
|
|
... Container.resolve() crash was fixed.
|
|
...
|
|
... These tests use a REAL DI container (not MagicMock).
|
|
... Existing M3 tests missed this class of issue because
|
|
... they mock get_container() with MagicMock which auto-creates
|
|
... any attribute.
|
|
...
|
|
... NOTE: Bug #647 appears fixed; these tests now run as normal
|
|
... regression checks for correct command behavior.
|
|
...
|
|
... Tags: tdd_issue, tdd_issue_647
|
|
Resource ${CURDIR}/common.resource
|
|
Suite Setup Run Keywords Setup Test Environment AND Setup Database Isolation
|
|
Suite Teardown Cleanup Test Environment
|
|
|
|
*** Variables ***
|
|
${HELPER} ${CURDIR}/helper_container_resolve_crash.py
|
|
|
|
*** Test Cases ***
|
|
Plan Tree Regression Guard For Container.resolve()
|
|
[Documentation] Regression guard: plan tree should run without resolve() crash
|
|
[Tags] tdd_issue tdd_issue_647
|
|
${result}= Run Process ${PYTHON} ${HELPER} plan-tree-crash cwd=${WORKSPACE} timeout=120s on_timeout=kill
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Run Keyword If ${result.rc} == 2 Fail Unexpected non-AttributeError failure: ${result.stderr}
|
|
# Helper exits 0 only when command behaves correctly.
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} plan-tree-crash-ok
|
|
|
|
Plan Explain Regression Guard For Container.resolve()
|
|
[Documentation] Regression guard: plan explain should run without resolve() crash
|
|
[Tags] tdd_issue tdd_issue_647
|
|
${result}= Run Process ${PYTHON} ${HELPER} plan-explain-crash cwd=${WORKSPACE} timeout=120s on_timeout=kill
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Run Keyword If ${result.rc} == 2 Fail Unexpected non-AttributeError failure: ${result.stderr}
|
|
# Helper exits 0 only when command behaves correctly.
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} plan-explain-crash-ok
|
|
|
|
Plan Correct Regression Guard For Container.resolve()
|
|
[Documentation] Regression guard: plan correct should run without resolve() crash
|
|
[Tags] tdd_issue tdd_issue_647
|
|
${result}= Run Process ${PYTHON} ${HELPER} plan-correct-crash cwd=${WORKSPACE} timeout=120s on_timeout=kill
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Run Keyword If ${result.rc} == 2 Fail Unexpected non-AttributeError failure: ${result.stderr}
|
|
# Helper exits 0 only when command behaves correctly.
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} plan-correct-crash-ok
|