~rogpeppe/juju-core/387-use-testing-set

« back to all changes in this revision

Viewing changes to environs/jujutest/livetests.go

  • Committer: Ian Booth
  • Date: 2013-08-21 05:38:38 UTC
  • mto: (1603.8.2 simplify-tools-search)
  • mto: This revision was merged to the branch mainline in revision 1702.
  • Revision ID: ian.booth@canonical.com-20130821053838-3c9oahds4mg2u0l7
Pull out Tools struct to its own package

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
        "io"
10
10
        "io/ioutil"
11
11
        . "launchpad.net/gocheck"
12
 
        agenttools "launchpad.net/juju-core/agent/tools"
13
12
        "launchpad.net/juju-core/charm"
14
13
        "launchpad.net/juju-core/constraints"
15
14
        "launchpad.net/juju-core/environs"
24
23
        statetesting "launchpad.net/juju-core/state/testing"
25
24
        coretesting "launchpad.net/juju-core/testing"
26
25
        jc "launchpad.net/juju-core/testing/checkers"
 
26
        coretools "launchpad.net/juju-core/tools"
27
27
        "launchpad.net/juju-core/utils"
28
28
        "launchpad.net/juju-core/version"
29
29
        "strings"
547
547
 
548
548
type tooler interface {
549
549
        Life() state.Life
550
 
        AgentTools() (*agenttools.Tools, error)
 
550
        AgentTools() (*coretools.Tools, error)
551
551
        Refresh() error
552
552
        String() string
553
553
}
558
558
}
559
559
 
560
560
type toolsWaiter struct {
561
 
        lastTools *agenttools.Tools
 
561
        lastTools *coretools.Tools
562
562
        // changes is a chan of struct{} so that it can
563
563
        // be used with different kinds of entity watcher.
564
564
        changes chan struct{}
604
604
 
605
605
// NextTools returns the next changed tools, waiting
606
606
// until the tools are actually set.
607
 
func (w *toolsWaiter) NextTools(c *C) (*agenttools.Tools, error) {
 
607
func (w *toolsWaiter) NextTools(c *C) (*coretools.Tools, error) {
608
608
        for _ = range w.changes {
609
609
                err := w.tooler.Refresh()
610
610
                if err != nil {
633
633
 
634
634
// waitAgentTools waits for the given agent
635
635
// to start and returns the tools that it is running.
636
 
func waitAgentTools(c *C, w *toolsWaiter, expect version.Binary) *agenttools.Tools {
 
636
func waitAgentTools(c *C, w *toolsWaiter, expect version.Binary) *coretools.Tools {
637
637
        c.Logf("waiting for %v to signal agent version", w.tooler.String())
638
638
        tools, err := w.NextTools(c)
639
639
        c.Assert(err, IsNil)