当前位置: 首页>>代码示例>>Golang>>正文


Golang FakeCommandRunner.WhenWaitingFor方法代码示例

本文整理汇总了Golang中github.com/cloudfoundry/gunk/command_runner/fake_command_runner.FakeCommandRunner.WhenWaitingFor方法的典型用法代码示例。如果您正苦于以下问题:Golang FakeCommandRunner.WhenWaitingFor方法的具体用法?Golang FakeCommandRunner.WhenWaitingFor怎么用?Golang FakeCommandRunner.WhenWaitingFor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/cloudfoundry/gunk/command_runner/fake_command_runner.FakeCommandRunner的用法示例。


在下文中一共展示了FakeCommandRunner.WhenWaitingFor方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1:

				Expect(fakeRunner).ToNot(HaveExecutedSerially(
					fake_command_runner.CommandSpec{
						Path: "setquota",
					},
				))
			})
		})
	})

	Describe("getting quotas limits", func() {
		It("executes repquota in the root path", func(done Done) {
			fakeRunner.WhenWaitingFor(
				fake_command_runner.CommandSpec{
					Path: "/root/path/repquota",
				}, func(cmd *exec.Cmd) error {
					close(done)
					return nil
				},
			)

			fakeRunner.WhenRunning(
				fake_command_runner.CommandSpec{
					Path: "/root/path/repquota",
					Args: []string{"/some/mount/point", "1234"},
				}, func(cmd *exec.Cmd) error {
					cmd.Stdout.Write([]byte("1234 111 222 333 444 555 666 777 888\n"))

					return nil
				},
			)
开发者ID:vito,项目名称:warden-docker,代码行数:30,代码来源:quota_manager_test.go

示例2:

					Eventually(oomChan).Should(BeClosed())
				})
			})

			Context("when the oom process does not exit", func() {
				var waitReturns chan struct{}

				BeforeEach(func() {
					waitReturns = make(chan struct{})

					runner.WhenWaitingFor(
						fake_command_runner.CommandSpec{
							Path: path.Join(containerPath, "bin", "oom"),
						},
						func(cmd *exec.Cmd) error {
							<-waitReturns
							return nil
						},
					)
				})

				AfterEach(func() {
					close(waitReturns)

					Eventually(oomChan).Should(BeClosed())
				})

				It("does not notify", func() {
					Expect(oomNotifier.Watch(oNoom)).To(Succeed())
开发者ID:nagyistoce,项目名称:garden-linux,代码行数:29,代码来源:oom_notifier_test.go

示例3:

					time.Sleep(100 * time.Millisecond)

					Expect(fakeRunner).ToNot(HaveStartedExecuting(
						fake_command_runner.CommandSpec{
							Path: binPath("iomux-link"),
						},
					), "Executed iomux-link too early!")

					Expect(cmd.Stdout).ToNot(BeNil())

					fakeRunner.WhenWaitingFor(
						fake_command_runner.CommandSpec{
							Path: binPath("iomux-link"),
						},
						func(*exec.Cmd) error {
							close(done)
							return nil
						},
					)

					cmd.Stdout.Write([]byte("xxx\n"))

					Eventually(fakeRunner).Should(HaveStartedExecuting(
						fake_command_runner.CommandSpec{
							Path: binPath("iomux-link"),
						},
					))
				}()

				return nil
开发者ID:vito,项目名称:warden-docker,代码行数:30,代码来源:process_tracker_test.go

示例4:

				}(eventsCh, cmd.Stdout.(io.WriteCloser))

				return nil
			})

			eventsNotifier = new(fakes.FakeEventsNotifier)
		})

		It("reports an event if one happens", func() {
			defer close(eventsCh)

			waitCh := make(chan struct{})
			defer close(waitCh)
			commandRunner.WhenWaitingFor(fake_command_runner.CommandSpec{
				Path: "funC-events",
			}, func(cmd *exec.Cmd) error {
				<-waitCh
				return nil
			})

			go runner.WatchEvents(logger, "some-container", eventsNotifier)

			Consistently(eventsNotifier.OnEventCallCount).Should(Equal(0))

			eventsCh <- `{"type":"oom"}`
			Eventually(eventsNotifier.OnEventCallCount).Should(Equal(1))
			handle, event := eventsNotifier.OnEventArgsForCall(0)
			Expect(handle).To(Equal("some-container"))
			Expect(event).To(Equal("Out of memory"))

			eventsCh <- `{"type":"oom"}`
			Eventually(eventsNotifier.OnEventCallCount).Should(Equal(2))
开发者ID:cloudfoundry,项目名称:guardian,代码行数:32,代码来源:watch_test.go

示例5:

			))
		})

		It("returns error if fails to start a shell command", func() {
			runner.WhenRunning(fake_command_runner.CommandSpec{}, func(*exec.Cmd) error {
				return errors.New("what")
			})

			step := &containerizer.ShellRunnerStep{Runner: runner, Path: path}
			err := step.Run()
			Expect(err).To(HaveOccurred())
		})

		It("returns error if shell command does not exit 0", func() {
			runner.WhenWaitingFor(fake_command_runner.CommandSpec{}, func(*exec.Cmd) error {
				return errors.New("booo")
			})

			step := &containerizer.ShellRunnerStep{Runner: runner, Path: path}
			err := step.Run()
			Expect(err).To(HaveOccurred())
		})
	})

	Context("when a given path does not exist", func() {
		It("does not execute a shell command", func() {
			step := &containerizer.ShellRunnerStep{Runner: runner, Path: "/whatever.sh"}
			step.Run()
			Expect(runner.StartedCommands()).To(HaveLen(0))
		})
开发者ID:nagyistoce,项目名称:garden-linux,代码行数:30,代码来源:shell_runner_step_test.go


注:本文中的github.com/cloudfoundry/gunk/command_runner/fake_command_runner.FakeCommandRunner.WhenWaitingFor方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。