annotate tests/test-static-http @ 8810:ac92775b3b80

Add patch.eol to ignore EOLs when patching (issue1019) The intent is to fix many issues involving patching when win32ext is enabled. With win32ext, the working directory and repository files EOLs are not the same which means that patches made on a non-win32ext host do not apply cleanly because of EOLs discrepancies. A theorically correct approach would be transform either the patched file or the patch content with the encoding/decoding filters used by win32ext. This solution is tricky to implement and invasive, instead we prefer to address the win32ext case, by offering a way to ignore input EOLs when patching and rewriting them when saving the patched result.
author Patrick Mezard <pmezard@gmail.com>
date Mon, 15 Jun 2009 00:03:26 +0200
parents 3e6206967570
children d4a62b6d4a58
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
1 #!/bin/sh
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
2
4290
347766c2ff86 test-static-http: use printenv.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3469
diff changeset
3 cp "$TESTDIR"/printenv.py .
347766c2ff86 test-static-http: use printenv.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3469
diff changeset
4
7919
3e6206967570 Backed out changeset 490e40816cbd
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 7903
diff changeset
5 http_proxy= hg clone http://localhost:$HGPORT/ copy
3e6206967570 Backed out changeset 490e40816cbd
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 7903
diff changeset
6 echo $?
3469
33b6c8193652 Don't use test -e in tests - sh doesn't like it on Solaris
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3428
diff changeset
7 test -d copy || echo copy: No such file or directory
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
8
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
9 # This server doesn't do range requests so it's basically only good for
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
10 # one pull
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
11 cat > dumb.py <<EOF
5384
e3a0c092b4e2 Allow tests to run in parallel.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5316
diff changeset
12 import BaseHTTPServer, SimpleHTTPServer, os, signal
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
13
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
14 def run(server_class=BaseHTTPServer.HTTPServer,
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
15 handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler):
5384
e3a0c092b4e2 Allow tests to run in parallel.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5316
diff changeset
16 server_address = ('localhost', int(os.environ['HGPORT']))
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
17 httpd = server_class(server_address, handler_class)
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
18 httpd.serve_forever()
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
19
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
20 signal.signal(signal.SIGTERM, lambda x: sys.exit(0))
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
21 run()
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
22 EOF
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
23
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
24 python dumb.py 2>/dev/null &
2572
d22d730c96ed tests: record few more daemon pids to be safe
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2431
diff changeset
25 echo $! >> $DAEMON_PIDS
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
26
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
27 mkdir remote
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
28 cd remote
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
29 hg init
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
30 echo foo > bar
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
31 hg add bar
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1923
diff changeset
32 hg commit -m"test" -d "1000000 0"
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
33 hg tip
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
34
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
35 cd ..
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
36
5384
e3a0c092b4e2 Allow tests to run in parallel.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5316
diff changeset
37 http_proxy= hg clone static-http://localhost:$HGPORT/remote local | sed -e 's,:[0-9][0-9]*/,/,'
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
38
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
39 cd local
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
40 hg verify
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
41 cat bar
2673
109a22f5434a hooks: add url to changegroup, incoming, prechangegroup, pretxnchangegroup hooks
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2572
diff changeset
42
109a22f5434a hooks: add url to changegroup, incoming, prechangegroup, pretxnchangegroup hooks
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2572
diff changeset
43 cd ../remote
109a22f5434a hooks: add url to changegroup, incoming, prechangegroup, pretxnchangegroup hooks
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2572
diff changeset
44 echo baz > quux
109a22f5434a hooks: add url to changegroup, incoming, prechangegroup, pretxnchangegroup hooks
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2572
diff changeset
45 hg commit -A -mtest2 -d '100000000 0'
109a22f5434a hooks: add url to changegroup, incoming, prechangegroup, pretxnchangegroup hooks
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2572
diff changeset
46
109a22f5434a hooks: add url to changegroup, incoming, prechangegroup, pretxnchangegroup hooks
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2572
diff changeset
47 cd ../local
109a22f5434a hooks: add url to changegroup, incoming, prechangegroup, pretxnchangegroup hooks
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2572
diff changeset
48 echo '[hooks]' >> .hg/hgrc
4290
347766c2ff86 test-static-http: use printenv.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3469
diff changeset
49 echo 'changegroup = python ../printenv.py changegroup' >> .hg/hgrc
5384
e3a0c092b4e2 Allow tests to run in parallel.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5316
diff changeset
50 http_proxy= hg pull | sed -e 's,:[0-9][0-9]*/,/,'
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
51
7005
7739b61897df do not pretend to lock static-http repositories (issue994)
Martin Geisler <mg@daimi.au.dk>
parents: 6028
diff changeset
52 echo '% trying to push'
7739b61897df do not pretend to lock static-http repositories (issue994)
Martin Geisler <mg@daimi.au.dk>
parents: 6028
diff changeset
53 hg update
7739b61897df do not pretend to lock static-http repositories (issue994)
Martin Geisler <mg@daimi.au.dk>
parents: 6028
diff changeset
54 echo more foo >> bar
7739b61897df do not pretend to lock static-http repositories (issue994)
Martin Geisler <mg@daimi.au.dk>
parents: 6028
diff changeset
55 hg commit -m"test" -d "100000000 0"
7739b61897df do not pretend to lock static-http repositories (issue994)
Martin Geisler <mg@daimi.au.dk>
parents: 6028
diff changeset
56 http_proxy= hg push | sed -e 's,:[0-9][0-9]*/,/,'
7739b61897df do not pretend to lock static-http repositories (issue994)
Martin Geisler <mg@daimi.au.dk>
parents: 6028
diff changeset
57
5316
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
58 echo '% test with "/" URI (issue 747)'
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
59 cd ..
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
60 hg init
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
61 echo a > a
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
62 hg add a
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
63 hg ci -ma
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
64
5384
e3a0c092b4e2 Allow tests to run in parallel.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5316
diff changeset
65 http_proxy= hg clone static-http://localhost:$HGPORT/ local2 | sed -e 's,:[0-9][0-9]*/,/,'
5316
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
66
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
67 cd local2
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
68 hg verify
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
69 cat a
5384
e3a0c092b4e2 Allow tests to run in parallel.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5316
diff changeset
70 hg paths | sed -e 's,:[0-9][0-9]*/,/,'
5316
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
71
6028
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
72 echo '% test with empty repo (issue965)'
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
73 cd ..
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
74 hg init remotempty
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
75
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
76 http_proxy= hg clone static-http://localhost:$HGPORT/remotempty local3 | sed -e 's,:[0-9][0-9]*/,/,'
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
77
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
78 cd local3
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
79 hg verify
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
80 hg paths | sed -e 's,:[0-9][0-9]*/,/,'
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
81
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
82 echo '% test with non-repo'
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
83 cd ..
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
84 mkdir notarepo
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
85 http_proxy= hg clone static-http://localhost:$HGPORT/notarepo local3 2>&1 | sed -e 's,:[0-9][0-9]*/,/,'
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
86
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
87 kill $!