Mercurial > hg
annotate tests/test-audit-path.t @ 50400:95acba2c29f6
encoding: avoid quadratic time complexity when json-encoding non-UTF8 strings
Apparently the code uses "+=" with a bytes object, which is linear-time, so the
whole encoding is quadratic-time. This patch makes us use a bytearray object,
instead, which has a(n amortized-)constant-time append operation.
The encoding is still not particularly fast, but at least a 10MB file
takes tens of seconds, not many hours to encode.
author | Arseniy Alekseyev <aalekseyev@janestreet.com> |
---|---|
date | Mon, 06 Mar 2023 11:27:57 +0000 |
parents | 55c6ebd11cb9 |
children | 9b14a8cf4f78 |
rev | line source |
---|---|
37421
9984488550ea
tests: disable test-audit-path.t with simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37101
diff
changeset
|
1 The simple store doesn't escape paths robustly and can't store paths |
9984488550ea
tests: disable test-audit-path.t with simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37101
diff
changeset
|
2 with periods, etc. So much of this test fails with it. |
9984488550ea
tests: disable test-audit-path.t with simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37101
diff
changeset
|
3 #require no-reposimplestore |
9984488550ea
tests: disable test-audit-path.t with simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37101
diff
changeset
|
4 |
49621
55c6ebd11cb9
tests: run many tests in $TESTTMP/repo instead of $TESTTMP
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
48369
diff
changeset
|
5 $ hg init repo |
55c6ebd11cb9
tests: run many tests in $TESTTMP/repo instead of $TESTTMP
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
48369
diff
changeset
|
6 $ cd repo |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
7 |
16908
6a997aacba5d
tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
8 audit of .hg |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
9 |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
10 $ hg add .hg/00changelog.i |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34942
diff
changeset
|
11 abort: path contains illegal component: .hg/00changelog.i |
48369
35f1ecd84bd0
errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents:
45771
diff
changeset
|
12 [10] |
5158
d316124ebbea
Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
13 |
16908
6a997aacba5d
tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
14 #if symlink |
6a997aacba5d
tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
15 |
6a997aacba5d
tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
16 Symlinks |
6a997aacba5d
tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
17 |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
18 $ mkdir a |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
19 $ echo a > a/a |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
20 $ hg ci -Ama |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
21 adding a/a |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
22 $ ln -s a b |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
23 $ echo b > a/b |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
24 $ hg add b/b |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34942
diff
changeset
|
25 abort: path 'b/b' traverses symbolic link 'b' |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11855
diff
changeset
|
26 [255] |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
27 $ hg add b |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
28 |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
29 should still fail - maybe |
5158
d316124ebbea
Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
30 |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
31 $ hg add b/b |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34942
diff
changeset
|
32 abort: path 'b/b' traverses symbolic link 'b' |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11855
diff
changeset
|
33 [255] |
5158
d316124ebbea
Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
34 |
27234
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
35 $ hg commit -m 'add symlink b' |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
36 |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
37 |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
38 Test symlink traversing when accessing history: |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
39 ----------------------------------------------- |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
40 |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
41 (build a changeset where the path exists as a directory) |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
42 |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
43 $ hg up 0 |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
44 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
45 $ mkdir b |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
46 $ echo c > b/a |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
47 $ hg add b/a |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
48 $ hg ci -m 'add directory b' |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
49 created new head |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
50 |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
51 Test that hg cat does not do anything wrong the working copy has 'b' as directory |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
52 |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
53 $ hg cat b/a |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
54 c |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
55 $ hg cat -r "desc(directory)" b/a |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
56 c |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
57 $ hg cat -r "desc(symlink)" b/a |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
58 b/a: no such file in rev bc151a1f53bd |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
59 [1] |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
60 |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
61 Test that hg cat does not do anything wrong the working copy has 'b' as a symlink (issue4749) |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
62 |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
63 $ hg up 'desc(symlink)' |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
64 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
65 $ hg cat b/a |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
66 b/a: no such file in rev bc151a1f53bd |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
67 [1] |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
68 $ hg cat -r "desc(directory)" b/a |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
69 c |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
70 $ hg cat -r "desc(symlink)" b/a |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
71 b/a: no such file in rev bc151a1f53bd |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
72 [1] |
15c6eb0a51bd
context: use a the nofsauditor when matching file in history (issue4749)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18506
diff
changeset
|
73 |
16908
6a997aacba5d
tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
74 #endif |
6a997aacba5d
tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
75 |
6a997aacba5d
tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
76 |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
77 unbundle tampered bundle |
5158
d316124ebbea
Make audit_path more stringent.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
78 |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
79 $ hg init target |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
80 $ cd target |
16350
4f795f5fbb0b
tests: make tests work if directory contains special characters
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15521
diff
changeset
|
81 $ hg unbundle "$TESTDIR/bundles/tampered.hg" |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
82 adding changesets |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
83 adding manifests |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
84 adding file changes |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
85 added 5 changesets with 6 changes to 6 files (+4 heads) |
39480
89630d0b3e23
phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents:
37421
diff
changeset
|
86 new changesets b7da9bf6b037:fc1393d727bc (5 drafts) |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
87 (run 'hg heads' to see heads, 'hg merge' to merge) |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
88 |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
89 attack .hg/test |
7554
11a4eb81fb4f
test-audit-path: add more tests (issue 1450)
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
5158
diff
changeset
|
90 |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
91 $ hg manifest -r0 |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
92 .hg/test |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
93 $ hg update -Cr0 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34942
diff
changeset
|
94 abort: path contains illegal component: .hg/test |
48369
35f1ecd84bd0
errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents:
45771
diff
changeset
|
95 [10] |
7554
11a4eb81fb4f
test-audit-path: add more tests (issue 1450)
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
5158
diff
changeset
|
96 |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
97 attack foo/.hg/test |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
98 |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
99 $ hg manifest -r1 |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
100 foo/.hg/test |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
101 $ hg update -Cr1 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34942
diff
changeset
|
102 abort: path 'foo/.hg/test' is inside nested repo 'foo' |
48369
35f1ecd84bd0
errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents:
45771
diff
changeset
|
103 [10] |
7554
11a4eb81fb4f
test-audit-path: add more tests (issue 1450)
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
5158
diff
changeset
|
104 |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
105 attack back/test where back symlinks to .. |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
106 |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
107 $ hg manifest -r2 |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
108 back |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
109 back/test |
16908
6a997aacba5d
tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
110 #if symlink |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
111 $ hg update -Cr2 |
34942
2a774cae3a03
merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents:
34833
diff
changeset
|
112 abort: path 'back/test' traverses symbolic link 'back' |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11855
diff
changeset
|
113 [255] |
16908
6a997aacba5d
tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
114 #else |
6a997aacba5d
tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
115 ('back' will be a file and cause some other system specific error) |
6a997aacba5d
tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
116 $ hg update -Cr2 |
37101
656ac240f392
context: skip path conflicts by default when clearing unknown file (issue5776)
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
117 abort: $TESTTMP/target/back/test: $ENOTDIR$ |
16908
6a997aacba5d
tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
118 [255] |
6a997aacba5d
tests: convert some 'hghave symlink' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
119 #endif |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
120 |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
121 attack ../test |
7554
11a4eb81fb4f
test-audit-path: add more tests (issue 1450)
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
5158
diff
changeset
|
122 |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
123 $ hg manifest -r3 |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
124 ../test |
34832
d6009d1488e8
tests: add test demonstrating regression in path audit
Mark Thomas <mbthomas@fb.com>
parents:
34689
diff
changeset
|
125 $ mkdir ../test |
d6009d1488e8
tests: add test demonstrating regression in path audit
Mark Thomas <mbthomas@fb.com>
parents:
34689
diff
changeset
|
126 $ echo data > ../test/file |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
127 $ hg update -Cr3 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34942
diff
changeset
|
128 abort: path contains illegal component: ../test |
48369
35f1ecd84bd0
errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents:
45771
diff
changeset
|
129 [10] |
34832
d6009d1488e8
tests: add test demonstrating regression in path audit
Mark Thomas <mbthomas@fb.com>
parents:
34689
diff
changeset
|
130 $ cat ../test/file |
34833
07bbb208a924
context: audit paths before clearing unknown files and dirs
Mark Thomas <mbthomas@fb.com>
parents:
34832
diff
changeset
|
131 data |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
132 |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
133 attack /tmp/test |
7554
11a4eb81fb4f
test-audit-path: add more tests (issue 1450)
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
5158
diff
changeset
|
134 |
11855
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
135 $ hg manifest -r4 |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
136 /tmp/test |
054b0d9c3f0c
tests: unify test-audit-path
Martin Geisler <mg@lazybytes.net>
parents:
7681
diff
changeset
|
137 $ hg update -Cr4 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34942
diff
changeset
|
138 abort: path contains illegal component: /tmp/test |
48369
35f1ecd84bd0
errors: use detailed exit code in pathauditor
Martin von Zweigbergk <martinvonz@google.com>
parents:
45771
diff
changeset
|
139 [10] |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16908
diff
changeset
|
140 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16908
diff
changeset
|
141 $ cd .. |
33632
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
142 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
143 Test symlink traversal on merge: |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
144 -------------------------------- |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
145 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
146 #if symlink |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
147 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
148 set up symlink hell |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
149 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
150 $ mkdir merge-symlink-out |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
151 $ hg init merge-symlink |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
152 $ cd merge-symlink |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
153 $ touch base |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
154 $ hg commit -qAm base |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
155 $ ln -s ../merge-symlink-out a |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
156 $ hg commit -qAm 'symlink a -> ../merge-symlink-out' |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
157 $ hg up -q 0 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
158 $ mkdir a |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
159 $ touch a/poisoned |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
160 $ hg commit -qAm 'file a/poisoned' |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
161 $ hg log -G -T '{rev}: {desc}\n' |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
162 @ 2: file a/poisoned |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
163 | |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
164 | o 1: symlink a -> ../merge-symlink-out |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
165 |/ |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
166 o 0: base |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
167 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
168 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
169 try trivial merge |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
170 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
171 $ hg up -qC 1 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
172 $ hg merge 2 |
34942
2a774cae3a03
merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents:
34833
diff
changeset
|
173 abort: path 'a/poisoned' traverses symbolic link 'a' |
2a774cae3a03
merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents:
34833
diff
changeset
|
174 [255] |
33632
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
175 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
176 try rebase onto other revision: cache of audited paths should be discarded, |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
177 and the rebase should fail (issue5628) |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
178 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
179 $ hg up -qC 2 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
180 $ hg rebase -s 2 -d 1 --config extensions.rebase= |
45771
f90a5c211251
rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents:
39480
diff
changeset
|
181 rebasing 2:e73c21d6b244 tip "file a/poisoned" |
34942
2a774cae3a03
merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents:
34833
diff
changeset
|
182 abort: path 'a/poisoned' traverses symbolic link 'a' |
2a774cae3a03
merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents:
34833
diff
changeset
|
183 [255] |
33632
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
184 $ ls ../merge-symlink-out |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
185 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
186 $ cd .. |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
187 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
188 Test symlink traversal on update: |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
189 --------------------------------- |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
190 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
191 $ mkdir update-symlink-out |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
192 $ hg init update-symlink |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
193 $ cd update-symlink |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
194 $ ln -s ../update-symlink-out a |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
195 $ hg commit -qAm 'symlink a -> ../update-symlink-out' |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
196 $ hg rm a |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
197 $ mkdir a && touch a/b |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
198 $ hg ci -qAm 'file a/b' a/b |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
199 $ hg up -qC 0 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
200 $ hg rm a |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
201 $ mkdir a && touch a/c |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
202 $ hg ci -qAm 'rm a, file a/c' |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
203 $ hg log -G -T '{rev}: {desc}\n' |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
204 @ 2: rm a, file a/c |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
205 | |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
206 | o 1: file a/b |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
207 |/ |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
208 o 0: symlink a -> ../update-symlink-out |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
209 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
210 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
211 try linear update where symlink already exists: |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
212 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
213 $ hg up -qC 0 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
214 $ hg up 1 |
34942
2a774cae3a03
merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents:
34833
diff
changeset
|
215 abort: path 'a/b' traverses symbolic link 'a' |
33632
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
216 [255] |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
217 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
218 try linear update including symlinked directory and its content: paths are |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
219 audited first by calculateupdates(), where no symlink is created so both |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
220 'a' and 'a/b' are taken as good paths. still applyupdates() should fail. |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
221 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
222 $ hg up -qC null |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
223 $ hg up 1 |
34942
2a774cae3a03
merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents:
34833
diff
changeset
|
224 abort: path 'a/b' traverses symbolic link 'a' |
33633
20bac46f7744
pathauditor: disable cache of audited paths by default (issue5628)
Yuya Nishihara <yuya@tcha.org>
parents:
33632
diff
changeset
|
225 [255] |
33632
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
226 $ ls ../update-symlink-out |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
227 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
228 try branch update replacing directory with symlink, and its content: the |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
229 path 'a' is audited as a directory first, which should be audited again as |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
230 a symlink. |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
231 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
232 $ rm -f a |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
233 $ hg up -qC 2 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
234 $ hg up 1 |
34942
2a774cae3a03
merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents:
34833
diff
changeset
|
235 abort: path 'a/b' traverses symbolic link 'a' |
33633
20bac46f7744
pathauditor: disable cache of audited paths by default (issue5628)
Yuya Nishihara <yuya@tcha.org>
parents:
33632
diff
changeset
|
236 [255] |
33632
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
237 $ ls ../update-symlink-out |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
238 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
239 $ cd .. |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
240 |
0134d839444b
tests: show cache of audited paths is never invalidated
Yuya Nishihara <yuya@tcha.org>
parents:
27234
diff
changeset
|
241 #endif |