##// END OF EJS Templates
testing: do not stop waiting if timeout is 0 (issue6541)...
testing: do not stop waiting if timeout is 0 (issue6541) Differential Revision: https://phab.mercurial-scm.org/D11102

File last commit:

r48457:1bad89a6 default
r48457:1bad89a6 default
Show More
__init__.py
37 lines | 925 B | text/x-python | PythonLexer
testing: add a utility function to wait for file create...
r47746 from __future__ import (
absolute_import,
division,
)
import os
import time
# work around check-code complains
#
# This is a simple log level module doing simple test related work, we can't
# import more things, and we do not need it.
environ = getattr(os, 'environ')
def _timeout_factor():
"""return the current modification to timeout"""
testing: fix _timeout_factor...
r48287 default = int(environ.get('HGTEST_TIMEOUT_DEFAULT', 360))
testing: add a utility function to wait for file create...
r47746 current = int(environ.get('HGTEST_TIMEOUT', default))
testing: fix _timeout_factor...
r48287 if current == 0:
return 1
testing: add a utility function to wait for file create...
r47746 return current / float(default)
def wait_file(path, timeout=10):
timeout *= _timeout_factor()
start = time.time()
while not os.path.exists(path):
Cédric Krier
testing: do not stop waiting if timeout is 0 (issue6541)...
r48457 if timeout and time.time() - start > timeout:
testing: add a utility function to wait for file create...
r47746 raise RuntimeError(b"timed out waiting for file: %s" % path)
time.sleep(0.01)
testing: add a `write_file` function...
r47747
def write_file(path, content=b''):
with open(path, 'wb') as f:
f.write(content)