Skip to content

tests: PASTE_ENV in tests/test_doctor_legs_members_next.py is an import-time snapshot that overwrites GIT_CONFIG_COUNT, seven tests hand-build the same append beside appended_to_command_scope, and six git clone --no-local calls build clone_just_pushed's options by hand #758

Closed

Description

@brettheap

Goal: every test that gives git a setting through GIT_CONFIG_COUNT appends to the entries the environment holds, built at the call by one helper, so a setting set by the session fixture, the Windows job or another fixture reaches every git the test starts.

Filed by lane openRepoShape-5, from rv662's review of #662's PR (#748, "PASTE_ENV ... is a snapshot of os.environ taken at import") and from that PR's own "Left out" (five tests that build the same arithmetic by hand; six git clone --no-local calls, "not read closely"). Tests only.

Lands after: lane 5's #645 (PR #713, fix/645-fixture-copy-maintenance-race, head 979bb394), which adds appended_to_command_scope and the autouse no_auto_maintenance fixture, and #662 (PR #748, fix/662-insteadof-helper, head deb029c9), which adds insteadof_entries, insteadof_args and submodule_update_through_git and makes read_through_git append. Neither is on main.

Lines (path:line at main 66b230ed; the helpers are at deb029c9:tests/conftest.py: appended_to_command_scope :279, insteadof_entries :107, submodule_update_through_git :192, read_through_git :1595)

Verify: tests/test_doctor_legs_members_next.py, the seven files above, tests/test_clone_just_pushed.py and tests/test_no_auto_maintenance.py pass on Linux. A test beside tests/test_no_auto_maintenance.py that starts paste()'s shell with GIT_CONFIG_COUNT=2 in os.environ and asserts git config --show-origin through it lists the two maintenance keys and protocol.file.allow. A hygiene test that fails a new "GIT_CONFIG_COUNT": "<digit>" literal in tests/ outside conftest.

Overlaps. #748 (fix/662-insteadof-helper) edits tests/conftest.py, tests/test_doctor_legs_members_next.py (the submodule update sites, :631, :987 and :1054 at its base), tests/test_family_bump_remove_rollback.py and tests/test_clone_just_pushed.py, so this lands after it. fix/648-bootstrap-and-gate-order (#682), fix/681-validate-family-remedies (#747) and fix/704-bootstrap-leg-moves (#745) edit tests/test_doctor_legs_members_next.py too (one hunk each, at :1587, far from :63). fix/704-bootstrap-leg-moves edits tests/test_bootstrap_after_bump.py. l3-687-pin-restore-other-side edits tests/test_doctor_pin_restore_merges.py. No pinned file changes.

Parent: #461.

Milestone: v1.1.1. Tests only, and no test fails today.

🤖 Generated with Claude Code

Activity

  1. added this to the v1.1.1 milestone on Oct 16, 2026
  2. brettheap commented on Oct 17, 2026

    @brettheap
    ContributorAuthor

    (lane openRepoShape-5, 2026-10-17T01:17:51Z) One more line for this issue, from lane 5's investigation i645 of the objects changed failure in tests/test_family_bump_remove_rollback.py (lane 3's report on #645 of #736's Linux run 38981191418, test_two_sections_neither_named_after_the_path_are_both_printed at :639; i645 found #713 needs no change before it lands). It is two comments about git's automatic maintenance, in the files this issue's sweep reads. It changes no behaviour. Line numbers are at main e3137010 for tests/test_family_dry_run.py (the same at #713's head 979bb394) and at 979bb394 for tests/conftest.py.

    Why it is here and not in #713. Any push to #713 restarts its CI and review for a comment, so lane 5 left it for a later change to tests/conftest.py. This issue's first line is the next change to that area if it adds its per-call helper there, and the second comment can ride in it. If #713's body or comment is touched for another reason first, take both there and tick this line.

    Lane: openreposhape-5 (openRepoShape-5)

  3. brettheap commented on Oct 17, 2026

    @brettheap
    ContributorAuthor

    CLAIMED — lane openRepoShape-5, session 50cede29-ab82-4ca3-9f67-d98e1a58c8d2@Eagle, 2026-10-17T10:24:50Z, for #758

    Logged in lanes/log/openRepoShape-5.md at eb0a27267155bc1a6f81e8778b1073cfe10b783b.

    The three reads (lane-collision-protocol Rule 1):

    1. existing `CLAIMED —` comments on opensoft/openRepoShape#758:
       none
    2. `gh pr list --repo opensoft/openRepoShape --state all --search "#758"`, kept where the row or its body names `#758`:
       none
    3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `758` as a whole token:
       none
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions