diff --git a/cmd/dep/ensure.go b/cmd/dep/ensure.go index b10ec0f622..2e348cd7d4 100644 --- a/cmd/dep/ensure.go +++ b/cmd/dep/ensure.go @@ -162,7 +162,7 @@ func (cmd *ensureCommand) Run(ctx *dep.Ctx, args []string) error { writeV = dep.VendorAlways } - newLock := dep.LockFromInterface(solution) + newLock := dep.LockFromSolution(solution) sw, err := dep.NewSafeWriter(nil, p.Lock, newLock, writeV) if err != nil { return err diff --git a/cmd/dep/init.go b/cmd/dep/init.go index efc0863ee8..2df5361a92 100644 --- a/cmd/dep/init.go +++ b/cmd/dep/init.go @@ -178,7 +178,7 @@ func (cmd *initCommand) Run(ctx *dep.Ctx, args []string) error { handleAllTheFailuresOfTheWorld(err) return err } - l = dep.LockFromInterface(soln) + l = dep.LockFromSolution(soln) // Iterate through the new projects in solved lock and add them to manifest // if direct deps and log feedback for all the new projects. @@ -211,7 +211,7 @@ func (cmd *initCommand) Run(ctx *dep.Ctx, args []string) error { return errors.Wrap(err, "prepare solver") } - l.Memo = s.HashInputs() + l.SolveMeta.Memo = s.HashInputs() // Pass timestamp (yyyyMMddHHmmss format) as suffix to backup name. vendorbak, err := dep.BackupVendor(vpath, time.Now().Format("20060102150405")) diff --git a/cmd/dep/prune.go b/cmd/dep/prune.go index cd59655160..fa2e6a7b91 100644 --- a/cmd/dep/prune.go +++ b/cmd/dep/prune.go @@ -68,7 +68,7 @@ func (cmd *pruneCommand) Run(ctx *dep.Ctx, args []string) error { return errors.Wrap(err, "could not set up solver for input hashing") } - if !bytes.Equal(s.HashInputs(), p.Lock.Memo) { + if !bytes.Equal(s.HashInputs(), p.Lock.SolveMeta.Memo) { return fmt.Errorf("lock hash doesn't match") } diff --git a/cmd/dep/remove.go b/cmd/dep/remove.go index e53e68e7da..90d81e50d6 100644 --- a/cmd/dep/remove.go +++ b/cmd/dep/remove.go @@ -176,7 +176,7 @@ func (cmd *removeCommand) Run(ctx *dep.Ctx, args []string) error { return err } - newLock := dep.LockFromInterface(soln) + newLock := dep.LockFromSolution(soln) sw, err := dep.NewSafeWriter(nil, p.Lock, newLock, dep.VendorOnChanged) if err != nil { diff --git a/cmd/dep/status.go b/cmd/dep/status.go index 57d5440a50..4b0858c4c5 100644 --- a/cmd/dep/status.go +++ b/cmd/dep/status.go @@ -277,7 +277,7 @@ func runStatusAll(loggers *dep.Loggers, out outputter, p *dep.Project, sm gps.So slp := p.Lock.Projects() sort.Sort(dep.SortedLockedProjects(slp)) - if bytes.Equal(s.HashInputs(), p.Lock.Memo) { + if bytes.Equal(s.HashInputs(), p.Lock.SolveMeta.Memo) { // If these are equal, we're guaranteed that the lock is a transitively // complete picture of all deps. That eliminates the need for at least // some checks. diff --git a/cmd/dep/testdata/harness_tests/ensure/empty/case1/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/ensure/empty/case1/final/Gopkg.lock index 2b9c20975d..da1067fcb8 100644 --- a/cmd/dep/testdata/harness_tests/ensure/empty/case1/final/Gopkg.lock +++ b/cmd/dep/testdata/harness_tests/ensure/empty/case1/final/Gopkg.lock @@ -1,7 +1,13 @@ -memo = "14b07b05e0f01051b03887ab2bf80b516bc5510ea92f75f76c894b1745d8850c" [[projects]] name = "github.com/sdboyer/deptest" packages = ["."] revision = "ff2948a2ac8f538c4ecd55962e919d1e13e74baf" version = "v1.0.0" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "14b07b05e0f01051b03887ab2bf80b516bc5510ea92f75f76c894b1745d8850c" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/cmd/dep/testdata/harness_tests/ensure/empty/case1/testcase.json b/cmd/dep/testdata/harness_tests/ensure/empty/case1/testcase.json index 515a342de3..ba9b088aa5 100644 --- a/cmd/dep/testdata/harness_tests/ensure/empty/case1/testcase.json +++ b/cmd/dep/testdata/harness_tests/ensure/empty/case1/testcase.json @@ -3,6 +3,7 @@ ["init"], ["ensure", "-update"] ], + "error-expected": "", "vendor-final": [ "github.com/sdboyer/deptest" ] diff --git a/cmd/dep/testdata/harness_tests/ensure/empty/case2/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/ensure/empty/case2/final/Gopkg.lock index 3c588e4d62..cb9d384f10 100644 --- a/cmd/dep/testdata/harness_tests/ensure/empty/case2/final/Gopkg.lock +++ b/cmd/dep/testdata/harness_tests/ensure/empty/case2/final/Gopkg.lock @@ -1,7 +1,13 @@ -memo = "e7725ea56516a42a641aaaf5d48754258d9f3c59949cb8a0e8a21b1ab6e07179" [[projects]] name = "github.com/sdboyer/deptest" packages = ["."] revision = "ff2948a2ac8f538c4ecd55962e919d1e13e74baf" version = "v1.0.0" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "e7725ea56516a42a641aaaf5d48754258d9f3c59949cb8a0e8a21b1ab6e07179" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/cmd/dep/testdata/harness_tests/ensure/empty/case2/testcase.json b/cmd/dep/testdata/harness_tests/ensure/empty/case2/testcase.json index 19da527090..729de9d0f4 100644 --- a/cmd/dep/testdata/harness_tests/ensure/empty/case2/testcase.json +++ b/cmd/dep/testdata/harness_tests/ensure/empty/case2/testcase.json @@ -2,6 +2,7 @@ "commands": [ ["ensure"] ], + "error-expected": "", "vendor-final": [ "github.com/sdboyer/deptest" ] diff --git a/cmd/dep/testdata/harness_tests/ensure/empty/case3/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/ensure/empty/case3/final/Gopkg.lock index 4fc4f785c5..b21698e2a6 100644 --- a/cmd/dep/testdata/harness_tests/ensure/empty/case3/final/Gopkg.lock +++ b/cmd/dep/testdata/harness_tests/ensure/empty/case3/final/Gopkg.lock @@ -1,7 +1,13 @@ -memo = "e5c16e09ed6f0a1a2b3cf472c34b7fd50861dd070e81d5e623f72e8173f0c065" [[projects]] branch = "master" name = "github.com/sdboyer/deptest" packages = ["."] revision = "3f4c3bea144e112a69bbe5d8d01c1b09a544253f" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "e5c16e09ed6f0a1a2b3cf472c34b7fd50861dd070e81d5e623f72e8173f0c065" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/cmd/dep/testdata/harness_tests/ensure/empty/case3/testcase.json b/cmd/dep/testdata/harness_tests/ensure/empty/case3/testcase.json index 19da527090..729de9d0f4 100644 --- a/cmd/dep/testdata/harness_tests/ensure/empty/case3/testcase.json +++ b/cmd/dep/testdata/harness_tests/ensure/empty/case3/testcase.json @@ -2,6 +2,7 @@ "commands": [ ["ensure"] ], + "error-expected": "", "vendor-final": [ "github.com/sdboyer/deptest" ] diff --git a/cmd/dep/testdata/harness_tests/ensure/override/case1/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/ensure/override/case1/final/Gopkg.lock index e045b6b22c..e8a7a9206b 100644 --- a/cmd/dep/testdata/harness_tests/ensure/override/case1/final/Gopkg.lock +++ b/cmd/dep/testdata/harness_tests/ensure/override/case1/final/Gopkg.lock @@ -1,7 +1,13 @@ -memo = "8bca9526e654e56e05d9075d1f33fa5b649bf6d58aa7d71ca39e7fbea8468e07" [[projects]] name = "github.com/sdboyer/deptest" packages = ["."] revision = "ff2948a2ac8f538c4ecd55962e919d1e13e74baf" version = "v1.0.0" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "8bca9526e654e56e05d9075d1f33fa5b649bf6d58aa7d71ca39e7fbea8468e07" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/cmd/dep/testdata/harness_tests/ensure/override/case1/testcase.json b/cmd/dep/testdata/harness_tests/ensure/override/case1/testcase.json index c66b07ff04..efbbc392f7 100644 --- a/cmd/dep/testdata/harness_tests/ensure/override/case1/testcase.json +++ b/cmd/dep/testdata/harness_tests/ensure/override/case1/testcase.json @@ -3,6 +3,7 @@ ["init"], ["ensure", "-override", "github.com/sdboyer/deptest@1.0.0"] ], + "error-expected": "", "vendor-final": [ "github.com/sdboyer/deptest" ] diff --git a/cmd/dep/testdata/harness_tests/ensure/pkg-errors/case1/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/ensure/pkg-errors/case1/final/Gopkg.lock index 70280d1ade..ac8c5ce2e7 100644 --- a/cmd/dep/testdata/harness_tests/ensure/pkg-errors/case1/final/Gopkg.lock +++ b/cmd/dep/testdata/harness_tests/ensure/pkg-errors/case1/final/Gopkg.lock @@ -1 +1,7 @@ -memo = "ab4fef131ee828e96ba67d31a7d690bd5f2f42040c6766b1b12fe856f87e0ff7" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "ab4fef131ee828e96ba67d31a7d690bd5f2f42040c6766b1b12fe856f87e0ff7" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/cmd/dep/testdata/harness_tests/ensure/pkg-errors/case1/testcase.json b/cmd/dep/testdata/harness_tests/ensure/pkg-errors/case1/testcase.json index d3635f8d62..111c48e755 100644 --- a/cmd/dep/testdata/harness_tests/ensure/pkg-errors/case1/testcase.json +++ b/cmd/dep/testdata/harness_tests/ensure/pkg-errors/case1/testcase.json @@ -1,7 +1,8 @@ { - "commands": [ - ["init", "-no-examples"], - ["ensure", "-update"] - ], - "error-expected" : "all dirs lacked any go code" - } + "commands": [ + ["init", "-no-examples"], + ["ensure", "-update"] + ], + "error-expected": "all dirs lacked any go code", + "vendor-final": [] +} diff --git a/cmd/dep/testdata/harness_tests/ensure/update/case1/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/ensure/update/case1/final/Gopkg.lock index b808a70fc4..571fc14868 100644 --- a/cmd/dep/testdata/harness_tests/ensure/update/case1/final/Gopkg.lock +++ b/cmd/dep/testdata/harness_tests/ensure/update/case1/final/Gopkg.lock @@ -1,4 +1,3 @@ -memo = "1b381263a360eafafe3ef7f9be626672668d17250a3c9a8debd169d1b5e2eebb" [[projects]] name = "github.com/sdboyer/deptest" @@ -11,3 +10,10 @@ memo = "1b381263a360eafafe3ef7f9be626672668d17250a3c9a8debd169d1b5e2eebb" packages = ["."] revision = "5c607206be5decd28e6263ffffdcee067266015e" version = "v2.0.0" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "1b381263a360eafafe3ef7f9be626672668d17250a3c9a8debd169d1b5e2eebb" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/cmd/dep/testdata/harness_tests/ensure/update/case1/testcase.json b/cmd/dep/testdata/harness_tests/ensure/update/case1/testcase.json index cb357104b5..07bc635269 100644 --- a/cmd/dep/testdata/harness_tests/ensure/update/case1/testcase.json +++ b/cmd/dep/testdata/harness_tests/ensure/update/case1/testcase.json @@ -2,6 +2,7 @@ "commands": [ ["ensure", "-update", "github.com/sdboyer/deptest"] ], + "error-expected": "", "vendor-final": [ "github.com/sdboyer/deptest", "github.com/sdboyer/deptestdos" diff --git a/cmd/dep/testdata/harness_tests/ensure/update/case2/testcase.json b/cmd/dep/testdata/harness_tests/ensure/update/case2/testcase.json index aa86ad32f3..f0ac6111e5 100644 --- a/cmd/dep/testdata/harness_tests/ensure/update/case2/testcase.json +++ b/cmd/dep/testdata/harness_tests/ensure/update/case2/testcase.json @@ -2,5 +2,6 @@ "commands": [ ["ensure", "-n", "-update", "github.com/sdboyer/deptest"] ], + "error-expected": "", "vendor-final": [] } diff --git a/cmd/dep/testdata/harness_tests/init/case1/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/init/case1/final/Gopkg.lock index d43aa9f9ac..24d4e7fbb6 100644 --- a/cmd/dep/testdata/harness_tests/init/case1/final/Gopkg.lock +++ b/cmd/dep/testdata/harness_tests/init/case1/final/Gopkg.lock @@ -1,4 +1,3 @@ -memo = "88d2718cda70cce45158f953d2c6ead79c1db38e67e9704aff72be8fddb096e7" [[projects]] name = "github.com/sdboyer/deptest" @@ -10,3 +9,10 @@ memo = "88d2718cda70cce45158f953d2c6ead79c1db38e67e9704aff72be8fddb096e7" name = "github.com/sdboyer/deptestdos" packages = ["."] revision = "a0196baa11ea047dd65037287451d36b861b00ea" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "88d2718cda70cce45158f953d2c6ead79c1db38e67e9704aff72be8fddb096e7" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/cmd/dep/testdata/harness_tests/init/case1/testcase.json b/cmd/dep/testdata/harness_tests/init/case1/testcase.json index ea0ff80424..d1d4585460 100644 --- a/cmd/dep/testdata/harness_tests/init/case1/testcase.json +++ b/cmd/dep/testdata/harness_tests/init/case1/testcase.json @@ -2,6 +2,7 @@ "commands": [ ["init", "-no-examples"] ], + "error-expected": "", "gopath-initial": { "github.com/sdboyer/deptest": "v0.8.0", "github.com/sdboyer/deptestdos": "a0196baa11ea047dd65037287451d36b861b00ea" diff --git a/cmd/dep/testdata/harness_tests/init/case2/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/init/case2/final/Gopkg.lock index 50ed86f68e..0a80650995 100644 --- a/cmd/dep/testdata/harness_tests/init/case2/final/Gopkg.lock +++ b/cmd/dep/testdata/harness_tests/init/case2/final/Gopkg.lock @@ -1,4 +1,3 @@ -memo = "b4fe6e8bceac924197838b6ea47989abbdd3a8d31035d20ee0a1dabc0994c368" [[projects]] name = "github.com/sdboyer/deptest" @@ -11,3 +10,10 @@ memo = "b4fe6e8bceac924197838b6ea47989abbdd3a8d31035d20ee0a1dabc0994c368" packages = ["."] revision = "5c607206be5decd28e6263ffffdcee067266015e" version = "v2.0.0" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "b4fe6e8bceac924197838b6ea47989abbdd3a8d31035d20ee0a1dabc0994c368" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/cmd/dep/testdata/harness_tests/init/case2/testcase.json b/cmd/dep/testdata/harness_tests/init/case2/testcase.json index 3f3140bc04..e16b746d4b 100644 --- a/cmd/dep/testdata/harness_tests/init/case2/testcase.json +++ b/cmd/dep/testdata/harness_tests/init/case2/testcase.json @@ -2,6 +2,7 @@ "commands": [ ["init", "-no-examples"] ], + "error-expected": "", "gopath-initial": { "github.com/sdboyer/deptest": "v0.8.0" }, diff --git a/cmd/dep/testdata/harness_tests/init/case3/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/init/case3/final/Gopkg.lock index 465f59501e..88db597d6b 100644 --- a/cmd/dep/testdata/harness_tests/init/case3/final/Gopkg.lock +++ b/cmd/dep/testdata/harness_tests/init/case3/final/Gopkg.lock @@ -1,4 +1,3 @@ -memo = "af9a783a5430dabcaaf44683c09e2b729e1c0d61f13bfdf6677c4fd0b41387ca" [[projects]] branch = "master" @@ -10,3 +9,10 @@ memo = "af9a783a5430dabcaaf44683c09e2b729e1c0d61f13bfdf6677c4fd0b41387ca" name = "github.com/sdboyer/deptestdos" packages = ["."] revision = "a0196baa11ea047dd65037287451d36b861b00ea" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "af9a783a5430dabcaaf44683c09e2b729e1c0d61f13bfdf6677c4fd0b41387ca" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/cmd/dep/testdata/harness_tests/init/case3/testcase.json b/cmd/dep/testdata/harness_tests/init/case3/testcase.json index 13cba35aeb..d3a92a55e2 100644 --- a/cmd/dep/testdata/harness_tests/init/case3/testcase.json +++ b/cmd/dep/testdata/harness_tests/init/case3/testcase.json @@ -2,6 +2,7 @@ "commands": [ ["init", "-no-examples"] ], + "error-expected": "", "gopath-initial": { "github.com/sdboyer/deptestdos": "a0196baa11ea047dd65037287451d36b861b00ea" }, diff --git a/cmd/dep/testdata/harness_tests/init/manifest-exists/testcase.json b/cmd/dep/testdata/harness_tests/init/manifest-exists/testcase.json index 08322d2a49..3958059fbb 100644 --- a/cmd/dep/testdata/harness_tests/init/manifest-exists/testcase.json +++ b/cmd/dep/testdata/harness_tests/init/manifest-exists/testcase.json @@ -1,6 +1,7 @@ { - "commands": [ - ["init"] - ], - "error-expected" : "manifest already exists:" - } \ No newline at end of file + "commands": [ + ["init"] + ], + "error-expected": "manifest already exists:", + "vendor-final": [] +} diff --git a/cmd/dep/testdata/harness_tests/init/skip-hidden/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/init/skip-hidden/final/Gopkg.lock index 2b9c20975d..da1067fcb8 100644 --- a/cmd/dep/testdata/harness_tests/init/skip-hidden/final/Gopkg.lock +++ b/cmd/dep/testdata/harness_tests/init/skip-hidden/final/Gopkg.lock @@ -1,7 +1,13 @@ -memo = "14b07b05e0f01051b03887ab2bf80b516bc5510ea92f75f76c894b1745d8850c" [[projects]] name = "github.com/sdboyer/deptest" packages = ["."] revision = "ff2948a2ac8f538c4ecd55962e919d1e13e74baf" version = "v1.0.0" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "14b07b05e0f01051b03887ab2bf80b516bc5510ea92f75f76c894b1745d8850c" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/cmd/dep/testdata/harness_tests/init/skip-hidden/testcase.json b/cmd/dep/testdata/harness_tests/init/skip-hidden/testcase.json index 283604258a..5e4c2bb85d 100644 --- a/cmd/dep/testdata/harness_tests/init/skip-hidden/testcase.json +++ b/cmd/dep/testdata/harness_tests/init/skip-hidden/testcase.json @@ -2,6 +2,7 @@ "commands": [ ["init", "-no-examples"] ], + "error-expected": "", "vendor-final": [ "github.com/sdboyer/deptest" ] diff --git a/cmd/dep/testdata/harness_tests/remove/force/case1/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/remove/force/case1/final/Gopkg.lock index 03b152c335..3fcf19c3dc 100644 --- a/cmd/dep/testdata/harness_tests/remove/force/case1/final/Gopkg.lock +++ b/cmd/dep/testdata/harness_tests/remove/force/case1/final/Gopkg.lock @@ -1,4 +1,3 @@ -memo = "88d2718cda70cce45158f953d2c6ead79c1db38e67e9704aff72be8fddb096e7" [[projects]] name = "github.com/sdboyer/deptest" @@ -11,3 +10,10 @@ memo = "88d2718cda70cce45158f953d2c6ead79c1db38e67e9704aff72be8fddb096e7" packages = ["."] revision = "5c607206be5decd28e6263ffffdcee067266015e" version = "v2.0.0" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "88d2718cda70cce45158f953d2c6ead79c1db38e67e9704aff72be8fddb096e7" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/cmd/dep/testdata/harness_tests/remove/force/case1/testcase.json b/cmd/dep/testdata/harness_tests/remove/force/case1/testcase.json index 84447c9b42..ac4dbf2547 100644 --- a/cmd/dep/testdata/harness_tests/remove/force/case1/testcase.json +++ b/cmd/dep/testdata/harness_tests/remove/force/case1/testcase.json @@ -2,6 +2,7 @@ "commands": [ ["remove", "-force", "github.com/sdboyer/deptestdos", "github.com/not/used"] ], + "error-expected": "", "vendor-final": [ "github.com/sdboyer/deptest", "github.com/sdboyer/deptestdos" diff --git a/cmd/dep/testdata/harness_tests/remove/specific/case1/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/remove/specific/case1/final/Gopkg.lock index 89372cc518..30f8660059 100644 --- a/cmd/dep/testdata/harness_tests/remove/specific/case1/final/Gopkg.lock +++ b/cmd/dep/testdata/harness_tests/remove/specific/case1/final/Gopkg.lock @@ -1,4 +1,3 @@ -memo = "d414dbf5fc668c1085effa68372d02e54b23d058cc66f9fd19ba094c6a946d9b" [[projects]] name = "github.com/sdboyer/deptest" @@ -10,3 +9,10 @@ memo = "d414dbf5fc668c1085effa68372d02e54b23d058cc66f9fd19ba094c6a946d9b" name = "github.com/sdboyer/deptestdos" packages = ["."] revision = "a0196baa11ea047dd65037287451d36b861b00ea" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "d414dbf5fc668c1085effa68372d02e54b23d058cc66f9fd19ba094c6a946d9b" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/cmd/dep/testdata/harness_tests/remove/specific/case1/testcase.json b/cmd/dep/testdata/harness_tests/remove/specific/case1/testcase.json index 327867d481..5b44542ae1 100644 --- a/cmd/dep/testdata/harness_tests/remove/specific/case1/testcase.json +++ b/cmd/dep/testdata/harness_tests/remove/specific/case1/testcase.json @@ -2,6 +2,7 @@ "commands": [ ["remove", "github.com/not/used"] ], + "error-expected": "", "vendor-final": [ "github.com/sdboyer/deptest", "github.com/sdboyer/deptestdos" diff --git a/cmd/dep/testdata/harness_tests/remove/specific/case2/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/remove/specific/case2/final/Gopkg.lock index cb091e429d..15b8aaed5d 100644 --- a/cmd/dep/testdata/harness_tests/remove/specific/case2/final/Gopkg.lock +++ b/cmd/dep/testdata/harness_tests/remove/specific/case2/final/Gopkg.lock @@ -1,7 +1,13 @@ -memo = "38d8431865759ee3bf28fbdfc464f98ee8b56319394ec717df45e9969544cfca" [[projects]] name = "github.com/sdboyer/deptest" packages = ["."] revision = "ff2948a2ac8f538c4ecd55962e919d1e13e74baf" version = "v1.0.0" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "38d8431865759ee3bf28fbdfc464f98ee8b56319394ec717df45e9969544cfca" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/cmd/dep/testdata/harness_tests/remove/specific/case2/testcase.json b/cmd/dep/testdata/harness_tests/remove/specific/case2/testcase.json index 1a5f806b6c..db915f38ad 100644 --- a/cmd/dep/testdata/harness_tests/remove/specific/case2/testcase.json +++ b/cmd/dep/testdata/harness_tests/remove/specific/case2/testcase.json @@ -2,6 +2,7 @@ "commands": [ ["remove", "github.com/not/used"] ], + "error-expected": "", "vendor-initial": { "github.com/sdboyer/deptest": "v0.8.0", "github.com/sdboyer/deptestdos": "a0196baa11ea047dd65037287451d36b861b00ea" diff --git a/cmd/dep/testdata/harness_tests/remove/unused/case1/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/remove/unused/case1/final/Gopkg.lock index 89372cc518..30f8660059 100644 --- a/cmd/dep/testdata/harness_tests/remove/unused/case1/final/Gopkg.lock +++ b/cmd/dep/testdata/harness_tests/remove/unused/case1/final/Gopkg.lock @@ -1,4 +1,3 @@ -memo = "d414dbf5fc668c1085effa68372d02e54b23d058cc66f9fd19ba094c6a946d9b" [[projects]] name = "github.com/sdboyer/deptest" @@ -10,3 +9,10 @@ memo = "d414dbf5fc668c1085effa68372d02e54b23d058cc66f9fd19ba094c6a946d9b" name = "github.com/sdboyer/deptestdos" packages = ["."] revision = "a0196baa11ea047dd65037287451d36b861b00ea" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "d414dbf5fc668c1085effa68372d02e54b23d058cc66f9fd19ba094c6a946d9b" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/cmd/dep/testdata/harness_tests/remove/unused/case1/testcase.json b/cmd/dep/testdata/harness_tests/remove/unused/case1/testcase.json index 23cc6142a5..09d58975e0 100644 --- a/cmd/dep/testdata/harness_tests/remove/unused/case1/testcase.json +++ b/cmd/dep/testdata/harness_tests/remove/unused/case1/testcase.json @@ -2,6 +2,7 @@ "commands": [ ["remove", "-unused"] ], + "error-expected": "", "vendor-final": [ "github.com/sdboyer/deptest", "github.com/sdboyer/deptestdos" diff --git a/cmd/dep/testdata/harness_tests/status/case1/dot/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/status/case1/dot/final/Gopkg.lock index 9b7e4cbf29..a237f4f080 100644 --- a/cmd/dep/testdata/harness_tests/status/case1/dot/final/Gopkg.lock +++ b/cmd/dep/testdata/harness_tests/status/case1/dot/final/Gopkg.lock @@ -1,4 +1,3 @@ -memo = "88d2718cda70cce45158f953d2c6ead79c1db38e67e9704aff72be8fddb096e7" [[projects]] name = "github.com/sdboyer/deptest" @@ -11,3 +10,10 @@ memo = "88d2718cda70cce45158f953d2c6ead79c1db38e67e9704aff72be8fddb096e7" packages = ["."] revision = "5c607206be5decd28e6263ffffdcee067266015e" version = "v2.0.0" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "88d2718cda70cce45158f953d2c6ead79c1db38e67e9704aff72be8fddb096e7" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/cmd/dep/testdata/harness_tests/status/case1/dot/testcase.json b/cmd/dep/testdata/harness_tests/status/case1/dot/testcase.json index 8295f9bed1..9634c3981a 100644 --- a/cmd/dep/testdata/harness_tests/status/case1/dot/testcase.json +++ b/cmd/dep/testdata/harness_tests/status/case1/dot/testcase.json @@ -1,8 +1,9 @@ { "commands": [ ["ensure"], - ["status","-dot"] + ["status", "-dot"] ], + "error-expected": "", "vendor-final": [ "github.com/sdboyer/deptest", "github.com/sdboyer/deptestdos" diff --git a/cmd/dep/testdata/harness_tests/status/case1/json/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/status/case1/json/final/Gopkg.lock index 9b7e4cbf29..a237f4f080 100644 --- a/cmd/dep/testdata/harness_tests/status/case1/json/final/Gopkg.lock +++ b/cmd/dep/testdata/harness_tests/status/case1/json/final/Gopkg.lock @@ -1,4 +1,3 @@ -memo = "88d2718cda70cce45158f953d2c6ead79c1db38e67e9704aff72be8fddb096e7" [[projects]] name = "github.com/sdboyer/deptest" @@ -11,3 +10,10 @@ memo = "88d2718cda70cce45158f953d2c6ead79c1db38e67e9704aff72be8fddb096e7" packages = ["."] revision = "5c607206be5decd28e6263ffffdcee067266015e" version = "v2.0.0" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "88d2718cda70cce45158f953d2c6ead79c1db38e67e9704aff72be8fddb096e7" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/cmd/dep/testdata/harness_tests/status/case1/json/testcase.json b/cmd/dep/testdata/harness_tests/status/case1/json/testcase.json index 2444d2888c..9e1a0643b7 100644 --- a/cmd/dep/testdata/harness_tests/status/case1/json/testcase.json +++ b/cmd/dep/testdata/harness_tests/status/case1/json/testcase.json @@ -1,8 +1,9 @@ { "commands": [ ["ensure"], - ["status","-json"] + ["status", "-json"] ], + "error-expected": "", "vendor-final": [ "github.com/sdboyer/deptest", "github.com/sdboyer/deptestdos" diff --git a/cmd/dep/testdata/harness_tests/status/case1/table/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/status/case1/table/final/Gopkg.lock index 9b7e4cbf29..a237f4f080 100644 --- a/cmd/dep/testdata/harness_tests/status/case1/table/final/Gopkg.lock +++ b/cmd/dep/testdata/harness_tests/status/case1/table/final/Gopkg.lock @@ -1,4 +1,3 @@ -memo = "88d2718cda70cce45158f953d2c6ead79c1db38e67e9704aff72be8fddb096e7" [[projects]] name = "github.com/sdboyer/deptest" @@ -11,3 +10,10 @@ memo = "88d2718cda70cce45158f953d2c6ead79c1db38e67e9704aff72be8fddb096e7" packages = ["."] revision = "5c607206be5decd28e6263ffffdcee067266015e" version = "v2.0.0" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "88d2718cda70cce45158f953d2c6ead79c1db38e67e9704aff72be8fddb096e7" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/cmd/dep/testdata/harness_tests/status/case1/table/testcase.json b/cmd/dep/testdata/harness_tests/status/case1/table/testcase.json index 813db298bb..e1f1eadeeb 100644 --- a/cmd/dep/testdata/harness_tests/status/case1/table/testcase.json +++ b/cmd/dep/testdata/harness_tests/status/case1/table/testcase.json @@ -3,6 +3,7 @@ ["ensure"], ["status"] ], + "error-expected": "", "vendor-final": [ "github.com/sdboyer/deptest", "github.com/sdboyer/deptestdos" diff --git a/internal/gps/lock.go b/internal/gps/lock.go index 2e7b787e72..af728dd18f 100644 --- a/internal/gps/lock.go +++ b/internal/gps/lock.go @@ -17,9 +17,6 @@ import ( // solution is all that would be necessary to constitute a lock file, though // tools can include whatever other information they want in their storage. type Lock interface { - // Indicates the version of the solver used to generate this lock data - //SolverVersion() string - // The hash of inputs to gps that resulted in this lock data InputHash() []byte diff --git a/internal/gps/result.go b/internal/gps/result.go index 3c79ffeac8..03948ff5bd 100644 --- a/internal/gps/result.go +++ b/internal/gps/result.go @@ -14,6 +14,14 @@ import ( // additional methods that report information about the solve run. type Solution interface { Lock + // The name of the ProjectAnalyzer used in generating this solution. + AnalyzerName() string + // The version of the ProjectAnalyzer used in generating this solution. + AnalyzerVersion() int + // The name of the Solver used in generating this solution. + SolverName() string + // The version of the Solver used in generating this solution. + SolverVersion() int Attempts() int } @@ -26,6 +34,15 @@ type solution struct { // The hash digest of the input opts hd []byte + + // The analyzer name + analyzerName string + + // The analyzer version + analyzerVersion int + + // The solver used in producing this solution + solv Solver } // WriteDepTree takes a basedir and a Lock, and exports all the projects @@ -76,3 +93,19 @@ func (r solution) Attempts() int { func (r solution) InputHash() []byte { return r.hd } + +func (r solution) AnalyzerName() string { + return r.analyzerName +} + +func (r solution) AnalyzerVersion() int { + return r.analyzerVersion +} + +func (r solution) SolverName() string { + return r.solv.Name() +} + +func (r solution) SolverVersion() int { + return r.solv.Version() +} diff --git a/internal/gps/result_test.go b/internal/gps/result_test.go index ad2c235c94..b3a0ba949b 100644 --- a/internal/gps/result_test.go +++ b/internal/gps/result_test.go @@ -35,6 +35,7 @@ func init() { }, nil), }, } + basicResult.analyzerName, basicResult.analyzerVersion = (naiveAnalyzer{}).Info() // just in case something needs punishing, kubernetes is happy to oblige kub = atom{ diff --git a/internal/gps/solver.go b/internal/gps/solver.go index c2b8203ac7..674524ef71 100644 --- a/internal/gps/solver.go +++ b/internal/gps/solver.go @@ -333,6 +333,49 @@ type Solver interface { // Solve initiates a solving run. It will either complete successfully with // a Solution, or fail with an informative error. Solve() (Solution, error) + + // Name returns a string identifying the particular solver backend. + // + // Different solvers likely have different invariants, and likely will not + // have identical possible result sets for any particular inputs; in some + // cases, they may even be disjoint. + Name() string + + // Version returns an int indicating the version of the solver of the given + // Name(). Implementations should change their reported version ONLY when + // the logic is changed in such a way that substantially changes the result + // set that is possible for a substantial subset of likely inputs. + // + // "Substantial" is an imprecise term, and it is used intentionally. There + // are no easy, general ways of subdividing constraint solving problems such + // that one can know, a priori, the full impact that subtle algorithmic + // changes will have on possible result sets. Consequently, we have to fall + // back on coarser, intuition-based reasoning as to whether a change is + // large enough that it is likely to be broadly user-visible. + // + // This is acceptable, because this value is not used programmatically by + // the solver in any way. Rather, it is intend for implementing tools to + // use as a coarse signal to users about compatibility between their tool's + // version and the current data, typically via persistence to a Lock. + // Changes to the version number reported should be weighed between + // confusing teams by having two members' tools continuously rolling back + // each others' chosen Solutions for no apparent reason, and annoying teams + // by changing the number for changes so remote that warnings about solver + // version mismatches become meaningless. + // + // Err on the side of caution. + // + // Chronology is the only implication of the ordering - that lower version + // numbers were published before higher numbers. + Version() int +} + +func (s *solver) Name() string { + return "gps-cdcl" +} + +func (s *solver) Version() int { + return 1 } // Solve attempts to find a dependency solution for the given project, as @@ -356,9 +399,10 @@ func (s *solver) Solve() (Solution, error) { var soln solution if err == nil { soln = solution{ - att: s.attempts, + att: s.attempts, + solv: s, } - + soln.analyzerName, soln.analyzerVersion = s.rd.an.Info() soln.hd = s.HashInputs() // Convert ProjectAtoms into LockedProjects diff --git a/lock.go b/lock.go index 3f0c02e92e..e3a3d181f5 100644 --- a/lock.go +++ b/lock.go @@ -18,13 +18,29 @@ import ( const LockName = "Gopkg.lock" type Lock struct { - Memo []byte - P []gps.LockedProject + SolveMeta SolveMeta + P []gps.LockedProject +} + +type SolveMeta struct { + Memo []byte + AnalyzerName string + AnalyzerVersion int + SolverName string + SolverVersion int } type rawLock struct { - Memo string `toml:"memo"` - Projects []rawLockedProject `toml:"projects"` + SolveMeta solveMeta `toml:"solve-meta"` + Projects []rawLockedProject `toml:"projects"` +} + +type solveMeta struct { + InputsDigest string `toml:"inputs-digest"` + AnalyzerName string `toml:"analyzer-name"` + AnalyzerVersion int `toml:"analyzer-version"` + SolverName string `toml:"solver-name"` + SolverVersion int `toml:"solver-version"` } type rawLockedProject struct { @@ -58,11 +74,16 @@ func fromRawLock(raw rawLock) (*Lock, error) { P: make([]gps.LockedProject, len(raw.Projects)), } - l.Memo, err = hex.DecodeString(raw.Memo) + l.SolveMeta.Memo, err = hex.DecodeString(raw.SolveMeta.InputsDigest) if err != nil { return nil, errors.Errorf("invalid hash digest in lock's memo field") } + l.SolveMeta.AnalyzerName = raw.SolveMeta.AnalyzerName + l.SolveMeta.AnalyzerVersion = raw.SolveMeta.AnalyzerVersion + l.SolveMeta.SolverName = raw.SolveMeta.SolverName + l.SolveMeta.SolverVersion = raw.SolveMeta.SolverVersion + for i, ld := range raw.Projects { r := gps.Revision(ld.Revision) @@ -84,11 +105,12 @@ func fromRawLock(raw rawLock) (*Lock, error) { } l.P[i] = gps.NewLockedProject(id, v, ld.Packages) } + return l, nil } func (l *Lock) InputHash() []byte { - return l.Memo + return l.SolveMeta.Memo } func (l *Lock) Projects() []gps.LockedProject { @@ -98,7 +120,13 @@ func (l *Lock) Projects() []gps.LockedProject { // toRaw converts the manifest into a representation suitable to write to the lock file func (l *Lock) toRaw() rawLock { raw := rawLock{ - Memo: hex.EncodeToString(l.Memo), + SolveMeta: solveMeta{ + InputsDigest: hex.EncodeToString(l.SolveMeta.Memo), + AnalyzerName: l.SolveMeta.AnalyzerName, + AnalyzerVersion: l.SolveMeta.AnalyzerVersion, + SolverName: l.SolveMeta.SolverName, + SolverVersion: l.SolveMeta.SolverVersion, + }, Projects: make([]rawLockedProject, len(l.P)), } @@ -129,29 +157,25 @@ func (l *Lock) MarshalTOML() ([]byte, error) { return result, errors.Wrap(err, "Unable to marshal lock to TOML string") } -// LockFromInterface converts an arbitrary gps.Lock to dep's representation of a -// lock. If the input is already dep's *lock, the input is returned directly. +// LockFromSolution converts a gps.Solution to dep's representation of a lock. // // Data is defensively copied wherever necessary to ensure the resulting *lock // shares no memory with the original lock. -// -// As gps.Solution is a superset of gps.Lock, this can also be used to convert -// solutions to dep's lock format. -func LockFromInterface(in gps.Lock) *Lock { - if in == nil { - return nil - } else if l, ok := in.(*Lock); ok { - return l - } - +func LockFromSolution(in gps.Solution) *Lock { h, p := in.InputHash(), in.Projects() l := &Lock{ - Memo: make([]byte, len(h)), - P: make([]gps.LockedProject, len(p)), + SolveMeta: SolveMeta{ + Memo: make([]byte, len(h)), + AnalyzerName: in.AnalyzerName(), + AnalyzerVersion: in.AnalyzerVersion(), + SolverName: in.SolverName(), + SolverVersion: in.SolverVersion(), + }, + P: make([]gps.LockedProject, len(p)), } - copy(l.Memo, h) + copy(l.SolveMeta.Memo, h) copy(l.P, p) return l } diff --git a/lock_test.go b/lock_test.go index 2f035756b6..3a80227ad2 100644 --- a/lock_test.go +++ b/lock_test.go @@ -28,7 +28,9 @@ func TestReadLock(t *testing.T) { b, _ := hex.DecodeString("2252a285ab27944a4d7adcba8dbd03980f59ba652f12db39fa93b927c345593e") want := &Lock{ - Memo: b, + SolveMeta: SolveMeta{ + Memo: b, + }, P: []gps.LockedProject{ gps.NewLockedProject( gps.ProjectIdentifier{ProjectRoot: gps.ProjectRoot("github.com/golang/dep/internal/gps")}, @@ -52,7 +54,9 @@ func TestReadLock(t *testing.T) { b, _ = hex.DecodeString("2252a285ab27944a4d7adcba8dbd03980f59ba652f12db39fa93b927c345593e") want = &Lock{ - Memo: b, + SolveMeta: SolveMeta{ + Memo: b, + }, P: []gps.LockedProject{ gps.NewLockedProject( gps.ProjectIdentifier{ProjectRoot: gps.ProjectRoot("github.com/golang/dep/internal/gps")}, @@ -75,7 +79,9 @@ func TestWriteLock(t *testing.T) { want := h.GetTestFileString(golden) memo, _ := hex.DecodeString("2252a285ab27944a4d7adcba8dbd03980f59ba652f12db39fa93b927c345593e") l := &Lock{ - Memo: memo, + SolveMeta: SolveMeta{ + Memo: memo, + }, P: []gps.LockedProject{ gps.NewLockedProject( gps.ProjectIdentifier{ProjectRoot: gps.ProjectRoot("github.com/golang/dep/internal/gps")}, @@ -104,7 +110,9 @@ func TestWriteLock(t *testing.T) { want = h.GetTestFileString(golden) memo, _ = hex.DecodeString("2252a285ab27944a4d7adcba8dbd03980f59ba652f12db39fa93b927c345593e") l = &Lock{ - Memo: memo, + SolveMeta: SolveMeta{ + Memo: memo, + }, P: []gps.LockedProject{ gps.NewLockedProject( gps.ProjectIdentifier{ProjectRoot: gps.ProjectRoot("github.com/golang/dep/internal/gps")}, diff --git a/testdata/lock/error0.toml b/testdata/lock/error0.toml index 8aca39428c..141d5bc78a 100644 --- a/testdata/lock/error0.toml +++ b/testdata/lock/error0.toml @@ -1,4 +1,5 @@ -memo = "2252a285ab27944a4d7adcba8dbd03980f59ba652f12db39fa93b927c345593e" +[solve-meta] + inputs-digest = "2252a285ab27944a4d7adcba8dbd03980f59ba652f12db39fa93b927c345593e" [[projects]] name = "github.com/golang/dep/internal/gps" diff --git a/testdata/lock/error1.toml b/testdata/lock/error1.toml index 344ed1118b..cf54d870cf 100644 --- a/testdata/lock/error1.toml +++ b/testdata/lock/error1.toml @@ -1,7 +1,9 @@ -memo = "000aaa2a285ab27944a4d7adcba8dbd03980f59ba652f12db39fa93b927c345593e" - [[projects]] name = "github.com/golang/dep/internal/gps" branch = "master" revision = "d05d5aca9f895d19e9265839bffeadd74a2d2ecb" packages = ["."] + +[solve-meta] + inputs-digest = "000aaa2a285ab27944a4d7adcba8dbd03980f59ba652f12db39fa93b927c345593e" + diff --git a/testdata/lock/error2.toml b/testdata/lock/error2.toml index d88d3e437a..788fc8c7c8 100644 --- a/testdata/lock/error2.toml +++ b/testdata/lock/error2.toml @@ -1,5 +1,7 @@ -memo = "2252a285ab27944a4d7adcba8dbd03980f59ba652f12db39fa93b927c345593e" - [[projects]] name = "github.com/golang/dep/internal/gps" packages = ["."] + +[solve-meta] + inputs-digest = "2252a285ab27944a4d7adcba8dbd03980f59ba652f12db39fa93b927c345593e" + diff --git a/testdata/lock/golden0.toml b/testdata/lock/golden0.toml index 35ffb6257c..2011593b48 100644 --- a/testdata/lock/golden0.toml +++ b/testdata/lock/golden0.toml @@ -1,7 +1,13 @@ -memo = "2252a285ab27944a4d7adcba8dbd03980f59ba652f12db39fa93b927c345593e" [[projects]] branch = "master" name = "github.com/golang/dep/internal/gps" packages = ["."] revision = "d05d5aca9f895d19e9265839bffeadd74a2d2ecb" + +[solve-meta] + analyzer-name = "" + analyzer-version = 0 + inputs-digest = "2252a285ab27944a4d7adcba8dbd03980f59ba652f12db39fa93b927c345593e" + solver-name = "" + solver-version = 0 diff --git a/testdata/lock/golden1.toml b/testdata/lock/golden1.toml index dfa34d8859..fe2941c26f 100644 --- a/testdata/lock/golden1.toml +++ b/testdata/lock/golden1.toml @@ -1,7 +1,13 @@ -memo = "2252a285ab27944a4d7adcba8dbd03980f59ba652f12db39fa93b927c345593e" [[projects]] name = "github.com/golang/dep/internal/gps" packages = ["."] revision = "d05d5aca9f895d19e9265839bffeadd74a2d2ecb" version = "0.12.2" + +[solve-meta] + analyzer-name = "" + analyzer-version = 0 + inputs-digest = "2252a285ab27944a4d7adcba8dbd03980f59ba652f12db39fa93b927c345593e" + solver-name = "" + solver-version = 0 diff --git a/testdata/txn_writer/expected_diff_output.txt b/testdata/txn_writer/expected_diff_output.txt index bbfe78f82b..ef4dd3e89c 100644 --- a/testdata/txn_writer/expected_diff_output.txt +++ b/testdata/txn_writer/expected_diff_output.txt @@ -1,5 +1,4 @@ Memo: 595716d270828e763c811ef79c9c41f85b1d1bfbdfe85280036405c03772206c -> 2252a285ab27944a4d7adcba8dbd03980f59ba652f12db39fa93b927c345593e - Add: [[projects]] name = "github.com/sdboyer/deptest" diff --git a/testdata/txn_writer/expected_lock.toml b/testdata/txn_writer/expected_lock.toml index bda7ec14cb..e35ad1040a 100644 --- a/testdata/txn_writer/expected_lock.toml +++ b/testdata/txn_writer/expected_lock.toml @@ -1,7 +1,13 @@ -memo = "595716d270828e763c811ef79c9c41f85b1d1bfbdfe85280036405c03772206c" [[projects]] name = "github.com/sdboyer/dep-test" packages = ["."] revision = "2a3a211e171803acb82d1d5d42ceb53228f51751" version = "1.0.0" + +[solve-meta] + analyzer-name = "" + analyzer-version = 0 + inputs-digest = "595716d270828e763c811ef79c9c41f85b1d1bfbdfe85280036405c03772206c" + solver-name = "" + solver-version = 0 diff --git a/testdata/txn_writer/original_lock.toml b/testdata/txn_writer/original_lock.toml index 1a9384efa7..c1d38a3173 100644 --- a/testdata/txn_writer/original_lock.toml +++ b/testdata/txn_writer/original_lock.toml @@ -1,4 +1,5 @@ -memo = "595716d270828e763c811ef79c9c41f85b1d1bfbdfe85280036405c03772206c" +[solve-meta] + inputs-digest = "2252a285ab27944a4d7adcba8dbd03980f59ba652f12db39fa93b927c345593e" [[projects]] name = "github.com/foo/bar" diff --git a/testdata/txn_writer/updated_lock.toml b/testdata/txn_writer/updated_lock.toml index da44aa9a21..709d3e1844 100644 --- a/testdata/txn_writer/updated_lock.toml +++ b/testdata/txn_writer/updated_lock.toml @@ -1,4 +1,5 @@ -memo = "2252a285ab27944a4d7adcba8dbd03980f59ba652f12db39fa93b927c345593e" +[solve-meta] + inputs-digest = "595716d270828e763c811ef79c9c41f85b1d1bfbdfe85280036405c03772206c" [[projects]] name = "github.com/foo/bar" diff --git a/txn_writer_test.go b/txn_writer_test.go index ecf0168f29..e68418fe93 100644 --- a/txn_writer_test.go +++ b/txn_writer_test.go @@ -261,18 +261,18 @@ func TestSafeWriter_ModifiedLock(t *testing.T) { originalLock := new(Lock) *originalLock = *pc.Project.Lock - originalLock.Memo = []byte{} // zero out the input hash to ensure non-equivalency + originalLock.SolveMeta.Memo = []byte{} // zero out the input hash to ensure non-equivalency sw, _ := NewSafeWriter(nil, originalLock, pc.Project.Lock, VendorOnChanged) // Verify prepared actions if sw.HasManifest() { - t.Fatal("Did not expect the payload to contain the manifest") + t.Fatal("Did not expect the manifest to be written") } if !sw.HasLock() { - t.Fatal("Expected the payload to contain the lock") + t.Fatal("Expected that the writer should plan to write the lock") } if !sw.HasVendor() { - t.Fatal("Expected the payload to contain the vendor directory") + t.Fatal("Expected that the writer should plan to write the vendor directory") } // Write changes @@ -308,7 +308,7 @@ func TestSafeWriter_ModifiedLockSkipVendor(t *testing.T) { originalLock := new(Lock) *originalLock = *pc.Project.Lock - originalLock.Memo = []byte{} // zero out the input hash to ensure non-equivalency + originalLock.SolveMeta.Memo = []byte{} // zero out the input hash to ensure non-equivalency sw, _ := NewSafeWriter(nil, originalLock, pc.Project.Lock, VendorNever) // Verify prepared actions