##// 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:

r41885:c70bdd22 default
r44267:19da643d default
Show More
test-import-context.t
129 lines | 2.4 KiB | text/troff | Tads3Lexer
/ tests / test-import-context.t
Test applying context diffs
$ cat > writepatterns.py <<EOF
> import sys
>
> path = sys.argv[1]
> lasteol = sys.argv[2] == '1'
> patterns = sys.argv[3:]
>
> fp = open(path, 'wb')
> for i, pattern in enumerate(patterns):
> count = int(pattern[0:-1])
> char = pattern[-1].encode('utf8') + b'\n'
> if not lasteol and i == len(patterns) - 1:
> fp.write((char * count)[:-1])
> else:
> fp.write(char * count)
> fp.close()
> EOF
$ cat > cat.py <<EOF
> import sys
> from mercurial import pycompat
> from mercurial.utils import stringutil
> pycompat.stdout.write(b'%s\n'
> % stringutil.pprint(open(sys.argv[1], 'rb').read()))
> EOF
Initialize the test repository
$ hg init repo
$ cd repo
$ "$PYTHON" ../writepatterns.py a 0 5A 1B 5C 1D
$ "$PYTHON" ../writepatterns.py b 1 1A 1B
$ "$PYTHON" ../writepatterns.py c 1 5A
$ "$PYTHON" ../writepatterns.py d 1 5A 1B
$ hg add
adding a
adding b
adding c
adding d
$ hg ci -m addfiles
Add file, missing a last end of line
$ hg import --no-commit - <<EOF
> *** /dev/null 2010-10-16 18:05:49.000000000 +0200
> --- b/newnoeol 2010-10-16 18:23:26.000000000 +0200
> ***************
> *** 0 ****
> --- 1,2 ----
> + a
> + b
> \ No newline at end of file
> *** a/a Sat Oct 16 16:35:51 2010
> --- b/a Sat Oct 16 16:35:51 2010
> ***************
> *** 3,12 ****
> A
> A
> A
> ! B
> C
> C
> C
> C
> C
> ! D
> \ No newline at end of file
> --- 3,13 ----
> A
> A
> A
> ! E
> C
> C
> C
> C
> C
> ! F
> ! F
>
> *** a/b 2010-10-16 18:40:38.000000000 +0200
> --- /dev/null 2010-10-16 18:05:49.000000000 +0200
> ***************
> *** 1,2 ****
> - A
> - B
> --- 0 ----
> *** a/c Sat Oct 16 21:34:26 2010
> --- b/c Sat Oct 16 21:34:27 2010
> ***************
> *** 3,5 ****
> --- 3,7 ----
> A
> A
> A
> + B
> + B
> *** a/d Sat Oct 16 21:47:20 2010
> --- b/d Sat Oct 16 21:47:22 2010
> ***************
> *** 2,6 ****
> A
> A
> A
> - A
> - B
> --- 2,4 ----
> EOF
applying patch from stdin
$ hg st
M a
M c
M d
A newnoeol
R b
What's in a
$ "$PYTHON" ../cat.py a
'A\nA\nA\nA\nA\nE\nC\nC\nC\nC\nC\nF\nF\n'
$ "$PYTHON" ../cat.py newnoeol
'a\nb'
$ "$PYTHON" ../cat.py c
'A\nA\nA\nA\nA\nB\nB\n'
$ "$PYTHON" ../cat.py d
'A\nA\nA\nA\n'
$ cd ..