diff --git a/modules/mesh-delivery-indexer/internal/beside/beside.go b/modules/mesh-delivery-indexer/internal/beside/beside.go index d31ec1d..ed3de0e 100644 --- a/modules/mesh-delivery-indexer/internal/beside/beside.go +++ b/modules/mesh-delivery-indexer/internal/beside/beside.go @@ -54,18 +54,24 @@ const CapturedSuffix = ".captured" // says which in the test's log. func Dir(t testing.TB, repository string) string { t.Helper() - if root := os.Getenv(Env); root != "" { + root := os.Getenv(Env) + if root != "" { dir := filepath.Join(root, repository) - if _, err := os.Stat(dir); err != nil { - t.Fatalf("%s is not beside this check in %s=%s, so its agreement with this repository cannot be "+ - "judged here: %v", repository, Env, root, err) + if _, err := os.Stat(dir); err == nil { + t.Logf("judged against %s as cloned beside this check", dir) + return dir } - t.Logf("judged against %s as cloned beside this check", dir) - return dir } + // Not beside this run: the checker places beside mesh-delivery only what its besideRules name for it (mesh-sdk and + // the catalogue, issue 1585), so a sibling it does not place (mesh-host) is read from the captured copy, said, and a + // check is never skipped. Only a sibling with neither fails. from := filepath.Join(Captured(), repository) if _, err := os.Stat(from); err != nil { - t.Fatalf("no captured copy of %s at %s: %v", repository, from, err) + t.Fatalf("%s is neither beside this check (%s=%q) nor captured at %s: %v", repository, Env, root, from, err) + } + if root != "" { + t.Logf("%s is not beside this check in %s=%s (the checker places it beside no mesh-delivery check): read from "+ + "its captured copy", repository, Env, root) } dir, err := layOut(repository, from) if err != nil {