當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。