Equivalence harness: regression (drift) mode for in-place COBOL changes

オープン
#4,513 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
38/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
python
領域
testing, tooling

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

enhancement legacy-modernization testing

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.

  1. Generate scenarios for a program and commit the original's outputs as an approved baseline.
  2. On every change, re-run them. Any changed output is flagged, with the exact field and scenario.
  3. 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.
  4. 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.

主要言語
Python
スター
57
フォーク
11
平均マージ
1時間 35分
マージ済み PR(30日)
975

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

squid-protocol/gitgalaxy のほかの issue

squid-protocol/gitgalaxy の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。