##// END OF EJS Templates
tests: finally fix up test-fuzz-targets.t...
tests: finally fix up test-fuzz-targets.t It's been failing on my workstation for a while, since I have a new enough LLVM that I had the fuzzer goo, but not so new that I actually had FuzzedDataProvider. This is a better solution all around in my opinion. I _believe_ this should let us run these tests on most systems, even those using GCC instead of clang. That said, my one attempt to test this on my macOS laptop failed miserably, and I don't feel like doing more work on this right now. Differential Revision: https://phab.mercurial-scm.org/D7566

File last commit:

r38091:0a10f142 default
r44267:19da643d default
Show More
test-symlink-placeholder.t
79 lines | 1.9 KiB | text/troff | Tads3Lexer
/ tests / test-symlink-placeholder.t
Matt Mackall
tests: replace exit 80 with #require
r22046 #require symlink
Mads Kiilerich
tests: use 'hghave symlink' for tests using symlinks
r15441
Matt Mackall
windows: sanity-check symlink placeholders...
r15348 Create extension that can disable symlink support:
$ cat > nolink.py <<EOF
> from mercurial import extensions, util
> def setflags(orig, f, l, x):
> pass
> def checklink(orig, path):
> return False
> def extsetup(ui):
> extensions.wrapfunction(util, 'setflags', setflags)
> extensions.wrapfunction(util, 'checklink', checklink)
> EOF
$ hg init unix-repo
$ cd unix-repo
$ echo foo > a
$ ln -s a b
$ hg ci -Am0
adding a
adding b
$ cd ..
Simulate a checkout shared on NFS/Samba:
$ hg clone -q unix-repo shared
$ cd shared
$ rm b
$ echo foo > b
$ hg --config extensions.n=$TESTTMP/nolink.py status --debug
ignoring suspect symlink placeholder "b"
Make a clone using placeholders:
$ hg --config extensions.n=$TESTTMP/nolink.py clone . ../win-repo
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ../win-repo
$ cat b
a (no-eol)
$ hg --config extensions.n=$TESTTMP/nolink.py st --debug
Siddharth Agarwal
localrepo.status: ignore empty symlink placeholders...
r19650 Empty placeholder:
$ rm b
$ touch b
$ hg --config extensions.n=$TESTTMP/nolink.py st --debug
ignoring suspect symlink placeholder "b"
Matt Mackall
windows: sanity-check symlink placeholders...
r15348 Write binary data to the placeholder:
Pulkit Goyal
py3: suppress the output from .write() calls in few tests...
r38091 >>> open('b', 'w').write('this is a binary\0') and None
Matt Mackall
windows: sanity-check symlink placeholders...
r15348 $ hg --config extensions.n=$TESTTMP/nolink.py st --debug
ignoring suspect symlink placeholder "b"
Write a long string to the placeholder:
Pulkit Goyal
py3: suppress the output from .write() calls in few tests...
r38091 >>> open('b', 'w').write('this' * 1000) and None
Matt Mackall
windows: sanity-check symlink placeholders...
r15348 $ hg --config extensions.n=$TESTTMP/nolink.py st --debug
ignoring suspect symlink placeholder "b"
Commit shouldn't succeed:
$ hg --config extensions.n=$TESTTMP/nolink.py ci -m1
nothing changed
[1]
Write a valid string to the placeholder:
Pulkit Goyal
py3: suppress the output from .write() calls in few tests...
r38091 >>> open('b', 'w').write('this') and None
Matt Mackall
windows: sanity-check symlink placeholders...
r15348 $ hg --config extensions.n=$TESTTMP/nolink.py st --debug
M b
$ hg --config extensions.n=$TESTTMP/nolink.py ci -m1
$ hg manifest tip --verbose
644 a
644 @ b
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..