##// END OF EJS Templates
merge: skip syntactic path checks in [_checkunknownfile]...
merge: skip syntactic path checks in [_checkunknownfile] We don't need to check the paths syntactically, since they are coming from diffing the revisions, so hopefully already checked on the way in. We still need to check what's on the filesystem, to avoid traversing the symlinks or subdirs, which we can't know about statically. Also, we use the directory audit to elide [isfileorlink], this removing ~all lstat calls from hg updates from-empty.

File last commit:

r49730:6000f5b2 default
r50804:b7cf91ef default
Show More
__init__.py
38 lines | 1021 B | text/x-python | PythonLexer
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"""
default = int(environ.get('HGTEST_TIMEOUT_DEFAULT', 360))
current = int(environ.get('HGTEST_TIMEOUT', default))
if current == 0:
return 1
return current / float(default)
def wait_file(path, timeout=10):
timeout *= _timeout_factor()
start = time.time()
while not os.path.exists(path):
if timeout and time.time() - start > timeout:
raise RuntimeError(b"timed out waiting for file: %s" % path)
time.sleep(0.01)
def write_file(path, content=b''):
if content:
write_path = b'%s.tmp' % path
else:
write_path = path
with open(write_path, 'wb') as f:
f.write(content)
if path != write_path:
os.rename(write_path, path)