Skip to content

tests: the pins row's merged-away check (#676, PR #751) has no test for a prepare that refuses, or for both, upstream-removed and unmapped beside a merged-away row; two mutants survive #755

Closed

Description

@brettheap

Goal: the tests pin every branch of refusals_ahead, the check #751 adds to the doctor's pins row for #676. A wrong return or a narrowed state list must then fail a test.

Filed by lane openRepoShape-3 under v1.1.1, on Brett Heap's word of 2026-10-16T13:35:28Z ("yes create v1.1.1"). Lane 3's reviewer RV-f found these while reviewing #751, as S1 and S2. RV-f measured the code right in every state below. Only the tests are missing.

What survives on #751's head b7312258:

  • A prepare refusal returning {} instead of None (shape-doctor.py:2775): 14 tests pass.
  • Counting only copy-is-link as a refusal ahead (:2777): all tests pass.

What to add in tests/test_update_shape_merged_away.py:

  1. A merged-away root whose prepare refuses, for example run from shape-doctor.py and update-shape.py: run from a partial clone of the standard, the shape currency row asks without fetching whether the clone holds what the comparison reads, and is CANNOT ANSWER with a fetch for a person to run where it does not, and a read that fails is refused, never a copy called both (#683) #742's promisor = false-alone clone, or from a standard lacking the pinned commit. Assert the pins row keeps its gate and has no merged_away key.
  2. One parametrized test over both, upstream-removed and unmapped beside a merged-away row. Assert the row keeps the gate and names the state, and that the printed apply, pasted, exits 2. RV-f measured all three as update-conflict. Unmapped is the cheapest to build: a pin row for a root file no upstream path maps to.

Lands after: #751.

Activity

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

    @brettheap
    ContributorAuthor

    CLAIMED — lane openRepoShape-3, session b30e8b49-f249-4668-adb1-1dbfa93c09e1@Eagle, 2026-10-16T23:35:20Z, for #755

    Logged in lanes/log/openRepoShape-3.md at db644ca86d84a459feab0917064a9b7f0e746862.

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

    1. existing `CLAIMED —` comments on opensoft/openRepoShape#755:
       none
    2. `gh pr list --repo opensoft/openRepoShape --state all --search "#755"`, kept where the row or its body names `#755`:
       none
    3. `git ls-remote --heads git@github.com:opensoft/openRepoShape` branches naming `755` 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