Files
temp/robot/session_list_error.robot
hurui200320 1878998b7a refactor(testing): rename tdd_bug/tdd_bug_N tags to tdd_issue/tdd_issue_N
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
2026-03-27 05:58:35 +00:00

57 lines
3.2 KiB
Plaintext

*** Settings ***
Documentation Integration smoke test for session list DI error (bug #554).
... Regression tests verifying that the DI container fix for
... session list works correctly. Bug #554 is now fixed.
Resource ${CURDIR}/common.resource
Library Process
Library OperatingSystem
Suite Setup Setup Test Environment
Suite Teardown Cleanup Test Environment
*** Comments ***
# NOTE: ``Should Contain`` and ``Should Not Contain`` are case-sensitive
# by default in Robot Framework. The assertions below rely on the exact
# output format produced by the CLI:
# - "AttributeError" (Python exception class name, title-case)
# If the production code changes its error message casing, update these
# assertions accordingly.
*** Test Cases ***
Session List After Init Should Not Error
[Documentation] After agents init, session list should exit 0 and show
... "No sessions found" rather than a DI AttributeError.
[Tags] tdd_issue tdd_issue_554
${tmpdir}= Evaluate __import__('tempfile').mkdtemp(prefix='sle_554_')
${init}= Run Process ${PYTHON} -m cleveragents init sle-test
... timeout=120s on_timeout=kill cwd=${tmpdir}
Should Be Equal As Integers ${init.rc} 0
... msg=agents init should exit 0 but got ${init.rc}. stderr: ${init.stderr}
${list}= Run Process ${PYTHON} -m cleveragents session list
... timeout=120s on_timeout=kill cwd=${tmpdir}
Should Be Equal As Integers ${list.rc} 0
... msg=session list should exit 0 but got ${list.rc}. stderr: ${list.stderr}
Should Not Contain ${list.stderr} AttributeError
... msg=session list should not raise AttributeError in stderr: ${list.stderr}
Should Not Contain ${list.stdout} AttributeError
... msg=session list should not raise AttributeError in stdout: ${list.stdout}
[Teardown] Remove Directory ${tmpdir} recursive=True
Session List JSON Format Does Not Error
[Documentation] session list --format json should exit 0 without raising
... a DI AttributeError.
[Tags] tdd_issue tdd_issue_554
${tmpdir}= Evaluate __import__('tempfile').mkdtemp(prefix='sle_554_json_')
${init}= Run Process ${PYTHON} -m cleveragents init sle-json
... timeout=120s on_timeout=kill cwd=${tmpdir}
Should Be Equal As Integers ${init.rc} 0
... msg=agents init should exit 0 but got ${init.rc}. stderr: ${init.stderr}
${list}= Run Process ${PYTHON} -m cleveragents session list --format json
... timeout=120s on_timeout=kill cwd=${tmpdir}
Should Be Equal As Integers ${list.rc} 0
... msg=session list --format json should exit 0 but got ${list.rc}. stderr: ${list.stderr}
Should Not Contain ${list.stderr} AttributeError
... msg=session list --format json should not raise AttributeError in stderr: ${list.stderr}
Should Not Contain ${list.stdout} AttributeError
... msg=session list --format json should not raise AttributeError in stdout: ${list.stdout}
[Teardown] Remove Directory ${tmpdir} recursive=True