# HG changeset patch # User Pierre-Yves David # Date 2019-06-19 03:46:07 # Node ID febf5c8215c12d07729f3af0b1005e4387b3508c # Parent cd73e51a1f8a7c76438e6e52db5ff26e1033d7ad test: factor out the "wait" logic in bookrace The test is currently not testing the race it is supposed to test. The synchronisation is still valid, but needs to run at a different point. We start with extracting the synchronisation logic for clarity. diff --git a/tests/test-bookmarks-corner-case.t b/tests/test-bookmarks-corner-case.t --- a/tests/test-bookmarks-corner-case.t +++ b/tests/test-bookmarks-corner-case.t @@ -120,7 +120,8 @@ We build a server side extension for thi > import time > import atexit > from mercurial import error, extensions, bookmarks - > def wrapinit(orig, self, repo): + > + > def wait(): > if not os.path.exists('push-A-started'): > print('setting raced push up') > with open('push-A-started', 'w'): @@ -131,6 +132,9 @@ We build a server side extension for thi > if clock <= 0: > raise error.Abort("race scenario timed out") > time.sleep(0.1) + > + > def wrapinit(orig, self, repo): + > wait() > return orig(self, repo) > def uisetup(ui): > extensions.wrapfunction(bookmarks.bmstore, '__init__', wrapinit)