~ubuntu-branches/ubuntu/trusty/juju-core/trusty-proposed

« back to all changes in this revision

Viewing changes to src/launchpad.net/juju-core/testing/testbase/imports.go

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2014-01-29 11:40:20 UTC
  • mfrom: (23.1.1 trusty-proposed)
  • Revision ID: package-import@ubuntu.com-20140129114020-ejieitm8smtt5vln
Tags: 1.17.1-0ubuntu2
d/tests/local-provider: Don't fail tests if ~/.juju is present as its
created by the juju version command. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
        gc "launchpad.net/gocheck"
13
13
)
14
14
 
 
15
const jujuPkgPrefix = "launchpad.net/juju-core/"
 
16
 
15
17
// FindJujuCoreImports returns a sorted list of juju-core packages that are
16
18
// imported by the packageName parameter.  The resulting list removes the
17
19
// common prefix "launchpad.net/juju-core/" leaving just the short names.
18
20
func FindJujuCoreImports(c *gc.C, packageName string) []string {
 
21
 
 
22
        var result []string
 
23
        allpkgs := make(map[string]bool)
 
24
 
 
25
        findJujuCoreImports(c, packageName, allpkgs)
 
26
 
 
27
        for name := range allpkgs {
 
28
                result = append(result, name[len(jujuPkgPrefix):])
 
29
        }
 
30
 
 
31
        sort.Strings(result)
 
32
        return result
 
33
}
 
34
 
 
35
// findJujuCoreImports recursively adds all imported packages of given
 
36
// package (packageName) to allpkgs map.
 
37
func findJujuCoreImports(c *gc.C, packageName string, allpkgs map[string]bool) {
 
38
 
19
39
        var imports []string
20
40
 
21
41
        for _, root := range build.Default.SrcDirs() {
30
50
                c.Fatalf(packageName + " not found")
31
51
        }
32
52
 
33
 
        var result []string
34
 
        const prefix = "launchpad.net/juju-core/"
35
53
        for _, name := range imports {
36
 
                if strings.HasPrefix(name, prefix) {
37
 
                        result = append(result, name[len(prefix):])
 
54
                if strings.HasPrefix(name, jujuPkgPrefix) {
 
55
                        allpkgs[name] = true
 
56
                        findJujuCoreImports(c, name, allpkgs)
38
57
                }
39
58
        }
40
 
        sort.Strings(result)
41
 
        return result
 
59
 
42
60
}