Judge the controller's module check against the catalogue it is released with, captured at the group's catalogue head f3a57dcc, so a group that brings a word the trunk's catalogue lacks does not fail on the trunk (issue 774)
The release's fourth check failed TestModuleCheckPassesTheCatalogue with 27 problems. The checker clones the catalogue beside a controller's tests at its trunk, even in a group holding a catalogue pull request (mesh-delivery checker internal/check/beside.go besideFor, ADR 0484 clause 4). The release's sdk refuses an offer stating no credential form, and the trunk's catalogue states none until the release's catalogue merges. - Quick fix (not chosen): recapture alone, which the test never reads while MESH_CHECK_BESIDE is set. - Chosen: the test reads the captured copy, now at the group's catalogue f3a57dcc, through beside.CapturedDir. Every other beside test still reads the clone. The check itself is unchanged: every rule, every manifest. Moving CAPTURED to the catalogue a change is released with is part of that change. Run as the checker runs it (catalogue at main, mesh-host at main, mesh-sdk at the pin, mesh-controller's trunk beside): the whole unit and integration suite passes, 1706 tests, 8 skipped. The test also passes with the catalogue at f3a57dcc beside, and with nothing beside.
This commit is contained in:
@@ -56,9 +56,15 @@ func TestModuleCheckJudgesBetweenTheManifestsGiven(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// The real catalogue passes the command, the way it passes the test that used to be the only check.
|
||||
// The real catalogue passes the command, the way it passes the test that used to be the only check: the catalogue this
|
||||
// controller is released with, captured in testdata/beside at the commit CAPTURED names. Not the clone a merge check puts
|
||||
// beside, which is the catalogue's trunk even in a delivery group holding a catalogue pull request (ADR 0484 clause 4):
|
||||
// a controller whose check reads a word that group's catalogue brings would fail on the trunk's catalogue before the
|
||||
// group merges both (issue 774: the release's sdk refuses an offer that states no credential form, and the catalogue's
|
||||
// trunk states none until the release's catalogue merges). Moving CAPTURED to the catalogue a change is released with is
|
||||
// part of that change.
|
||||
func TestModuleCheckPassesTheCatalogue(t *testing.T) {
|
||||
root := beside.Catalogue(t)
|
||||
root := filepath.Join(beside.CapturedDir(t, "mesh-catalog"), "modules")
|
||||
paths, err := manifestsUnder(root)
|
||||
if err != nil || len(paths) == 0 {
|
||||
t.Fatalf("no manifests under %s: %v", root, err)
|
||||
|
||||
Reference in New Issue
Block a user