# HG changeset patch # User Pierre-Yves David # Date 1560915967 -7200 # 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 -r cd73e51a1f8a -r febf5c8215c1 tests/test-bookmarks-corner-case.t --- a/tests/test-bookmarks-corner-case.t Wed Jun 19 05:45:44 2019 +0200 +++ b/tests/test-bookmarks-corner-case.t Wed Jun 19 05:46:07 2019 +0200 @@ -120,7 +120,8 @@ > 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 @@ > 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)