From 377095e7cdb1b0a8e612ba0b6953e138bbd2a8c9 Mon Sep 17 00:00:00 2001 From: Sunny Date: Wed, 17 May 2017 03:44:38 +0530 Subject: [PATCH] Add godep importer integration tests --- cmd/dep/godep_config.go | 4 ++-- cmd/dep/import_analyzer.go | 1 + .../init/godep/case1/final/Gopkg.lock | 13 +++++++++++++ .../init/godep/case1/final/Gopkg.toml | 8 ++++++++ .../init/godep/case1/initial/Godeps/Godeps.json | 17 +++++++++++++++++ .../init/godep/case1/initial/main.go | 16 ++++++++++++++++ .../init/godep/case1/testcase.json | 13 +++++++++++++ .../init/godep/case2/final/Gopkg.lock | 13 +++++++++++++ .../init/godep/case2/final/Gopkg.toml | 4 ++++ .../init/godep/case2/initial/Godeps/Godeps.json | 10 ++++++++++ .../init/godep/case2/initial/main.go | 16 ++++++++++++++++ .../init/godep/case2/testcase.json | 11 +++++++++++ 12 files changed, 124 insertions(+), 2 deletions(-) create mode 100644 cmd/dep/testdata/harness_tests/init/godep/case1/final/Gopkg.lock create mode 100644 cmd/dep/testdata/harness_tests/init/godep/case1/final/Gopkg.toml create mode 100644 cmd/dep/testdata/harness_tests/init/godep/case1/initial/Godeps/Godeps.json create mode 100644 cmd/dep/testdata/harness_tests/init/godep/case1/initial/main.go create mode 100644 cmd/dep/testdata/harness_tests/init/godep/case1/testcase.json create mode 100644 cmd/dep/testdata/harness_tests/init/godep/case2/final/Gopkg.lock create mode 100644 cmd/dep/testdata/harness_tests/init/godep/case2/final/Gopkg.toml create mode 100644 cmd/dep/testdata/harness_tests/init/godep/case2/initial/Godeps/Godeps.json create mode 100644 cmd/dep/testdata/harness_tests/init/godep/case2/initial/main.go create mode 100644 cmd/dep/testdata/harness_tests/init/godep/case2/testcase.json diff --git a/cmd/dep/godep_config.go b/cmd/dep/godep_config.go index 9691c95c11..a82164cef8 100644 --- a/cmd/dep/godep_config.go +++ b/cmd/dep/godep_config.go @@ -81,14 +81,14 @@ func (g *godepFile) convert(projectName string, sm gps.SourceManager) (*dep.Mani } func (g *godepFile) buildProjectConstraint(pkg godepPackage, sm gps.SourceManager) (pc gps.ProjectConstraint, err error) { - pc.Ident = gps.ProjectIdentifier{ProjectRoot: gps.ProjectRoot(pkg.ImportPath), Source: pkg.ImportPath} + pc.Ident = gps.ProjectIdentifier{ProjectRoot: gps.ProjectRoot(pkg.ImportPath)} pc.Constraint, err = deduceConstraint(pkg.Comment, pc.Ident, sm) return } func (g *godepFile) buildLockedProject(pkg godepPackage, manifest *dep.Manifest) gps.LockedProject { var ver gps.Version - id := gps.ProjectIdentifier{ProjectRoot: gps.ProjectRoot(pkg.ImportPath), Source: pkg.ImportPath} + id := gps.ProjectIdentifier{ProjectRoot: gps.ProjectRoot(pkg.ImportPath)} c, has := manifest.Dependencies[id.ProjectRoot] if has { // Create PairedVersion if constraint details are available diff --git a/cmd/dep/import_analyzer.go b/cmd/dep/import_analyzer.go index 263dbf0ec1..9a1b872786 100644 --- a/cmd/dep/import_analyzer.go +++ b/cmd/dep/import_analyzer.go @@ -29,6 +29,7 @@ func newImportAnalyzer(loggers *dep.Loggers, sm gps.SourceManager) importAnalyze func (a importAnalyzer) importManifestAndLock(dir string, pr gps.ProjectRoot) (*dep.Manifest, *dep.Lock, error) { importers := []importer{ newGlideImporter(a.loggers, a.sm), + newGodepImporter(a.loggers, a.sm), } for _, i := range importers { diff --git a/cmd/dep/testdata/harness_tests/init/godep/case1/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/init/godep/case1/final/Gopkg.lock new file mode 100644 index 0000000000..1c0d9e30a9 --- /dev/null +++ b/cmd/dep/testdata/harness_tests/init/godep/case1/final/Gopkg.lock @@ -0,0 +1,13 @@ +memo = "1ed417a0bec57ffe988fae1cba8f3d49994fb893394d61844e0b3c96d69573fe" + +[[projects]] + name = "github.com/sdboyer/deptest" + packages = ["."] + revision = "ff2948a2ac8f538c4ecd55962e919d1e13e74baf" + version = "v1.0.0" + +[[projects]] + name = "github.com/sdboyer/deptestdos" + packages = ["."] + revision = "5c607206be5decd28e6263ffffdcee067266015e" + version = "v2.0.0" diff --git a/cmd/dep/testdata/harness_tests/init/godep/case1/final/Gopkg.toml b/cmd/dep/testdata/harness_tests/init/godep/case1/final/Gopkg.toml new file mode 100644 index 0000000000..c335d18315 --- /dev/null +++ b/cmd/dep/testdata/harness_tests/init/godep/case1/final/Gopkg.toml @@ -0,0 +1,8 @@ + +[[dependencies]] + branch = "master" + name = "github.com/sdboyer/deptest" + +[[dependencies]] + name = "github.com/sdboyer/deptestdos" + version = "^2.0.0" diff --git a/cmd/dep/testdata/harness_tests/init/godep/case1/initial/Godeps/Godeps.json b/cmd/dep/testdata/harness_tests/init/godep/case1/initial/Godeps/Godeps.json new file mode 100644 index 0000000000..ee87370e5d --- /dev/null +++ b/cmd/dep/testdata/harness_tests/init/godep/case1/initial/Godeps/Godeps.json @@ -0,0 +1,17 @@ +{ + "ImportPath": "github.com/golang/notexist", + "GoVersion": "go1.8", + "GodepVersion": "vXYZ", + "Deps": [ + { + "ImportPath": "github.com/sdboyer/deptest", + "Comment": "master", + "Rev": "3f4c3bea144e112a69bbe5d8d01c1b09a544253f" + }, + { + "ImportPath": "github.com/sdboyer/deptestdos", + "Comment": "v2.0.0", + "Rev": "5c607206be5decd28e6263ffffdcee067266015e" + } + ] +} diff --git a/cmd/dep/testdata/harness_tests/init/godep/case1/initial/main.go b/cmd/dep/testdata/harness_tests/init/godep/case1/initial/main.go new file mode 100644 index 0000000000..2b2c7c396e --- /dev/null +++ b/cmd/dep/testdata/harness_tests/init/godep/case1/initial/main.go @@ -0,0 +1,16 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package main + +import ( + "fmt" + + "github.com/sdboyer/deptestdos" +) + +func main() { + var x deptestdos.Bar + fmt.Println(x) +} diff --git a/cmd/dep/testdata/harness_tests/init/godep/case1/testcase.json b/cmd/dep/testdata/harness_tests/init/godep/case1/testcase.json new file mode 100644 index 0000000000..017dc4cd55 --- /dev/null +++ b/cmd/dep/testdata/harness_tests/init/godep/case1/testcase.json @@ -0,0 +1,13 @@ +{ + "commands": [ + ["init", "-no-examples"] + ], + "error-expected": "", + "gopath-initial": { + "github.com/sdboyer/deptest": "3f4c3bea144e112a69bbe5d8d01c1b09a544253f" + }, + "vendor-final": [ + "github.com/sdboyer/deptest", + "github.com/sdboyer/deptestdos" + ] +} diff --git a/cmd/dep/testdata/harness_tests/init/godep/case2/final/Gopkg.lock b/cmd/dep/testdata/harness_tests/init/godep/case2/final/Gopkg.lock new file mode 100644 index 0000000000..1c0d9e30a9 --- /dev/null +++ b/cmd/dep/testdata/harness_tests/init/godep/case2/final/Gopkg.lock @@ -0,0 +1,13 @@ +memo = "1ed417a0bec57ffe988fae1cba8f3d49994fb893394d61844e0b3c96d69573fe" + +[[projects]] + name = "github.com/sdboyer/deptest" + packages = ["."] + revision = "ff2948a2ac8f538c4ecd55962e919d1e13e74baf" + version = "v1.0.0" + +[[projects]] + name = "github.com/sdboyer/deptestdos" + packages = ["."] + revision = "5c607206be5decd28e6263ffffdcee067266015e" + version = "v2.0.0" diff --git a/cmd/dep/testdata/harness_tests/init/godep/case2/final/Gopkg.toml b/cmd/dep/testdata/harness_tests/init/godep/case2/final/Gopkg.toml new file mode 100644 index 0000000000..cc4aca88eb --- /dev/null +++ b/cmd/dep/testdata/harness_tests/init/godep/case2/final/Gopkg.toml @@ -0,0 +1,4 @@ + +[[dependencies]] + name = "github.com/sdboyer/deptestdos" + version = "^2.0.0" diff --git a/cmd/dep/testdata/harness_tests/init/godep/case2/initial/Godeps/Godeps.json b/cmd/dep/testdata/harness_tests/init/godep/case2/initial/Godeps/Godeps.json new file mode 100644 index 0000000000..26716d545e --- /dev/null +++ b/cmd/dep/testdata/harness_tests/init/godep/case2/initial/Godeps/Godeps.json @@ -0,0 +1,10 @@ +{ + "ImportPath": "github.com/golang/notexist", + "GoVersion": "go1.8", + "GodepVersion": "vXYZ", + "Deps": [ + { + "Rev": "3f4c3bea144e112a69bbe5d8d01c1b09a544253f" + }, + ] +} diff --git a/cmd/dep/testdata/harness_tests/init/godep/case2/initial/main.go b/cmd/dep/testdata/harness_tests/init/godep/case2/initial/main.go new file mode 100644 index 0000000000..2b2c7c396e --- /dev/null +++ b/cmd/dep/testdata/harness_tests/init/godep/case2/initial/main.go @@ -0,0 +1,16 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package main + +import ( + "fmt" + + "github.com/sdboyer/deptestdos" +) + +func main() { + var x deptestdos.Bar + fmt.Println(x) +} diff --git a/cmd/dep/testdata/harness_tests/init/godep/case2/testcase.json b/cmd/dep/testdata/harness_tests/init/godep/case2/testcase.json new file mode 100644 index 0000000000..2750c8d78f --- /dev/null +++ b/cmd/dep/testdata/harness_tests/init/godep/case2/testcase.json @@ -0,0 +1,11 @@ +{ + "commands": [ + ["init", "-no-examples", "-skip-tools"] + ], + "error-expected": "", + "gopath-initial": {}, + "vendor-final": [ + "github.com/sdboyer/deptest", + "github.com/sdboyer/deptestdos" + ] +}