Module: check_mk
Branch: master
Commit: 32d9fa1f98978a52ba09661bc4d63962fe32320b
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=32d9fa1f98978a…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Sep 21 18:58:31 2018 +0200
Locking livestatus port opening during tests
The integration tests failed from time to time when two
integration test jobs (of different branches) were trying
to allocate one port at the same time.
The new lock should prevent this issue.
Change-Id: Ib7fe14aa6da0270bab3c35c703e9344c879444ad
---
tests/testlib/__init__.py | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/tests/testlib/__init__.py b/tests/testlib/__init__.py
index 2220d1f..8c4f081 100644
--- a/tests/testlib/__init__.py
+++ b/tests/testlib/__init__.py
@@ -905,12 +905,15 @@ class Site(object):
start_again = True
self.stop()
- self.set_config("LIVESTATUS_TCP", "on")
- self._gather_livestatus_port()
- self.set_config("LIVESTATUS_TCP_PORT", str(self._livestatus_port))
-
- if start_again:
- self.start()
+ sys.stdout.write("Getting livestatus port lock
(/tmp/cmk-test-open-livestatus-port)...\n")
+ with lockfile.FileLock("/tmp/cmk-test-livestatus-port"):
+ sys.stdout.write("Have livestatus port lock\n")
+ self.set_config("LIVESTATUS_TCP", "on")
+ self._gather_livestatus_port()
+ self.set_config("LIVESTATUS_TCP_PORT", str(self._livestatus_port))
+
+ if start_again:
+ self.start()
def _gather_livestatus_port(self):