Mercurial > hg
view tests/test-journal-share.t @ 49836:3d7bf111f01e stable
packaging: add dependencies to the PyOxidizer build on macOS
Otherwise, we get a bunch of test failures for missing things like pygments, or
tests skipped entirely. The input file is a copy/paste from the equivalent
Windows file, but with dulwich, pygit2, and pytest-vcr commented out because
the build process errors out with them, flagging them as incompatible with
loading from memory. I have no idea if that's actually true or not, because
I've noticed that if I don't `make clean` after every build, the next build
flags the watchman stuff as incompatible with loading from memory.
The remaining failures are:
Failed test-alias.t: output changed
Failed test-basic.t: output changed
Failed test-check-help.t: output changed
Failed test-commit-interactive.t: output changed
Failed test-extension.t: output changed
Failed test-help.t: output changed
Failed test-i18n.t: output changed
Failed test-log.t: output changed
Failed test-qrecord.t: output changed
Failed test-share-safe.t: output changed
Most of the issues seem related to loading help for disabled extensions from
`hgext.__index__`, namely the full extension help being unavailable, not being
able to resolve what commands are provided by what extension, and not having the
command level help available.
test-log.t, test-commit-interactive.t, and test-i18n.t look like i18n (or lack
thereof) issues.
test-basic.t is just odd:
@@ -55,7 +55,7 @@
On Python 3, stdio may be None:
$ hg debuguiprompt --config ui.interactive=true 0<&-
- abort: Bad file descriptor (no-rhg !)
+ abort: response expected
abort: response expected (rhg !)
[255]
$ hg version -q 0<&-
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Tue, 06 Dec 2022 17:12:59 -0500 |
parents | d252f51ab032 |
children |
line wrap: on
line source
#testcases safe normal #if safe $ echo "[format]" >> $HGRCPATH $ echo "exp-share-safe = True" >> $HGRCPATH #endif Journal extension test: tests the share extension support $ cat >> testmocks.py << EOF > # mock out procutil.getuser() and util.makedate() to supply testable values > import os > from mercurial import util > from mercurial.utils import procutil > def mockgetuser(): > return b'foobar' > > def mockmakedate(): > filename = os.path.join(os.environ['TESTTMP'], 'testtime') > try: > with open(filename, 'rb') as timef: > time = float(timef.read()) + 1 > except IOError: > time = 0.0 > with open(filename, 'wb') as timef: > timef.write(str(time)) > return (time, 0) > > procutil.getuser = mockgetuser > util.makedate = mockmakedate > EOF $ cat >> $HGRCPATH << EOF > [extensions] > journal= > share= > testmocks=`pwd`/testmocks.py > [remotenames] > rename.default=remote > EOF $ hg init repo $ cd repo $ hg bookmark bm $ touch file0 $ hg commit -Am file0-added adding file0 $ hg journal --all previous locations of the working copy and bookmarks: 0fd3805711f9 . commit -Am file0-added 0fd3805711f9 bm commit -Am file0-added A shared working copy initially receives the same bookmarks and working copy $ cd .. $ hg share repo shared1 updating working directory 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd shared1 $ hg journal --all previous locations of the working copy and bookmarks: 0fd3805711f9 . share repo shared1 unless you explicitly share bookmarks $ cd .. $ hg share --bookmarks repo shared2 updating working directory 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd shared2 $ hg journal --all previous locations of the working copy and bookmarks: 0fd3805711f9 . share --bookmarks repo shared2 0fd3805711f9 bm commit -Am file0-added Moving the bookmark in the original repository is only shown in the repository that shares bookmarks $ cd ../repo $ touch file1 $ hg commit -Am file1-added adding file1 $ cd ../shared1 $ hg journal --all previous locations of the working copy and bookmarks: 0fd3805711f9 . share repo shared1 $ cd ../shared2 $ hg journal --all previous locations of the working copy and bookmarks: 4f354088b094 bm commit -Am file1-added 0fd3805711f9 . share --bookmarks repo shared2 0fd3805711f9 bm commit -Am file0-added But working copy changes are always 'local' $ cd ../repo $ hg up 0 0 files updated, 0 files merged, 1 files removed, 0 files unresolved (leaving bookmark bm) $ hg journal --all previous locations of the working copy and bookmarks: 0fd3805711f9 . up 0 4f354088b094 . commit -Am file1-added 4f354088b094 bm commit -Am file1-added 0fd3805711f9 . commit -Am file0-added 0fd3805711f9 bm commit -Am file0-added $ cd ../shared2 $ hg journal --all previous locations of the working copy and bookmarks: 4f354088b094 bm commit -Am file1-added 0fd3805711f9 . share --bookmarks repo shared2 0fd3805711f9 bm commit -Am file0-added $ hg up tip 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg up 0 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ hg journal previous locations of '.': 0fd3805711f9 up 0 4f354088b094 up tip 0fd3805711f9 share --bookmarks repo shared2 Unsharing works as expected; the journal remains consistent $ cd ../shared1 $ hg unshare $ hg journal --all previous locations of the working copy and bookmarks: 0fd3805711f9 . share repo shared1 $ cd ../shared2 $ hg unshare $ hg journal --all previous locations of the working copy and bookmarks: 0fd3805711f9 . up 0 4f354088b094 . up tip 4f354088b094 bm commit -Am file1-added 0fd3805711f9 . share --bookmarks repo shared2 0fd3805711f9 bm commit -Am file0-added New journal entries in the source repo no longer show up in the other working copies $ cd ../repo $ hg bookmark newbm -r tip $ hg journal newbm previous locations of 'newbm': 4f354088b094 bookmark newbm -r tip $ cd ../shared2 $ hg journal newbm previous locations of 'newbm': no recorded locations This applies for both directions $ hg bookmark shared2bm -r tip $ hg journal shared2bm previous locations of 'shared2bm': 4f354088b094 bookmark shared2bm -r tip $ cd ../repo $ hg journal shared2bm previous locations of 'shared2bm': no recorded locations