Equivalence harness: regression (drift) mode for in-place COBOL changes
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 38/100
Research direction
Read related issues #4051 (declared differences), #4050 (z/OS-native original), #3804 and #4493 before coding. Find the existing golden-master/equivalence harness that generates scenarios for COBOL programs and how outputs are compared. Add a drift/regression mode that commits original outputs as baseline, re-runs on change, flags unapproved field-and-scenario diffs, and reuses #4051 rather than a second mechanism. Done when a demo PR that changes one COBOL program shows an approved difference passing and an unintended side effect failing.
Written by the indexing model from the issue text.
Description
Why. The same generated golden-master scenarios that verify a translation can guard everyday changes to the original COBOL: a CICS developer changes a program and wants proof that only the intended outputs changed.
What.
- Generate scenarios for a program and commit the original's outputs as an approved baseline.
- On every change, re-run them. Any changed output is flagged, with the exact field and scenario.
- A person approves intended differences, scoped (e.g. 'only LATE-FEE, only for overdue accounts'). Build this on #4051 (declared differences), not a second mechanism.
- Anything not approved fails the check.
Note: this checks that behavior is UNCHANGED, not that it is correct. Existing bugs are baselined too. For z/OS-native shops it needs the original to run there (#4050).
Done when: a demo PR that changes one COBOL program shows the approved difference passing and an unintended side effect caught.
Related: #3804, #4051, #4050, #4493.
- Dominant language
- Python
- Stars
- 57
- Forks
- 11
- Avg merge
- 1h 35m
- Merged PRs (30d)
- 975
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from squid-protocol/gitgalaxy
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
squid-protocol/gitgalaxy#7827 · 1 comment ·
Maintainers usually reply within 1 day
-
scope:frontier
Difficulty 5/5 Over a week Newbie friendliness 18/100
squid-protocol/gitgalaxy#7900 ·
Maintainers usually reply within 1 day
-
core-engine scope:infra testing
Difficulty 4/5 3-5 days Newbie friendliness 54/100
squid-protocol/gitgalaxy#7863 · 1 comment ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
squid-protocol/gitgalaxy#7834 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 56/100
squid-protocol/gitgalaxy#7828 · 1 comment ·
Maintainers usually reply within 1 day
All issues in squid-protocol/gitgalaxy
Similar issues
-
bug good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
graphql-python/graphql-core#304 ·
Maintainers usually reply within 1 day
-
docs size:S
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
Gathin23/cleanyourtv#3464 ·
Maintainers usually reply within 1 day
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day