##// END OF EJS Templates
Don't use test -e in tests - sh doesn't like it on Solaris
Alexis S. L. Carvalho -
r3469:33b6c819 default
parent child Browse files
Show More
@@ -1,109 +1,109 b''
1 1 #!/bin/sh
2 2
3 3 do_push()
4 4 {
5 5 user=$1
6 6 shift
7 7
8 8 echo "Pushing as user $user"
9 9 echo 'hgrc = """'
10 10 sed -e 1,2d b/.hg/hgrc
11 11 echo '"""'
12 if [ -e acl.config ]; then
12 if test -f acl.config; then
13 13 echo 'acl.config = """'
14 14 cat acl.config
15 15 echo '"""'
16 16 fi
17 17 LOGNAME=$user hg --cwd a --debug push ../b
18 18 hg --cwd b rollback
19 19 hg --cwd b --quiet tip
20 20 echo
21 21 }
22 22
23 23 hg init a
24 24 cd a
25 25 mkdir foo foo/Bar quux
26 26 echo 'in foo' > foo/file.txt
27 27 echo 'in foo/Bar' > foo/Bar/file.txt
28 28 echo 'in quux' > quux/file.py
29 29 hg add
30 30 hg ci -m 'add files' -d '1000000 0'
31 31 echo >> foo/file.txt
32 32 hg ci -m 'change foo/file' -d '1000001 0'
33 33 echo >> foo/Bar/file.txt
34 34 hg ci -m 'change foo/Bar/file' -d '1000002 0'
35 35 echo >> quux/file.py
36 36 hg ci -m 'change quux/file' -d '1000003 0'
37 37 hg tip --quiet
38 38
39 39 cd ..
40 40 hg clone -r 0 a b
41 41
42 42 echo '[extensions]' >> $HGRCPATH
43 43 echo 'hgext.acl =' >> $HGRCPATH
44 44
45 45 config=b/.hg/hgrc
46 46
47 47 echo
48 48
49 49 echo 'Extension disabled for lack of a hook'
50 50 do_push fred
51 51
52 52 echo '[hooks]' >> $config
53 53 echo 'pretxnchangegroup.acl = python:hgext.acl.hook' >> $config
54 54
55 55 echo 'Extension disabled for lack of acl.sources'
56 56 do_push fred
57 57
58 58 echo 'No [acl.allow]/[acl.deny]'
59 59 echo '[acl]' >> $config
60 60 echo 'sources = push' >> $config
61 61 do_push fred
62 62
63 63 echo 'Empty [acl.allow]'
64 64 echo '[acl.allow]' >> $config
65 65 do_push fred
66 66
67 67 echo 'fred is allowed inside foo/'
68 68 echo 'foo/** = fred' >> $config
69 69 do_push fred
70 70
71 71 echo 'Empty [acl.deny]'
72 72 echo '[acl.deny]' >> $config
73 73 do_push barney
74 74
75 75 echo 'fred is allowed inside foo/, but not foo/bar/ (case matters)'
76 76 echo 'foo/bar/** = fred' >> $config
77 77 do_push fred
78 78
79 79 echo 'fred is allowed inside foo/, but not foo/Bar/'
80 80 echo 'foo/Bar/** = fred' >> $config
81 81 do_push fred
82 82
83 83 echo 'barney is not mentioned => not allowed anywhere'
84 84 do_push barney
85 85
86 86 echo 'barney is allowed everywhere'
87 87 echo '[acl.allow]' >> $config
88 88 echo '** = barney' >> $config
89 89 do_push barney
90 90
91 91 echo 'wilma can change files with a .txt extension'
92 92 echo '**/*.txt = wilma' >> $config
93 93 do_push wilma
94 94
95 95 echo 'file specified by acl.config does not exist'
96 96 echo '[acl]' >> $config
97 97 echo 'config = ../acl.config' >> $config
98 98 do_push barney
99 99
100 100 echo 'betty is allowed inside foo/ by a acl.config file'
101 101 echo '[acl.allow]' >> acl.config
102 102 echo 'foo/** = betty' >> acl.config
103 103 do_push betty
104 104
105 105 echo 'acl.config can set only [acl.allow]/[acl.deny]'
106 106 echo '[hooks]' >> acl.config
107 107 echo 'changegroup.acl = false' >> acl.config
108 108 do_push barney
109 109
@@ -1,27 +1,27 b''
1 1 #!/bin/sh
2 2
3 3 hg clone http://localhost:20059/ copy
4 4 echo $?
5 test -e copy || echo copy: No such file or directory
5 test -d copy || echo copy: No such file or directory
6 6
7 7 cat > dumb.py <<EOF
8 8 import BaseHTTPServer, SimpleHTTPServer, signal
9 9
10 10 def run(server_class=BaseHTTPServer.HTTPServer,
11 11 handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler):
12 12 server_address = ('localhost', 20059)
13 13 httpd = server_class(server_address, handler_class)
14 14 httpd.serve_forever()
15 15
16 16 signal.signal(signal.SIGTERM, lambda x: sys.exit(0))
17 17 run()
18 18 EOF
19 19
20 20 python dumb.py 2>/dev/null &
21 21 echo $! >> $DAEMON_PIDS
22 22
23 23 http_proxy= hg clone http://localhost:20059/foo copy2 2>&1 | \
24 24 sed -e 's/404.*/404/' -e 's/Date:.*/Date:/'
25 25 echo $?
26 26
27 27 kill $!
@@ -1,16 +1,16 b''
1 1 #!/bin/sh
2 2
3 3 hg init
4 4 echo 123 > a
5 5 hg add a
6 6 hg commit -m "first" -d "1000000 0" a
7 7 mkdir sub
8 8 echo 321 > sub/b
9 9 hg add sub/b
10 10 hg commit -m "second" -d "1000000 0" sub/b
11 11 cat sub/b
12 12 hg co 0
13 13 cat sub/b 2>/dev/null || echo "sub/b not present"
14 test -e sub || echo "sub not present"
14 test -d sub || echo "sub not present"
15 15
16 16 true
@@ -1,50 +1,50 b''
1 1 #!/bin/sh
2 2
3 3 http_proxy= hg clone static-http://localhost:20059/ copy
4 4 echo $?
5 test -e copy || echo copy: No such file or directory
5 test -d copy || echo copy: No such file or directory
6 6
7 7 # This server doesn't do range requests so it's basically only good for
8 8 # one pull
9 9 cat > dumb.py <<EOF
10 10 import BaseHTTPServer, SimpleHTTPServer, signal
11 11
12 12 def run(server_class=BaseHTTPServer.HTTPServer,
13 13 handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler):
14 14 server_address = ('localhost', 20059)
15 15 httpd = server_class(server_address, handler_class)
16 16 httpd.serve_forever()
17 17
18 18 signal.signal(signal.SIGTERM, lambda x: sys.exit(0))
19 19 run()
20 20 EOF
21 21
22 22 python dumb.py 2>/dev/null &
23 23 echo $! >> $DAEMON_PIDS
24 24
25 25 mkdir remote
26 26 cd remote
27 27 hg init
28 28 echo foo > bar
29 29 hg add bar
30 30 hg commit -m"test" -d "1000000 0"
31 31 hg tip
32 32
33 33 cd ..
34 34
35 35 http_proxy= hg clone static-http://localhost:20059/remote local
36 36
37 37 cd local
38 38 hg verify
39 39 cat bar
40 40
41 41 cd ../remote
42 42 echo baz > quux
43 43 hg commit -A -mtest2 -d '100000000 0'
44 44
45 45 cd ../local
46 46 echo '[hooks]' >> .hg/hgrc
47 47 echo 'changegroup = echo changegroup: u=$HG_URL' >> .hg/hgrc
48 48 http_proxy= hg pull
49 49
50 50 kill $!
General Comments 0
You need to be logged in to leave comments. Login now