Allow explicit publication stores in Git metadata
This commit is contained in:
@@ -142,6 +142,36 @@ func TestSaveEvidenceResolvesRelativeAndIgnoredOverrides(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestSaveEvidenceAllowsExplicitGitMetadataStores(t *testing.T) {
|
||||
for _, layout := range []string{"ordinary", "linked", "separate"} {
|
||||
t.Run(layout, func(t *testing.T) {
|
||||
repo := recordRepo(t)
|
||||
switch layout {
|
||||
case "linked":
|
||||
linked := filepath.Join(t.TempDir(), "linked")
|
||||
recordGit(t, repo, "worktree", "add", "--detach", linked)
|
||||
repo = linked
|
||||
case "separate":
|
||||
recordGit(t, repo, "init", "--separate-git-dir", filepath.Join(t.TempDir(), "metadata"))
|
||||
}
|
||||
defaultPath, err := SaveEvidence(repo, "", Evidence{})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
privateDir := strings.TrimSuffix(recordGit(t, repo, "rev-parse", "--absolute-git-dir"), "\n")
|
||||
for _, directory := range []string{filepath.Dir(defaultPath), filepath.Join(privateDir, "other-private-records")} {
|
||||
path, err := SaveEvidence(repo, directory, Evidence{Tag: "v1.2.3"})
|
||||
if err != nil || filepath.Dir(path) != directory {
|
||||
t.Fatalf("explicit metadata store %q = %q, %v", directory, path, err)
|
||||
}
|
||||
}
|
||||
if status := recordGit(t, repo, "status", "--porcelain"); status != "" {
|
||||
t.Fatalf("metadata records appeared in candidate: %s", status)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestSaveEvidenceRejectsUnignoredOverrideInsideWorktree(t *testing.T) {
|
||||
repo := recordRepo(t)
|
||||
_, err := SaveEvidence(repo, "records", Evidence{Tag: "v1.2.3"})
|
||||
|
||||
Reference in New Issue
Block a user