summaryrefslogtreecommitdiffhomepage
path: root/test/unit.py
diff options
context:
space:
mode:
authorAndrey Zelenkov <zelenkov@nginx.com>2017-11-29 15:23:09 +0300
committerAndrey Zelenkov <zelenkov@nginx.com>2017-11-29 15:23:09 +0300
commit75198f82b12bde2220baeacd37bd2e665833d984 (patch)
treed7385677af52b1580db95ebe908fb90d8765e275 /test/unit.py
parent4d772a9cd0b22baa08d4ef4c8decc7f1608e19af (diff)
downloadunit-75198f82b12bde2220baeacd37bd2e665833d984.tar.gz
unit-75198f82b12bde2220baeacd37bd2e665833d984.tar.bz2
Tests: waitforfiles function introduced.
Diffstat (limited to 'test/unit.py')
-rw-r--r--test/unit.py36
1 files changed, 27 insertions, 9 deletions
diff --git a/test/unit.py b/test/unit.py
index 224d026e..4b9c8531 100644
--- a/test/unit.py
+++ b/test/unit.py
@@ -29,12 +29,9 @@ class TestUnit(unittest.TestCase):
'--log', self.testdir + '/unit.log',
'--control', 'unix:' + self.testdir + '/control.unit.sock'])
- time_wait = 0
- while time_wait < 5 and not (os.path.exists(self.testdir + '/unit.pid')
- and os.path.exists(self.testdir + '/unit.log')
- and os.path.exists(self.testdir + '/control.unit.sock')):
- time.sleep(0.1)
- time_wait += 0.1
+ if not self._waitforfiles([self.testdir + '/unit.pid',
+ self.testdir + '/unit.log', self.testdir + '/control.unit.sock']):
+ exit("Could not start unit")
# TODO dependency check
@@ -44,10 +41,13 @@ class TestUnit(unittest.TestCase):
subprocess.call(['kill', pid])
- time_wait = 0
- while time_wait < 5 and os.path.exists(self.testdir + '/unit.pid'):
+ for i in range(1, 50):
+ if not os.path.exists(self.testdir + '/unit.pid'):
+ break
time.sleep(0.1)
- time_wait += 0.1
+
+ if os.path.exists(self.testdir + '/unit.pid'):
+ exit("Could not terminate unit")
if '--log' in sys.argv:
with open(self.testdir + '/unit.log', 'r') as f:
@@ -56,6 +56,24 @@ class TestUnit(unittest.TestCase):
if '--leave' not in sys.argv:
shutil.rmtree(self.testdir)
+ def _waitforfiles(self, files):
+ if isinstance(files, str):
+ files = [files]
+
+ count = 0
+ for i in range(1, 50):
+ for f in files:
+ if os.path.exists(f):
+ count += 1
+
+ if count == len(files):
+ return 1
+
+ count = 0
+ time.sleep(0.1)
+
+ return 0
+
class TestUnitControl(TestUnit):
# TODO socket reuse