diff options
author | Kali Kaneko (leap communications) <kali@leap.se> | 2019-01-12 18:39:45 +0100 |
---|---|---|
committer | Ruben Pollan <meskio@sindominio.net> | 2019-01-17 12:30:32 +0100 |
commit | b1247d2d0d51108c910a73891ff3116e5f032ab1 (patch) | |
tree | e9948964f0bfb1ad2df3bc7bad02aa1f41ccfbd8 /vendor/golang.org/x/tools/go/buildutil/allpackages_test.go | |
parent | efcb8312e31b5c2261b1a1e95ace55b322cfcc27 (diff) |
[pkg] all your deps are vendored to us
Diffstat (limited to 'vendor/golang.org/x/tools/go/buildutil/allpackages_test.go')
-rw-r--r-- | vendor/golang.org/x/tools/go/buildutil/allpackages_test.go | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/vendor/golang.org/x/tools/go/buildutil/allpackages_test.go b/vendor/golang.org/x/tools/go/buildutil/allpackages_test.go new file mode 100644 index 0000000..0440ff2 --- /dev/null +++ b/vendor/golang.org/x/tools/go/buildutil/allpackages_test.go @@ -0,0 +1,78 @@ +// Copyright 2014 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. + +// Incomplete source tree on Android. + +// +build !android + +package buildutil_test + +import ( + "go/build" + "sort" + "strings" + "testing" + + "golang.org/x/tools/go/buildutil" +) + +func TestAllPackages(t *testing.T) { + all := buildutil.AllPackages(&build.Default) + + set := make(map[string]bool) + for _, pkg := range all { + set[pkg] = true + } + + const wantAtLeast = 250 + if len(all) < wantAtLeast { + t.Errorf("Found only %d packages, want at least %d", len(all), wantAtLeast) + } + + for _, want := range []string{"fmt", "crypto/sha256", "golang.org/x/tools/go/buildutil"} { + if !set[want] { + t.Errorf("Package %q not found; got %s", want, all) + } + } +} + +func TestExpandPatterns(t *testing.T) { + tree := make(map[string]map[string]string) + for _, pkg := range []string{ + "encoding", + "encoding/xml", + "encoding/hex", + "encoding/json", + "fmt", + } { + tree[pkg] = make(map[string]string) + } + ctxt := buildutil.FakeContext(tree) + + for _, test := range []struct { + patterns string + want string + }{ + {"", ""}, + {"fmt", "fmt"}, + {"nosuchpkg", "nosuchpkg"}, + {"nosuchdir/...", ""}, + {"...", "encoding encoding/hex encoding/json encoding/xml fmt"}, + {"encoding/... -encoding/xml", "encoding encoding/hex encoding/json"}, + {"... -encoding/...", "fmt"}, + {"encoding", "encoding"}, + {"encoding/", "encoding"}, + } { + var pkgs []string + for pkg := range buildutil.ExpandPatterns(ctxt, strings.Fields(test.patterns)) { + pkgs = append(pkgs, pkg) + } + sort.Strings(pkgs) + got := strings.Join(pkgs, " ") + if got != test.want { + t.Errorf("ExpandPatterns(%s) = %s, want %s", + test.patterns, got, test.want) + } + } +} |