Mercurial > hg
annotate tests/test-manifestv2.t @ 28180:2836a43c7722
run-tests: allow run-tests.py to run tests outside current directory
When reloading tests, run-tests.py was assuming that it could look
up the test by the basename, which only works if you are running
tests which are in the current directory.
This patch changes that lookup to use the full path. This is all
that was needed, and does not appear to cause any problems for
any of the existing testing work flows based on running the
suggested commands at the top of run-tests.py.
Motivation: In order to test Mercurial with Hypothesis (according
to https://www.mercurial-scm.org/wiki/HypothesisPlan) it is
useful to be able to generate temporary test files and execute
them. Generating temporary files in the tests/ directory leads to
a lot of suboptimal clutter.
author | David R. MacIver <david@drmaciver.com> |
---|---|
date | Thu, 18 Feb 2016 08:52:15 +0000 |
parents | 2329ca3ebc7a |
children | eb586ed5d8ce |
rev | line source |
---|---|
24935
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
1 Create repo with old manifest |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
2 |
26917
2329ca3ebc7a
test: use generaldelta in test-manifestv2.t
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24935
diff
changeset
|
3 $ cat << EOF >> $HGRCPATH |
2329ca3ebc7a
test: use generaldelta in test-manifestv2.t
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24935
diff
changeset
|
4 > [format] |
2329ca3ebc7a
test: use generaldelta in test-manifestv2.t
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24935
diff
changeset
|
5 > usegeneraldelta=yes |
2329ca3ebc7a
test: use generaldelta in test-manifestv2.t
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24935
diff
changeset
|
6 > EOF |
2329ca3ebc7a
test: use generaldelta in test-manifestv2.t
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24935
diff
changeset
|
7 |
24935
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
8 $ hg init existing |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
9 $ cd existing |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
10 $ echo footext > foo |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
11 $ hg add foo |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
12 $ hg commit -m initial |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
13 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
14 We're using v1, so no manifestv2 entry is in requires yet. |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
15 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
16 $ grep manifestv2 .hg/requires |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
17 [1] |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
18 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
19 Let's clone this with manifestv2 enabled to switch to the new format for |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
20 future commits. |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
21 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
22 $ cd .. |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
23 $ hg clone --pull existing new --config experimental.manifestv2=1 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
24 requesting all changes |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
25 adding changesets |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
26 adding manifests |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
27 adding file changes |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
28 added 1 changesets with 1 changes to 1 files |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
29 updating to branch default |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
30 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
31 $ cd new |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
32 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
33 Check that entry was added to .hg/requires. |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
34 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
35 $ grep manifestv2 .hg/requires |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
36 manifestv2 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
37 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
38 Make a new commit. |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
39 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
40 $ echo newfootext > foo |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
41 $ hg commit -m new |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
42 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
43 Check that the manifest actually switched to v2. |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
44 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
45 $ hg debugdata -m 0 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
46 foo\x0021e958b1dca695a60ee2e9cf151753204ee0f9e9 (esc) |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
47 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
48 $ hg debugdata -m 1 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
49 \x00 (esc) |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
50 \x00foo\x00 (esc) |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
51 I\xab\x7f\xb8(\x83\xcas\x15\x9d\xc2\xd3\xd3:5\x08\xbad5_ (esc) |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
52 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
53 Check that manifestv2 is used if the requirement is present, even if it's |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
54 disabled in the config. |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
55 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
56 $ echo newerfootext > foo |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
57 $ hg --config experimental.manifestv2=False commit -m newer |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
58 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
59 $ hg debugdata -m 2 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
60 \x00 (esc) |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
61 \x00foo\x00 (esc) |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
62 \xa6\xb1\xfb\xef]\x91\xa1\x19`\xf3.#\x90S\xf8\x06 \xe2\x19\x00 (esc) |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
63 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
64 Check that we can still read v1 manifests. |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
65 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
66 $ hg files -r 0 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
67 foo |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
68 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
69 $ cd .. |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
70 |
3035b75cd594
tests: test that we can convert to manifestv2 with clone
Drew Gottlieb <drgott@google.com>
parents:
24573
diff
changeset
|
71 Check that entry is added to .hg/requires on repo creation |
24571
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
72 |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
73 $ hg --config experimental.manifestv2=True init repo |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
74 $ cd repo |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
75 $ grep manifestv2 .hg/requires |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
76 manifestv2 |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
77 |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
78 Set up simple repo |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
79 |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
80 $ echo a > file1 |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
81 $ echo b > file2 |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
82 $ echo c > file3 |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
83 $ hg ci -Aqm 'initial' |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
84 $ echo d > file2 |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
85 $ hg ci -m 'modify file2' |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
86 |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
87 Check that 'hg verify', which uses manifest.readdelta(), works |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
88 |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
89 $ hg verify |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
90 checking changesets |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
91 checking manifests |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
92 crosschecking files in changesets and manifests |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
93 checking files |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
94 3 files, 2 changesets, 4 total revisions |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
95 |
24573
701d3554de0e
manifestv2: add support for writing new manifest format
Martin von Zweigbergk <martinvonz@google.com>
parents:
24571
diff
changeset
|
96 Check that manifest revlog is smaller than for v1 |
24571
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
97 |
919f8ce040be
manifestv2: set requires at repo creation time
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
98 $ hg debugindex -m |
26917
2329ca3ebc7a
test: use generaldelta in test-manifestv2.t
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24935
diff
changeset
|
99 rev offset length delta linkrev nodeid p1 p2 |
2329ca3ebc7a
test: use generaldelta in test-manifestv2.t
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24935
diff
changeset
|
100 0 0 81 -1 0 57361477c778 000000000000 000000000000 |
24573
701d3554de0e
manifestv2: add support for writing new manifest format
Martin von Zweigbergk <martinvonz@google.com>
parents:
24571
diff
changeset
|
101 1 81 33 0 1 aeaab5a2ef74 57361477c778 000000000000 |