func (s *S) TestFollowLogsAndCommitForwardWaitFailure(c *check.C) { s.server.PrepareFailure("failed to wait for the container", "/containers/.*/wait") defer s.server.ResetFailure("failed to wait for the container") err := s.newFakeImage(s.p, "tsuru/python", nil) c.Assert(err, check.IsNil) app := provisiontest.NewFakeApp("myapp", "python", 1) cont := container.Container{AppName: "mightyapp"} err = cont.Create(&container.CreateArgs{ App: app, ImageID: "tsuru/python", Commands: []string{"foo"}, Provisioner: s.p, }) c.Assert(err, check.IsNil) err = cont.Start(&container.StartArgs{ Provisioner: s.p, App: app, }) c.Assert(err, check.IsNil) err = cont.Stop(s.p) c.Assert(err, check.IsNil) buf := safe.NewBuffer(nil) args := runContainerActionsArgs{writer: buf, provisioner: s.p} context := action.FWContext{Params: []interface{}{args}, Previous: cont} imageId, err := followLogsAndCommit.Forward(context) c.Assert(err, check.ErrorMatches, `.*failed to wait for the container\n$`) c.Assert(imageId, check.IsNil) }