當前位置: 首頁>>代碼示例>>Golang>>正文


Golang FakeCommandRunner.StartedCommands方法代碼示例

本文整理匯總了Golang中github.com/cloudfoundry/gunk/command_runner/fake_command_runner.FakeCommandRunner.StartedCommands方法的典型用法代碼示例。如果您正苦於以下問題:Golang FakeCommandRunner.StartedCommands方法的具體用法?Golang FakeCommandRunner.StartedCommands怎麽用?Golang FakeCommandRunner.StartedCommands使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在github.com/cloudfoundry/gunk/command_runner/fake_command_runner.FakeCommandRunner的用法示例。


在下文中一共展示了FakeCommandRunner.StartedCommands方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1:

					},
				},
			))
		})

		It("returns the correct PID", func() {
			pid, err := execer.Exec("something", "smthg")
			Expect(pid).To(Equal(12))
			Expect(err).ToNot(HaveOccurred())
		})

		It("sets the correct flags", func() {
			_, err := execer.Exec("something", "smthg")
			Expect(err).ToNot(HaveOccurred())

			cmd := commandRunner.StartedCommands()[0]
			Expect(cmd.SysProcAttr).ToNot(BeNil())
			flags := syscall.CLONE_NEWIPC
			flags = flags | syscall.CLONE_NEWNET
			flags = flags | syscall.CLONE_NEWNS
			flags = flags | syscall.CLONE_NEWUTS
			flags = flags | syscall.CLONE_NEWPID
			Expect(int(cmd.SysProcAttr.Cloneflags) & flags).ToNot(Equal(0))
		})

		Context("when the container is not privileged", func() {
			It("creates a user namespace", func() {
				_, err := execer.Exec("something", "smthg")
				Expect(err).ToNot(HaveOccurred())

				cmd := commandRunner.StartedCommands()[0]
開發者ID:nagyistoce,項目名稱:garden-linux,代碼行數:31,代碼來源:namespacing_execer_linux_test.go

示例2:

				oomNotifier.Unwatch()

				Expect(runner.KilledCommands()).To(HaveLen(0))
			})
		})

		Context("when oom has not already occurred", func() {
			BeforeEach(func() {
				runner.WhenWaitingFor(
					fake_command_runner.CommandSpec{},
					func(cmd *exec.Cmd) error {
						return errors.New("Command got killed")
					})
			})

			It("kills the oom process", func() {
				Expect(oomNotifier.Watch(oNoom)).To(Succeed())

				oomNotifier.Unwatch()

				startedCommands := runner.StartedCommands()
				killedCommands := runner.KilledCommands()

				Expect(startedCommands).To(HaveLen(1))
				Expect(startedCommands).To(Equal(killedCommands))
			})
		})
	})
})
開發者ID:nagyistoce,項目名稱:garden-linux,代碼行數:29,代碼來源:oom_notifier_test.go

示例3:

			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))
		})

		It("does not return an error", func() {
			step := &containerizer.ShellRunnerStep{Runner: runner, Path: "/whatever.sh"}
			Expect(step.Run()).To(Succeed())
		})
	})
})
開發者ID:nagyistoce,項目名稱:garden-linux,代碼行數:29,代碼來源:shell_runner_step_test.go


注:本文中的github.com/cloudfoundry/gunk/command_runner/fake_command_runner.FakeCommandRunner.StartedCommands方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。