annotate tests/test-revlog.t @ 35280:8e72f9152c4d

lfs: introduce a user level cache for lfs files This is the same mechanism in place for largefiles, and solves several problems working with multiple local repositories. The existing largefiles method is reused in place, because I suspect that there are other functions that can be shared. If we wait a bit to identify more before `hg cp lfutil.py ...`, the history will be easier to trace. The push between repo14 and repo15 in test-lfs.t arguably shouldn't be uploading any files with a local push. Maybe we can revisit that when `hg push` without 'lfs.url' can upload files to the push destination. Then it would be consistent for blobs in a local push to be linked to the local destination's cache. The cache property is added to run-tests.py, the same as the largefiles property, so that test generated files don't pollute the real location. Having files available locally broke a couple existing lfs-test-server tests, so the cache is cleared in a few places to force file download.
author Matt Harbison <matt_harbison@yahoo.com>
date Wed, 06 Dec 2017 22:56:15 -0500
parents 36d3559c69a6
children 71d1bbf1617e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
32391
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
1 $ hg init empty-repo
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
2 $ cd empty-repo
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
3
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
4 Flags on revlog version 0 are rejected
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
5
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
6 >>> with open('.hg/store/00changelog.i', 'wb') as fh:
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
7 ... fh.write('\x00\x01\x00\x00')
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
8
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
9 $ hg log
32392
36d3559c69a6 revlog: tweak wording and logic for flags validation
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32391
diff changeset
10 abort: unknown flags (0x01) in version 0 revlog 00changelog.i!
32391
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
11 [255]
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
12
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
13 Unknown flags on revlog version 1 are rejected
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
14
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
15 >>> with open('.hg/store/00changelog.i', 'wb') as fh:
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
16 ... fh.write('\x00\x04\x00\x01')
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
17
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
18 $ hg log
32392
36d3559c69a6 revlog: tweak wording and logic for flags validation
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32391
diff changeset
19 abort: unknown flags (0x04) in version 1 revlog 00changelog.i!
32391
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
20 [255]
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
21
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
22 Unknown version is rejected
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
23
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
24 >>> with open('.hg/store/00changelog.i', 'wb') as fh:
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
25 ... fh.write('\x00\x00\x00\x02')
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
26
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
27 $ hg log
32392
36d3559c69a6 revlog: tweak wording and logic for flags validation
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32391
diff changeset
28 abort: unknown version (2) in revlog 00changelog.i!
32391
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
29 [255]
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
30
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
31 $ cd ..
3ea1f1e71a0a tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 32371
diff changeset
32
28656
b6ed2505d6cf parsers: fix list sizing rounding error (SEC)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
33 Test for CVE-2016-3630
b6ed2505d6cf parsers: fix list sizing rounding error (SEC)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
34
b6ed2505d6cf parsers: fix list sizing rounding error (SEC)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
35 $ hg init
b6ed2505d6cf parsers: fix list sizing rounding error (SEC)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
36
b6ed2505d6cf parsers: fix list sizing rounding error (SEC)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
37 >>> open("a.i", "w").write(
b6ed2505d6cf parsers: fix list sizing rounding error (SEC)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
38 ... """eJxjYGZgZIAAYQYGxhgom+k/FMx8YKx9ZUaKSOyqo4cnuKb8mbqHV5cBCVTMWb1Cwqkhe4Gsg9AD
b6ed2505d6cf parsers: fix list sizing rounding error (SEC)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
39 ... Joa3dYtcYYYBAQ8Qr4OqZAYRICPTSr5WKd/42rV36d+8/VmrNpv7NP1jQAXrQE4BqQUARngwVA=="""
b6ed2505d6cf parsers: fix list sizing rounding error (SEC)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
40 ... .decode("base64").decode("zlib"))
b6ed2505d6cf parsers: fix list sizing rounding error (SEC)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
41
b6ed2505d6cf parsers: fix list sizing rounding error (SEC)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
42 $ hg debugindex a.i
b6ed2505d6cf parsers: fix list sizing rounding error (SEC)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
43 rev offset length delta linkrev nodeid p1 p2
b6ed2505d6cf parsers: fix list sizing rounding error (SEC)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
44 0 0 19 -1 2 99e0332bd498 000000000000 000000000000
b6ed2505d6cf parsers: fix list sizing rounding error (SEC)
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
45 1 19 12 0 3 6674f57a23d8 99e0332bd498 000000000000
28782
f736f98e16ca mpatch: unify mpatchError (issue5182)
timeless <timeless@mozdev.org>
parents: 28656
diff changeset
46 $ hg debugdata a.i 1 2>&1 | egrep 'Error:.*decoded'
32371
151cc3b3d799 mpatch: switch to policy importer
Yuya Nishihara <yuya@tcha.org>
parents: 28783
diff changeset
47 (mercurial\.\w+\.mpatch\.)?mpatchError: patch cannot be decoded (re)