X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/64c70939c414881de61ac65512701d0ba4068786..f0ea4324260fb4dc6df693d9548285bb64b3b69f:/sdk/go/arvadostest/run_servers.go diff --git a/sdk/go/arvadostest/run_servers.go b/sdk/go/arvadostest/run_servers.go index cad16917db..27c552a4e1 100644 --- a/sdk/go/arvadostest/run_servers.go +++ b/sdk/go/arvadostest/run_servers.go @@ -9,6 +9,7 @@ import ( "log" "os" "os/exec" + "strconv" "strings" ) @@ -98,12 +99,21 @@ func StopAPI() { exec.Command("python", "run_test_server.py", "stop").Run() } -func StartKeep() { +// StartKeep starts the given number of keep servers, +// optionally with -enforce-permissions enabled. +// Use numKeepServers = 2 and enforcePermissions = false under all normal circumstances. +func StartKeep(numKeepServers int, enforcePermissions bool) { cwd, _ := os.Getwd() defer os.Chdir(cwd) chdirToPythonTests() - cmd := exec.Command("python", "run_test_server.py", "start_keep") + cmdArgs := []string{"run_test_server.py", "start_keep", "--num-keep-servers", strconv.Itoa(numKeepServers)} + if enforcePermissions { + cmdArgs = append(cmdArgs, "--keep-enforce-permissions") + } + + cmd := exec.Command("python", cmdArgs...) + stderr, err := cmd.StderrPipe() if err != nil { log.Fatalf("Setting up stderr pipe: %s", err) @@ -114,10 +124,13 @@ func StartKeep() { } } -func StopKeep() { +// StopKeep stops keep servers that were started with StartKeep. +// numkeepServers should be the same value that was passed to StartKeep, +// which is 2 under all normal circumstances. +func StopKeep(numKeepServers int) { cwd, _ := os.Getwd() defer os.Chdir(cwd) chdirToPythonTests() - exec.Command("python", "run_test_server.py", "stop_keep").Run() + exec.Command("python", "run_test_server.py", "stop_keep", "--num-keep-servers", strconv.Itoa(numKeepServers)) }