##// END OF EJS Templates
streamclone: remove sleep based "synchronisation" in tests...
streamclone: remove sleep based "synchronisation" in tests Sleep based test synchronisation does not work. Variation in machine performance and load can make the two process miss their windows. Instead we migrate to explicit signaling through the file system as other tests file are using. Differential Revision: https://phab.mercurial-scm.org/D10478

File last commit:

r47748:faa43f09 default
r47748:faa43f09 default
Show More
ext-stream-clone-steps.py
31 lines | 707 B | text/x-python | PythonLexer
/ tests / testlib / ext-stream-clone-steps.py
streamclone: remove sleep based "synchronisation" in tests...
r47748 from __future__ import absolute_import
from mercurial import (
encoding,
extensions,
streamclone,
testing,
)
WALKED_FILE_1 = encoding.environ[b'HG_TEST_STREAM_WALKED_FILE_1']
WALKED_FILE_2 = encoding.environ[b'HG_TEST_STREAM_WALKED_FILE_2']
def _test_sync_point_walk_1(orig, repo):
testing.write_file(WALKED_FILE_1)
def _test_sync_point_walk_2(orig, repo):
assert repo._currentlock(repo._lockref) is None
testing.wait_file(WALKED_FILE_2)
def uisetup(ui):
extensions.wrapfunction(
streamclone, '_test_sync_point_walk_1', _test_sync_point_walk_1
)
extensions.wrapfunction(
streamclone, '_test_sync_point_walk_2', _test_sync_point_walk_2
)