From 52d4b01b44b7644aff096c40c04e6a0328eee7f2 Mon Sep 17 00:00:00 2001 From: Diptanu Choudhury Date: Thu, 24 Mar 2016 16:33:04 -0700 Subject: [PATCH] Added a test for the exec script check --- client/driver/executor/checks_linux.go | 2 +- client/driver/executor/checks_test.go | 30 ++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 client/driver/executor/checks_test.go diff --git a/client/driver/executor/checks_linux.go b/client/driver/executor/checks_linux.go index d4a684a8b..9c384ec55 100644 --- a/client/driver/executor/checks_linux.go +++ b/client/driver/executor/checks_linux.go @@ -10,7 +10,7 @@ func (e *ExecScriptCheck) setChroot(cmd *exec.Cmd) { if cmd.SysProcAttr == nil { cmd.SysProcAttr = &syscall.SysProcAttr{} } + cmd.SysProcAttr.Chroot = e.taskDir } - cmd.SysProcAttr.Chroot = e.taskDir cmd.Dir = "/" } diff --git a/client/driver/executor/checks_test.go b/client/driver/executor/checks_test.go new file mode 100644 index 000000000..15f49265a --- /dev/null +++ b/client/driver/executor/checks_test.go @@ -0,0 +1,30 @@ +package executor + +import ( + "strings" + "testing" +) + +func TestExecScriptCheckNoIsolation(t *testing.T) { + check := &ExecScriptCheck{ + id: "foo", + cmd: "/bin/echo", + args: []string{"hello", "world"}, + taskDir: "/tmp", + FSIsolation: false, + } + + res := check.Run() + expectedOutput := "hello world" + expectedExitCode := 0 + if res.Err != nil { + t.Fatalf("err: %v", res.Err) + } + if strings.TrimSpace(res.Output) != expectedOutput { + t.Fatalf("output expected: %v, actual: %v", expectedOutput, res.Output) + } + + if res.ExitCode != expectedExitCode { + t.Fatalf("exitcode expected: %v, actual: %v", expectedExitCode, res.ExitCode) + } +}