Sweep remaining test and fixture git setup onto OsGit ScratchRepo #1606
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
rule-proposal
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#1606
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
About 72 test, eval, and fixture files build throwaway repositories with their own
git init,add,commit, andworktreecalls (section D of the checklist). Each plugin migration ticket replaces the test rows of its own plugin. This ticket is the final sweep for the rows that no migration ticket took.Design:
docs/os-git/use-cases-and-domain.md(design) anddocs/os-git/call-site-checklist.md(call sites). Settled decisions are in design section 1 (docs/os-git/use-cases-and-domain.md): the gem lives inplugins/os-gitwith apath:source;git-contextandos:worktreemerge intoos-git; old wrappers go only after all references are updated; design order is use-cases, objects, interfaces;os-contextandos-vaultbecome Ruby; ticket tracking stays out ofos-git.Reproduce
n/a: structural change.
Approach
Each migration ticket owns these test rows: the worktree ticket (#1589) owns G-121 to G-143; the os-sdlc ticket (#1592) owns G-144 to G-171; the takedown ticket (#1593) owns G-172 to G-174; G-175 belongs to #1595; G-176 to G-181 to #1594; G-182 and G-183 to #1597; G-184 to G-186 to #1596; G-187 to #1590; G-188 to G-191 to #1591; G-192 to #1602. After those tickets close, walk section D, find every row still unmarked, and replace its setup with
OsGit::Testing::ScratchRepo. Mark a row out of scope with a reason when the file tests a deleted wrapper, or is Python test code that waits for a port.Required work: none beyond the acceptance criteria.
Acceptance criteria
- [x]or marked out of scope with a reason.git init,git add,git commit, andOpen3calls that start git, then none remains outsideOsGitand rows marked out of scope.Blocking edges
Blocked by every migration ticket: #1589, #1592, #1593, #1595, #1594, #1597, #1596, #1590, #1591, #1602.
Origin
Resolution
Done: All test git calls go through OsGit; new ScratchRepo#stage_all. Section D rows are marked, or deferred for #1590 and #1597, or out of scope. tests/all.rb:6 has an out-of-scope note: it runs before the bundle loads.
Evidence: main
9cd21db7(commit0a4ddd7e). os 241 runs, os-git 363 runs, os-sdlc 3502 runs, all 0 failures.Follow-ups: none: Python subprocess git in test_patch_applier.py stays with #1597