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 }