Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master
---------------------------------------------------------------
commit 9d5f246718f4b5af4319ddc52495e10aca6f6702
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Wed Mar 18 15:26:22 2015 +0100
[backend] run tmp redis-server for tests
---------------------------------------------------------------
.gitignore | 2 ++
backend/backend/helpers.py | 5 +++++
backend/backend/mockremote/builder.py | 1 +
backend/backend/vm_manage/check.py | 2 +-
backend/backend/vm_manage/manager.py | 2 ++
backend/run_test.sh | 9 ++++++++-
backend/tests/deamons/test_vm_master.py | 1 +
backend/tests/mockremote/test_builder.py | 5 ++++-
backend/tests/vm_manager/test_check.py | 2 ++
backend/tests/vm_manager/test_event_handle.py | 1 +
backend/tests/vm_manager/test_executor.py | 1 +
backend/tests/vm_manager/test_manager.py | 1 +
backend/tests/vm_manager/test_spawn.py | 1 +
backend/tests/vm_manager/test_terminate.py | 2 +-
frontend/run_tests.sh | 6 ++++++
15 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/.gitignore b/.gitignore
index 44baad8..5b2fc8d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,3 +17,5 @@ _tmp/
backend/docs/build
frontend/coprs_frontend/copr_frontend.log
+
+_redis.log
diff --git a/backend/backend/helpers.py b/backend/backend/helpers.py
index 2a155ce..0604992 100644
--- a/backend/backend/helpers.py
+++ b/backend/backend/helpers.py
@@ -246,6 +246,11 @@ def get_redis_connection(opts):
kwargs = {}
if hasattr(opts, "redis_db"):
kwargs["db"] = opts.redis_db
+ if hasattr(opts, "redis_host"):
+ kwargs["host"] = opts.redis_host
+ if hasattr(opts, "redis_port"):
+ kwargs["port"] = opts.redis_port
+
return StrictRedis(**kwargs)
diff --git a/backend/backend/mockremote/builder.py
b/backend/backend/mockremote/builder.py
index 4d8a5fc..064c7fb 100644
--- a/backend/backend/mockremote/builder.py
+++ b/backend/backend/mockremote/builder.py
@@ -269,6 +269,7 @@ class Builder(object):
return results
def setup_pubsub_handler(self):
+
self.rc = get_redis_connection(self.opts)
self.ps = self.rc.pubsub(ignore_subscribe_messages=True)
channel_name = PUBSUB_INTERRUPT_BUILDER.format(self.hostname)
diff --git a/backend/backend/vm_manage/check.py b/backend/backend/vm_manage/check.py
index a31dfa3..b383b48 100644
--- a/backend/backend/vm_manage/check.py
+++ b/backend/backend/vm_manage/check.py
@@ -25,7 +25,7 @@ def check_health(opts, events, vm_name, vm_ip):
events.put({"when": time.time(), "who": "checker",
"what": msg})
runner_options = dict(
- remote_user="root",
+ remote_user=opts.build_user or "root",
host_list="{},".format(vm_ip),
pattern=vm_ip,
forks=1,
diff --git a/backend/backend/vm_manage/manager.py b/backend/backend/vm_manage/manager.py
index 4359de2..f1466b9 100644
--- a/backend/backend/vm_manage/manager.py
+++ b/backend/backend/vm_manage/manager.py
@@ -192,6 +192,8 @@ class VmManager(object):
clean_list = [vmd for vmd in ready_vmd_list if vmd.bound_to_user is None]
all_vms = list(chain(dirtied_by_user, clean_list))
+ # TODO: reject if last_health_check < last_copr_backend_startup_time
+ # TODO: record last_copr_backend_startup_time at startup
for vmd in all_vms:
vm_key = KEY_VM_INSTANCE.format(vm_name=vmd.vm_name)
if self.lua_scripts["acquire_vm"](keys=[vm_key], args=[username,
pid, time.time(),
diff --git a/backend/run_test.sh b/backend/run_test.sh
index 651bc86..a5941b9 100755
--- a/backend/run_test.sh
+++ b/backend/run_test.sh
@@ -1,5 +1,12 @@
-#!/bin/sh
+#!/usr/bin/bash
+
+REDIS_PORT=7777
+
+redis-server --port $REDIS_PORT &> _redis.log &
+
# PYTHONPATH=backend:run:$PYTHONPATH python -B -m pytest -s ./tests/ $@
PYTHONPATH=backend:run:$PYTHONPATH python -B -m pytest -s --cov-report term-missing --cov
./backend --cov ./run ./tests/ $@
# PYTHONPATH=../python/:./copr_cli:$PYTHONPATH python3 -B -m pytest --cov-report
term-missing --cov ./copr_cli/ $@
+
+kill %1
diff --git a/backend/tests/deamons/test_vm_master.py
b/backend/tests/deamons/test_vm_master.py
index cae1c59..191ba1d 100644
--- a/backend/tests/deamons/test_vm_master.py
+++ b/backend/tests/deamons/test_vm_master.py
@@ -83,6 +83,7 @@ class TestVmMaster(object):
def setup_method(self, method):
self.opts = Bunch(
redis_db=9,
+ redis_port=7777,
ssh=Bunch(
transport="ssh"
),
diff --git a/backend/tests/mockremote/test_builder.py
b/backend/tests/mockremote/test_builder.py
index a2c7f89..8a414f9 100644
--- a/backend/tests/mockremote/test_builder.py
+++ b/backend/tests/mockremote/test_builder.py
@@ -77,7 +77,10 @@ class TestBuilder(object):
timeout=BUILDER_TIMEOUT,
remote_basedir=BUILDER_REMOTE_BASEDIR,
remote_tempdir=BUILDER_REMOTE_TMPDIR,
- results_baseurl="http://example.com"
+ results_baseurl="http://example.com",
+
+ redis_db=9,
+ redis_port=7777,
)
def get_test_builder(self):
diff --git a/backend/tests/vm_manager/test_check.py
b/backend/tests/vm_manager/test_check.py
index b01bb5c..3ab3b08 100644
--- a/backend/tests/vm_manager/test_check.py
+++ b/backend/tests/vm_manager/test_check.py
@@ -75,6 +75,7 @@ class TestChecker(object):
self.terminate_pb_path =
"{}/terminate.yml".format(self.test_root_path)
self.opts = Bunch(
redis_db=9,
+ redis_port=7777,
ssh=Bunch(
transport="ssh"
),
@@ -87,6 +88,7 @@ class TestChecker(object):
}
},
+ build_user="mockbuilder",
fedmsg_enabled=False,
sleeptime=0.1,
do_sign=True,
diff --git a/backend/tests/vm_manager/test_event_handle.py
b/backend/tests/vm_manager/test_event_handle.py
index 3c079fd..e78b2b7 100644
--- a/backend/tests/vm_manager/test_event_handle.py
+++ b/backend/tests/vm_manager/test_event_handle.py
@@ -74,6 +74,7 @@ class TestEventHandle(object):
self.terminate_pb_path =
"{}/terminate.yml".format(self.test_root_path)
self.opts = Bunch(
redis_db=9,
+ redis_port=7777,
ssh=Bunch(
transport="ssh"
),
diff --git a/backend/tests/vm_manager/test_executor.py
b/backend/tests/vm_manager/test_executor.py
index f0b39dc..d61cd50 100644
--- a/backend/tests/vm_manager/test_executor.py
+++ b/backend/tests/vm_manager/test_executor.py
@@ -37,6 +37,7 @@ class TestExecutor(object):
def setup_method(self, method):
self.opts = Bunch(
redis_db=9,
+ redis_port=7777,
ssh=Bunch(
transport="ssh"
),
diff --git a/backend/tests/vm_manager/test_manager.py
b/backend/tests/vm_manager/test_manager.py
index 27f4013..4383c2e 100644
--- a/backend/tests/vm_manager/test_manager.py
+++ b/backend/tests/vm_manager/test_manager.py
@@ -48,6 +48,7 @@ class TestManager(object):
def setup_method(self, method):
self.opts = Bunch(
redis_db=9,
+ redis_port=7777,
ssh=Bunch(
transport="ssh"
),
diff --git a/backend/tests/vm_manager/test_spawn.py
b/backend/tests/vm_manager/test_spawn.py
index 69d3deb..a0e637a 100644
--- a/backend/tests/vm_manager/test_spawn.py
+++ b/backend/tests/vm_manager/test_spawn.py
@@ -72,6 +72,7 @@ class TestSpawner(object):
self.spawn_pb_path = "{}/spawn.yml".format(self.test_root_path)
self.opts = Bunch(
redis_db=9,
+ redis_port=7777,
ssh=Bunch(
transport="ssh"
),
diff --git a/backend/tests/vm_manager/test_terminate.py
b/backend/tests/vm_manager/test_terminate.py
index 6ab9feb..f00d8ac 100644
--- a/backend/tests/vm_manager/test_terminate.py
+++ b/backend/tests/vm_manager/test_terminate.py
@@ -73,7 +73,7 @@ class TestTerminate(object):
self.test_root_path = tempfile.mkdtemp()
self.terminate_pb_path =
"{}/terminate.yml".format(self.test_root_path)
self.opts = Bunch(
- redis_db=9,
+ redis_port=7777,
ssh=Bunch(
transport="ssh"
),
diff --git a/frontend/run_tests.sh b/frontend/run_tests.sh
index 22c7ad7..f6e06f0 100755
--- a/frontend/run_tests.sh
+++ b/frontend/run_tests.sh
@@ -1,6 +1,12 @@
#!/bin/sh
+REDIS_PORT = 7777
+
+redis-server --port $REDIS_PORT &> _redis.log &
+
+
cd coprs_frontend
COPR_CONFIG="$(pwd)/config/copr_unit_test.conf" python -m pytest tests -s $@ #
\
#--cov-report term-missing --cov coprs $@
+kill %1