From: Brett Smith Date: Thu, 29 May 2014 13:28:30 +0000 (-0400) Subject: 2752: Adapt Go tests to the new Python test infrastructure. X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/891d6b276f1e37d85d1a66496e045cd7ab6807e1?hp=ce5813a53eda0f1d1512f6c080e6c4ed95179089 2752: Adapt Go tests to the new Python test infrastructure. Refs #2752. There's two pieces to this: pointing the Go tests at the new home of run_test_server.py, and having run_test_server.py add the arvados module source to sys.path as needed. --- diff --git a/sdk/go/src/arvados.org/keepclient/keepclient_test.go b/sdk/go/src/arvados.org/keepclient/keepclient_test.go index 8eedadd64b..753a0ace28 100644 --- a/sdk/go/src/arvados.org/keepclient/keepclient_test.go +++ b/sdk/go/src/arvados.org/keepclient/keepclient_test.go @@ -36,7 +36,7 @@ type StandaloneSuite struct{} func pythonDir() string { gopath := os.Getenv("GOPATH") - return fmt.Sprintf("%s/../python", strings.Split(gopath, ":")[0]) + return fmt.Sprintf("%s/../python/tests", strings.Split(gopath, ":")[0]) } func (s *ServerRequiredSuite) SetUpSuite(c *C) { diff --git a/sdk/python/tests/run_test_server.py b/sdk/python/tests/run_test_server.py index 5b4097d350..dc95d8a9a5 100644 --- a/sdk/python/tests/run_test_server.py +++ b/sdk/python/tests/run_test_server.py @@ -1,14 +1,24 @@ -import subprocess -import time +#!/usr/bin/env python + +import argparse import os +import shutil import signal -import yaml +import subprocess import sys -import argparse -import arvados.config -import arvados.api -import shutil import tempfile +import time +import yaml + +MY_DIRNAME = os.path.dirname(os.path.realpath(__file__)) +if __name__ == '__main__' and os.path.exists( + os.path.join(MY_DIRNAME, '..', 'arvados', '__init__.py')): + # We're being launched to support another test suite. + # Add the Python SDK source to the library path. + sys.path.insert(1, os.path.dirname(MY_DIRNAME)) + +import arvados.api +import arvados.config ARV_API_SERVER_DIR = '../../../services/api' KEEP_SERVER_DIR = '../../../services/keep' @@ -54,7 +64,7 @@ def kill_server_pid(PID_PATH, wait=10): def run(websockets=False, reuse_server=False): cwd = os.getcwd() - os.chdir(os.path.join(os.path.dirname(__file__), ARV_API_SERVER_DIR)) + os.chdir(os.path.join(MY_DIRNAME, ARV_API_SERVER_DIR)) if websockets: pid_file = WEBSOCKETS_SERVER_PID_PATH @@ -106,7 +116,7 @@ def run(websockets=False, reuse_server=False): def stop(): cwd = os.getcwd() - os.chdir(os.path.join(os.path.dirname(__file__), ARV_API_SERVER_DIR)) + os.chdir(os.path.join(MY_DIRNAME, ARV_API_SERVER_DIR)) kill_server_pid(WEBSOCKETS_SERVER_PID_PATH, 0) kill_server_pid(SERVER_PID_PATH, 0) @@ -144,7 +154,7 @@ def run_keep(blob_signing_key=None, enforce_permissions=False): stop_keep() cwd = os.getcwd() - os.chdir(os.path.join(os.path.dirname(__file__), KEEP_SERVER_DIR)) + os.chdir(os.path.join(MY_DIRNAME, KEEP_SERVER_DIR)) if os.environ.get('GOPATH') == None: os.environ["GOPATH"] = os.getcwd() else: @@ -194,7 +204,7 @@ def _stop_keep(n): def stop_keep(): cwd = os.getcwd() - os.chdir(os.path.join(os.path.dirname(__file__), KEEP_SERVER_DIR)) + os.chdir(os.path.join(MY_DIRNAME, KEEP_SERVER_DIR)) _stop_keep(0) _stop_keep(1) @@ -205,7 +215,7 @@ def run_keep_proxy(auth): stop_keep_proxy() cwd = os.getcwd() - os.chdir(os.path.join(os.path.dirname(__file__), KEEP_SERVER_DIR)) + os.chdir(os.path.join(MY_DIRNAME, KEEP_SERVER_DIR)) if os.environ.get('GOPATH') == None: os.environ["GOPATH"] = os.getcwd() else: @@ -232,13 +242,13 @@ def run_keep_proxy(auth): def stop_keep_proxy(): cwd = os.getcwd() - os.chdir(os.path.join(os.path.dirname(__file__), KEEP_SERVER_DIR)) + os.chdir(os.path.join(MY_DIRNAME, KEEP_SERVER_DIR)) kill_server_pid("tmp/keepproxy.pid", 0) os.chdir(cwd) def fixture(fix): '''load a fixture yaml file''' - with open(os.path.join(os.path.dirname(__file__), ARV_API_SERVER_DIR, "test", "fixtures", + with open(os.path.join(MY_DIRNAME, ARV_API_SERVER_DIR, "test", "fixtures", fix + ".yml")) as f: return yaml.load(f.read()) diff --git a/services/keep/src/arvados.org/keepproxy/keepproxy_test.go b/services/keep/src/arvados.org/keepproxy/keepproxy_test.go index 9e78223596..47c33b4e1b 100644 --- a/services/keep/src/arvados.org/keepproxy/keepproxy_test.go +++ b/services/keep/src/arvados.org/keepproxy/keepproxy_test.go @@ -31,7 +31,7 @@ type ServerRequiredSuite struct{} func pythonDir() string { gopath := os.Getenv("GOPATH") - return fmt.Sprintf("%s/../../sdk/python", strings.Split(gopath, ":")[0]) + return fmt.Sprintf("%s/../../sdk/python/tests", strings.Split(gopath, ":")[0]) } func (s *ServerRequiredSuite) SetUpSuite(c *C) {