annotate tests/test-permissions @ 11988:8380ed691df8

util: add an interpolate() function to for replacing multiple values util.interpolate can be used to replace multiple items in a string all at once (and optionally apply a function to the replacement), without worrying about recursing: >>> import util >>> s = '$foo, $spam' >>> util.interpolate(r'\$', { 'foo': 'bar', 'spam': 'eggs' }, s) 'bar, eggs' >>> util.interpolate(r'\$', { 'foo': 'spam', 'spam': 'foo' }, s) 'spam, foo' >>> util.interpolate(r'\$', { 'foo': 'spam', 'spam': 'foo' }, s, lambda s: s.upper()) 'SPAM, FOO' The patch also changes filemerge.py to use this new function.
author Steve Losh <steve@stevelosh.com>
date Wed, 18 Aug 2010 18:18:26 -0400
parents c1b11ee12fe7
children 4c94b6d0fb1c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1497
f0b13c019b04 Add permissions handling test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
1 #!/bin/sh
f0b13c019b04 Add permissions handling test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
2
11663
c1b11ee12fe7 test-permissions: echo commands to make output readable
Martin Geisler <mg@aragost.com>
parents: 7138
diff changeset
3 echo '% hg init t'
5214
551958d5082c testcase for issue705 (fixed by 316ce5e85b3e)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3853
diff changeset
4 hg init t
551958d5082c testcase for issue705 (fixed by 316ce5e85b3e)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3853
diff changeset
5 cd t
1497
f0b13c019b04 Add permissions handling test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
6 echo foo > a
11663
c1b11ee12fe7 test-permissions: echo commands to make output readable
Martin Geisler <mg@aragost.com>
parents: 7138
diff changeset
7 echo '% hg add a'
1497
f0b13c019b04 Add permissions handling test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
8 hg add a
11663
c1b11ee12fe7 test-permissions: echo commands to make output readable
Martin Geisler <mg@aragost.com>
parents: 7138
diff changeset
9 echo '% hg commit'
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1497
diff changeset
10 hg commit -m "1" -d "1000000 0"
11663
c1b11ee12fe7 test-permissions: echo commands to make output readable
Martin Geisler <mg@aragost.com>
parents: 7138
diff changeset
11 echo '% hg verify'
1497
f0b13c019b04 Add permissions handling test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
12 hg verify
3853
c0b449154a90 switch to the .hg/store layout, fix the tests
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 2223
diff changeset
13 chmod -r .hg/store/data/a.i
11663
c1b11ee12fe7 test-permissions: echo commands to make output readable
Martin Geisler <mg@aragost.com>
parents: 7138
diff changeset
14 echo '% hg verify'
1497
f0b13c019b04 Add permissions handling test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
15 hg verify 2>/dev/null || echo verify failed
3853
c0b449154a90 switch to the .hg/store layout, fix the tests
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 2223
diff changeset
16 chmod +r .hg/store/data/a.i
11663
c1b11ee12fe7 test-permissions: echo commands to make output readable
Martin Geisler <mg@aragost.com>
parents: 7138
diff changeset
17 echo '% hg verify'
1497
f0b13c019b04 Add permissions handling test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
18 hg verify 2>/dev/null || echo verify failed
3853
c0b449154a90 switch to the .hg/store layout, fix the tests
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 2223
diff changeset
19 chmod -w .hg/store/data/a.i
1497
f0b13c019b04 Add permissions handling test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
20 echo barber > a
11663
c1b11ee12fe7 test-permissions: echo commands to make output readable
Martin Geisler <mg@aragost.com>
parents: 7138
diff changeset
21 echo '% hg commit'
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1497
diff changeset
22 hg commit -m "2" -d "1000000 0" 2>/dev/null || echo commit failed
5519
b688d264a294 test-permissions: add a chmod +w to allow the directory to be removed
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5215
diff changeset
23 chmod -w .
11663
c1b11ee12fe7 test-permissions: echo commands to make output readable
Martin Geisler <mg@aragost.com>
parents: 7138
diff changeset
24 echo '% hg diff'
5215
74723744d8e0 fix test-permissions output
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 5214
diff changeset
25 hg diff --nodates
5519
b688d264a294 test-permissions: add a chmod +w to allow the directory to be removed
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5215
diff changeset
26 chmod +w .
7099
6f750e76fb46 dirstate.walk: skip unreadable directories (issue1213)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 5519
diff changeset
27
6f750e76fb46 dirstate.walk: skip unreadable directories (issue1213)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 5519
diff changeset
28 chmod +w .hg/store/data/a.i
6f750e76fb46 dirstate.walk: skip unreadable directories (issue1213)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 5519
diff changeset
29 mkdir dir
6f750e76fb46 dirstate.walk: skip unreadable directories (issue1213)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 5519
diff changeset
30 touch dir/a
11663
c1b11ee12fe7 test-permissions: echo commands to make output readable
Martin Geisler <mg@aragost.com>
parents: 7138
diff changeset
31 echo '% hg status'
7099
6f750e76fb46 dirstate.walk: skip unreadable directories (issue1213)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 5519
diff changeset
32 hg status
6f750e76fb46 dirstate.walk: skip unreadable directories (issue1213)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 5519
diff changeset
33 chmod -rx dir
11663
c1b11ee12fe7 test-permissions: echo commands to make output readable
Martin Geisler <mg@aragost.com>
parents: 7138
diff changeset
34 echo '% hg status'
7099
6f750e76fb46 dirstate.walk: skip unreadable directories (issue1213)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 5519
diff changeset
35 hg status
7138
0df098871e3d test-permission: put sane permissions at the end of the test
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 7099
diff changeset
36 # reenable perm to allow deletion
0df098871e3d test-permission: put sane permissions at the end of the test
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 7099
diff changeset
37 chmod +rx dir