Mercurial > hg
view mercurial/testing/__init__.py @ 48260:269ff8978086
dirstate: store mtimes with nanosecond precision in memory
Keep integer seconds since the Unix epoch,
together with integer nanoseconds in the `0 <= n < 1e9` range.
For now, nanoseconds are still always zero.
This commit is about data structure changes.
Differential Revision: https://phab.mercurial-scm.org/D11684
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Mon, 18 Oct 2021 11:23:07 +0200 |
parents | 5ad37164a8fe |
children | 6000f5b25c9b |
line wrap: on
line source
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""" 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)