##// END OF EJS Templates
testing: add a `write_file` function...
marmoute -
r47747:52cee44a default
parent child Browse files
Show More
@@ -1,30 +1,35 b''
1 from __future__ import (
1 from __future__ import (
2 absolute_import,
2 absolute_import,
3 division,
3 division,
4 )
4 )
5
5
6 import os
6 import os
7 import time
7 import time
8
8
9
9
10 # work around check-code complains
10 # work around check-code complains
11 #
11 #
12 # This is a simple log level module doing simple test related work, we can't
12 # This is a simple log level module doing simple test related work, we can't
13 # import more things, and we do not need it.
13 # import more things, and we do not need it.
14 environ = getattr(os, 'environ')
14 environ = getattr(os, 'environ')
15
15
16
16
17 def _timeout_factor():
17 def _timeout_factor():
18 """return the current modification to timeout"""
18 """return the current modification to timeout"""
19 default = int(environ.get('HGTEST_TIMEOUT_DEFAULT', 1))
19 default = int(environ.get('HGTEST_TIMEOUT_DEFAULT', 1))
20 current = int(environ.get('HGTEST_TIMEOUT', default))
20 current = int(environ.get('HGTEST_TIMEOUT', default))
21 return current / float(default)
21 return current / float(default)
22
22
23
23
24 def wait_file(path, timeout=10):
24 def wait_file(path, timeout=10):
25 timeout *= _timeout_factor()
25 timeout *= _timeout_factor()
26 start = time.time()
26 start = time.time()
27 while not os.path.exists(path):
27 while not os.path.exists(path):
28 if time.time() - start > timeout:
28 if time.time() - start > timeout:
29 raise RuntimeError(b"timed out waiting for file: %s" % path)
29 raise RuntimeError(b"timed out waiting for file: %s" % path)
30 time.sleep(0.01)
30 time.sleep(0.01)
31
32
33 def write_file(path, content=b''):
34 with open(path, 'wb') as f:
35 f.write(content)
General Comments 0
You need to be logged in to leave comments. Login now