github.com/wallyworld/juju@v0.0.0-20161013125918-6cf1bc9d917a/worker/provisioner/logging_test.go (about)

     1  // Copyright 2015 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package provisioner
     5  
     6  import (
     7  	"errors"
     8  
     9  	"github.com/juju/testing"
    10  	jc "github.com/juju/testing/checkers"
    11  	gc "gopkg.in/check.v1"
    12  
    13  	"github.com/juju/juju/feature"
    14  	jujutesting "github.com/juju/juju/testing"
    15  )
    16  
    17  type logSuite struct {
    18  	testing.LoggingSuite
    19  	jujutesting.JujuOSEnvSuite
    20  }
    21  
    22  func (l *logSuite) SetUpTest(c *gc.C) {
    23  	l.LoggingSuite.SetUpTest(c)
    24  	l.JujuOSEnvSuite.SetUpTest(c)
    25  }
    26  
    27  var _ = gc.Suite(&logSuite{})
    28  
    29  func (*logSuite) TestFlagNotSet(c *gc.C) {
    30  	err := errors.New("test error")
    31  	err2 := loggedErrorStack(err)
    32  	c.Assert(err, gc.Equals, err2)
    33  	c.Assert(c.GetTestLog(), gc.Equals, "")
    34  }
    35  
    36  func (s *logSuite) TestFlagSet(c *gc.C) {
    37  	s.SetFeatureFlags(feature.LogErrorStack)
    38  	err := errors.New("test error")
    39  	err2 := loggedErrorStack(err)
    40  	c.Assert(err, gc.Equals, err2)
    41  	expected := "ERROR juju.provisioner error stack:\ntest error"
    42  	c.Assert(c.GetTestLog(), jc.Contains, expected)
    43  }