func (s *SSHCommandSuite) TestCommandError(c *gc.C) { var opts ssh.Options err := ioutil.WriteFile(s.fakessh, []byte("#!/bin/sh\nexit 42"), 0755) c.Assert(err, gc.IsNil) command := s.client.Command("ignored", []string{"echo", "foo"}, &opts) err = command.Run() c.Assert(cmd.IsRcPassthroughError(err), gc.Equals, true) }
func (s *RunTestSuite) TestRunning(c *gc.C) { loggo.GetLogger("worker.uniter").SetLogLevel(loggo.TRACE) s.runListenerForAgent(c, "foo") ctx, err := testing.RunCommand(c, &RunCommand{}, []string{"foo", "bar"}) c.Check(cmd.IsRcPassthroughError(err), jc.IsTrue) c.Assert(err, gc.ErrorMatches, "subprocess encountered error code 42") c.Assert(testing.Stdout(ctx), gc.Equals, "bar stdout") c.Assert(testing.Stderr(ctx), gc.Equals, "bar stderr") }