Mercurial > hg-stable
annotate tests/test-revlog.t @ 38139:a0e4d654bceb
state: write the version number in plain text on top of state files
We will soon be using CBOR format to write the data in state files. But we
should not write the version number of the state files in CBOR format and we
should rather write it in plain text because in future we can change the format
of state files and we should be able to parse the version number of state file
without requiring to understand a certain format.
This will help us in making sure we have a good compatibility story with other
versions of state files.
Differential Revision: https://phab.mercurial-scm.org/D3579
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Fri, 18 May 2018 16:28:45 +0530 |
parents | 0a10f142299d |
children | da459d426c20 |
rev | line source |
---|---|
32429
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
1 $ hg init empty-repo |
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
2 $ cd empty-repo |
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
3 |
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
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:
32410
diff
changeset
|
5 |
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
6 >>> with open('.hg/store/00changelog.i', 'wb') as fh: |
38113
0a10f142299d
py3: suppress the output from .write() calls in few tests
Pulkit Goyal <7895pulkit@gmail.com>
parents:
37285
diff
changeset
|
7 ... fh.write(b'\x00\x01\x00\x00') and None |
32429
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
8 |
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
9 $ hg log |
32430
36d3559c69a6
revlog: tweak wording and logic for flags validation
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32429
diff
changeset
|
10 abort: unknown flags (0x01) in version 0 revlog 00changelog.i! |
32429
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
11 [255] |
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
12 |
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
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:
32410
diff
changeset
|
14 |
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
15 >>> with open('.hg/store/00changelog.i', 'wb') as fh: |
38113
0a10f142299d
py3: suppress the output from .write() calls in few tests
Pulkit Goyal <7895pulkit@gmail.com>
parents:
37285
diff
changeset
|
16 ... fh.write(b'\x00\x04\x00\x01') and None |
32429
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
17 |
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
18 $ hg log |
32430
36d3559c69a6
revlog: tweak wording and logic for flags validation
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32429
diff
changeset
|
19 abort: unknown flags (0x04) in version 1 revlog 00changelog.i! |
32429
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
20 [255] |
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
21 |
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
22 Unknown version is rejected |
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
23 |
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
24 >>> with open('.hg/store/00changelog.i', 'wb') as fh: |
38113
0a10f142299d
py3: suppress the output from .write() calls in few tests
Pulkit Goyal <7895pulkit@gmail.com>
parents:
37285
diff
changeset
|
25 ... fh.write(b'\x00\x00\x00\x02') and None |
32429
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
26 |
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
27 $ hg log |
32430
36d3559c69a6
revlog: tweak wording and logic for flags validation
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32429
diff
changeset
|
28 abort: unknown version (2) in revlog 00changelog.i! |
32429
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
29 [255] |
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
30 |
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
diff
changeset
|
31 $ cd .. |
3ea1f1e71a0a
tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com>
parents:
32410
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 |
36514
71d1bbf1617e
py3: add b'' prefixes in tests/test-revlog.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32430
diff
changeset
|
37 >>> open("a.i", "wb").write( |
71d1bbf1617e
py3: add b'' prefixes in tests/test-revlog.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32430
diff
changeset
|
38 ... b"""eJxjYGZgZIAAYQYGxhgom+k/FMx8YKx9ZUaKSOyqo4cnuKb8mbqHV5cBCVTMWb1Cwqkhe4Gsg9AD |
28656
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 |
37285
d4e62df1c73d
debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37284
diff
changeset
|
43 rev linkrev nodeid p1 p2 |
d4e62df1c73d
debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37284
diff
changeset
|
44 0 2 99e0332bd498 000000000000 000000000000 |
d4e62df1c73d
debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37284
diff
changeset
|
45 1 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' |
32410
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) |