tests/test-static-http
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Thu, 21 Feb 2008 16:22:31 -0300
changeset 6158 23ffe82615d8
parent 6028 6605a03cbf87
child 7005 7739b61897df
permissions -rwxr-xr-x
repo.status: also compare flags for files in the lookup list. We might be able to do something smarter about this in dirstate.status for files in normallookup state, but that would require some extra care to keep backwards compatibility.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
5384
e3a0c092b4e2 Allow tests to run in parallel.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5316
diff changeset
     5
http_proxy= hg clone static-http://localhost:$HGPORT/ copy
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
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
5316
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
    52
echo '% test with "/" URI (issue 747)'
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
    53
cd ..
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
    54
hg init
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
    55
echo a > a
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
    56
hg add a
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
    57
hg ci -ma
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
    58
5384
e3a0c092b4e2 Allow tests to run in parallel.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5316
diff changeset
    59
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
    60
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
    61
cd local2
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
    62
hg verify
598dae804a5f Test static-http calls on '/' URI (issue 747)
Patrick Mezard <pmezard@gmail.com>
parents: 4290
diff changeset
    63
cat a
5384
e3a0c092b4e2 Allow tests to run in parallel.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5316
diff changeset
    64
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
    65
6028
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
    66
echo '% test with empty repo (issue965)'
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
    67
cd ..
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
    68
hg init remotempty
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
    69
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
    70
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
    71
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
    72
cd local3
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
    73
hg verify
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
    74
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
    75
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
    76
echo '% test with non-repo'
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
    77
cd ..
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
    78
mkdir notarepo
6605a03cbf87 make static-http work with empty repos (issue965)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
    79
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
    80
1111
addcb77fe500 Add an old-http test case
mpm@selenic.com
parents:
diff changeset
    81
kill $!