Accept equivalent checkout paths in build receipts
This commit is contained in:
@@ -66,6 +66,23 @@ func TestBuildReceiptRoundTripBindsRootAndNestedModuleIdentity(t *testing.T) {
|
||||
if !loaded.MatchesBuild(repositoryDir, strings.Repeat("a", 40), "v1.2.3", settings) {
|
||||
t.Fatalf("receipt does not match normalized build settings: %#v", loaded)
|
||||
}
|
||||
aliases := t.TempDir()
|
||||
repositoryAlias, outputAlias := filepath.Join(aliases, "repository"), filepath.Join(aliases, "output")
|
||||
if err := os.Symlink(repositoryDir, repositoryAlias); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := os.Symlink(outputDir, outputAlias); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !loaded.MatchesBuild(repositoryAlias, receipt.CandidateCommit, receipt.Version, settings) {
|
||||
t.Fatal("receipt rejected an alias of its source repository")
|
||||
}
|
||||
if _, err := LoadBuildReceipt(filepath.Join(outputAlias, BuildReceiptName)); err != nil {
|
||||
t.Fatalf("load receipt through output alias: %v", err)
|
||||
}
|
||||
if loaded.MatchesBuild(t.TempDir(), receipt.CandidateCommit, receipt.Version, settings) {
|
||||
t.Fatal("receipt matched a different repository")
|
||||
}
|
||||
settings.BinaryName = "other"
|
||||
if loaded.MatchesBuild(repositoryDir, strings.Repeat("a", 40), "v1.2.3", settings) {
|
||||
t.Fatal("receipt matched changed build settings")
|
||||
|
||||
Reference in New Issue
Block a user