annotate tests/test-archive.t @ 17466:d5a3bda6e170

killdaemons: take file argument explicitely It makes it easier to use as a generic replacement for kill utility, mostly for Windows tests.
author Patrick Mezard <patrick@mezard.eu>
date Mon, 20 Aug 2012 22:36:51 +0200
parents 953faba28e91
children 331d611813ec
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15446
c5c9ca3719f9 tests: use 'hghave serve' to guard tests that requires serve daemon management
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
1 $ "$TESTDIR/hghave" serve || exit 80
c5c9ca3719f9 tests: use 'hghave serve' to guard tests that requires serve daemon management
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
2
13956
ffb5c09ba822 tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents: 13149
diff changeset
3 $ hg init test
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
4 $ cd test
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
5 $ echo foo>foo
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
6 $ hg commit -Am 1 -d '1 0'
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
7 adding foo
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
8 $ echo bar>bar
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
9 $ hg commit -Am 2 -d '2 0'
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
10 adding bar
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
11 $ mkdir baz
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
12 $ echo bletch>baz/bletch
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
13 $ hg commit -Am 3 -d '1000000000 0'
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
14 adding baz/bletch
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
15 $ echo "[web]" >> .hg/hgrc
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
16 $ echo "name = test-archive" >> .hg/hgrc
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
17 $ cp .hg/hgrc .hg/hgrc-base
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
18 > test_archtype() {
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
19 > echo "allow_archive = $1" >> .hg/hgrc
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
20 > hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
21 > cat hg.pid >> $DAEMON_PIDS
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
22 > echo % $1 allowed should give 200
17017
953faba28e91 tests: prepare get-with-headers.py for MSYS
Mads Kiilerich <mads@kiilerich.com>
parents: 16920
diff changeset
23 > "$TESTDIR/get-with-headers.py" localhost:$HGPORT "archive/tip.$2" | head -n 1
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
24 > echo % $3 and $4 disallowed should both give 403
17017
953faba28e91 tests: prepare get-with-headers.py for MSYS
Mads Kiilerich <mads@kiilerich.com>
parents: 16920
diff changeset
25 > "$TESTDIR/get-with-headers.py" localhost:$HGPORT "archive/tip.$3" | head -n 1
953faba28e91 tests: prepare get-with-headers.py for MSYS
Mads Kiilerich <mads@kiilerich.com>
parents: 16920
diff changeset
26 > "$TESTDIR/get-with-headers.py" localhost:$HGPORT "archive/tip.$4" | head -n 1
17466
d5a3bda6e170 killdaemons: take file argument explicitely
Patrick Mezard <patrick@mezard.eu>
parents: 17017
diff changeset
27 > "$TESTDIR/killdaemons.py" $DAEMON_PIDS
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
28 > cat errors.log
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
29 > cp .hg/hgrc-base .hg/hgrc
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
30 > }
1166
bd66294b7a9b Added test case for zip/gz/bz2 archive downloads.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
31
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
32 check http return codes
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
33
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
34 $ test_archtype gz tar.gz tar.bz2 zip
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
35 % gz allowed should give 200
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
36 200 Script output follows
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
37 % tar.bz2 and zip disallowed should both give 403
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
38 403 Archive type not allowed: bz2
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
39 403 Archive type not allowed: zip
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
40 $ test_archtype bz2 tar.bz2 zip tar.gz
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
41 % bz2 allowed should give 200
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
42 200 Script output follows
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
43 % zip and tar.gz disallowed should both give 403
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
44 403 Archive type not allowed: zip
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
45 403 Archive type not allowed: gz
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
46 $ test_archtype zip zip tar.gz tar.bz2
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
47 % zip allowed should give 200
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
48 200 Script output follows
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
49 % tar.gz and tar.bz2 disallowed should both give 403
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
50 403 Archive type not allowed: gz
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
51 403 Archive type not allowed: bz2
7029
b84d27386285 hgweb: Respond with HTTP 403 for disabled archive types instead of 404
Rocco Rutte <pdmef@gmx.net>
parents: 6496
diff changeset
52
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
53 $ echo "allow_archive = gz bz2 zip" >> .hg/hgrc
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
54 $ hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
55 $ cat hg.pid >> $DAEMON_PIDS
7029
b84d27386285 hgweb: Respond with HTTP 403 for disabled archive types instead of 404
Rocco Rutte <pdmef@gmx.net>
parents: 6496
diff changeset
56
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
57 invalid arch type should give 404
1166
bd66294b7a9b Added test case for zip/gz/bz2 archive downloads.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
58
17017
953faba28e91 tests: prepare get-with-headers.py for MSYS
Mads Kiilerich <mads@kiilerich.com>
parents: 16920
diff changeset
59 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT "archive/tip.invalid" | head -n 1
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
60 404 Unsupported archive type: None
7029
b84d27386285 hgweb: Respond with HTTP 403 for disabled archive types instead of 404
Rocco Rutte <pdmef@gmx.net>
parents: 6496
diff changeset
61
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
62 $ TIP=`hg id -v | cut -f1 -d' '`
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
63 $ QTIP=`hg id -q`
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
64 $ cat > getarchive.py <<EOF
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
65 > import os, sys, urllib2
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
66 > try:
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
67 > # Set stdout to binary mode for win32 platforms
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
68 > import msvcrt
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
69 > msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
70 > except ImportError:
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
71 > pass
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
72 > node, archive = sys.argv[1:]
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
73 > f = urllib2.urlopen('http://127.0.0.1:%s/?cmd=archive;node=%s;type=%s'
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
74 > % (os.environ['HGPORT'], node, archive))
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
75 > sys.stdout.write(f.read())
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
76 > EOF
12366
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
77 $ python getarchive.py "$TIP" gz | gunzip | tar tf - 2>/dev/null
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
78 test-archive-2c0277f05ed4/.hg_archival.txt
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
79 test-archive-2c0277f05ed4/bar
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
80 test-archive-2c0277f05ed4/baz/bletch
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
81 test-archive-2c0277f05ed4/foo
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
82 $ python getarchive.py "$TIP" bz2 | bunzip2 | tar tf - 2>/dev/null
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
83 test-archive-2c0277f05ed4/.hg_archival.txt
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
84 test-archive-2c0277f05ed4/bar
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
85 test-archive-2c0277f05ed4/baz/bletch
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
86 test-archive-2c0277f05ed4/foo
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
87 $ python getarchive.py "$TIP" zip > archive.zip
12366
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
88 $ unzip -t archive.zip
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
89 Archive: archive.zip
12366
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
90 testing: test-archive-2c0277f05ed4/.hg_archival.txt OK
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
91 testing: test-archive-2c0277f05ed4/bar OK
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
92 testing: test-archive-2c0277f05ed4/baz/bletch OK
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
93 testing: test-archive-2c0277f05ed4/foo OK
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
94 No errors detected in compressed data of archive.zip.
1166
bd66294b7a9b Added test case for zip/gz/bz2 archive downloads.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
95
17466
d5a3bda6e170 killdaemons: take file argument explicitely
Patrick Mezard <patrick@mezard.eu>
parents: 17017
diff changeset
96 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
7344
58fd3c718ca4 tests: add killdaemons helper script
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
97
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
98 $ hg archive -t tar test.tar
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
99 $ tar tf test.tar
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
100 test/.hg_archival.txt
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
101 test/bar
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
102 test/baz/bletch
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
103 test/foo
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
104
16919
51932c835b74 archive: make progress only show files that are actually archived
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16350
diff changeset
105 $ hg archive --debug -t tbz2 -X baz test.tar.bz2
51932c835b74 archive: make progress only show files that are actually archived
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16350
diff changeset
106 archiving: 0/2 files (0.00%)
51932c835b74 archive: make progress only show files that are actually archived
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16350
diff changeset
107 archiving: bar 1/2 files (50.00%)
51932c835b74 archive: make progress only show files that are actually archived
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16350
diff changeset
108 archiving: foo 2/2 files (100.00%)
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
109 $ bunzip2 -dc test.tar.bz2 | tar tf - 2>/dev/null
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
110 test/.hg_archival.txt
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
111 test/bar
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
112 test/foo
2114
98cc126f9f3f update tests after changing archival code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1929
diff changeset
113
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
114 $ hg archive -t tgz -p %b-%h test-%h.tar.gz
12366
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
115 $ gzip -dc test-$QTIP.tar.gz | tar tf - 2>/dev/null
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
116 test-2c0277f05ed4/.hg_archival.txt
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
117 test-2c0277f05ed4/bar
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
118 test-2c0277f05ed4/baz/bletch
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
119 test-2c0277f05ed4/foo
2114
98cc126f9f3f update tests after changing archival code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1929
diff changeset
120
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
121 $ hg archive autodetected_test.tar
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
122 $ tar tf autodetected_test.tar
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
123 autodetected_test/.hg_archival.txt
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
124 autodetected_test/bar
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
125 autodetected_test/baz/bletch
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
126 autodetected_test/foo
10650
9ea7238ad935 archive: autodetect archive type by extension (issue2058)
David Wolever <david@wolever.net>
parents: 10154
diff changeset
127
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
128 The '-t' should override autodetection
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
129
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
130 $ hg archive -t tar autodetect_override_test.zip
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
131 $ tar tf autodetect_override_test.zip
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
132 autodetect_override_test.zip/.hg_archival.txt
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
133 autodetect_override_test.zip/bar
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
134 autodetect_override_test.zip/baz/bletch
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
135 autodetect_override_test.zip/foo
10650
9ea7238ad935 archive: autodetect archive type by extension (issue2058)
David Wolever <david@wolever.net>
parents: 10154
diff changeset
136
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
137 $ for ext in tar tar.gz tgz tar.bz2 tbz2 zip; do
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
138 > hg archive auto_test.$ext
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
139 > if [ -d auto_test.$ext ]; then
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
140 > echo "extension $ext was not autodetected."
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
141 > fi
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
142 > done
10650
9ea7238ad935 archive: autodetect archive type by extension (issue2058)
David Wolever <david@wolever.net>
parents: 10154
diff changeset
143
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
144 $ cat > md5comp.py <<EOF
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
145 > try:
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
146 > from hashlib import md5
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
147 > except ImportError:
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
148 > from md5 import md5
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
149 > import sys
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
150 > f1, f2 = sys.argv[1:3]
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
151 > h1 = md5(file(f1, 'rb').read()).hexdigest()
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
152 > h2 = md5(file(f2, 'rb').read()).hexdigest()
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
153 > print h1 == h2 or "md5 differ: " + repr((h1, h2))
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
154 > EOF
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
155
13140
217ae7d5c8ee test-archive: whitespace cleanup
Martin Geisler <mg@aragost.com>
parents: 12398
diff changeset
156 archive name is stored in the archive, so create similar archives and
217ae7d5c8ee test-archive: whitespace cleanup
Martin Geisler <mg@aragost.com>
parents: 12398
diff changeset
157 rename them afterwards.
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
158
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
159 $ hg archive -t tgz tip.tar.gz
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
160 $ mv tip.tar.gz tip1.tar.gz
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
161 $ sleep 1
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
162 $ hg archive -t tgz tip.tar.gz
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
163 $ mv tip.tar.gz tip2.tar.gz
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
164 $ python md5comp.py tip1.tar.gz tip2.tar.gz
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
165 True
4653
ca023b63ba1f archive: test md5 consistency
Brendan Cully <brendan@kublai.com>
parents: 2571
diff changeset
166
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
167 $ hg archive -t zip -p /illegal test.zip
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
168 abort: archive prefix contains illegal components
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11853
diff changeset
169 [255]
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
170 $ hg archive -t zip -p very/../bad test.zip
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
171
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
172 $ hg archive --config ui.archivemeta=false -t zip -r 2 test.zip
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
173 $ unzip -t test.zip
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
174 Archive: test.zip
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
175 testing: test/bar OK
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
176 testing: test/baz/bletch OK
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
177 testing: test/foo OK
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
178 No errors detected in compressed data of test.zip.
4653
ca023b63ba1f archive: test md5 consistency
Brendan Cully <brendan@kublai.com>
parents: 2571
diff changeset
179
12366
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
180 $ hg archive -t tar - | tar tf - 2>/dev/null
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
181 test-2c0277f05ed4/.hg_archival.txt
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
182 test-2c0277f05ed4/bar
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
183 test-2c0277f05ed4/baz/bletch
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12339
diff changeset
184 test-2c0277f05ed4/foo
2114
98cc126f9f3f update tests after changing archival code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1929
diff changeset
185
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
186 $ hg archive -r 0 -t tar rev-%r.tar
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
187 $ if [ -f rev-0.tar ]; then
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
188 $ fi
2476
0f7e4a39d9af archive: make "hg archive -t XXX -" to write to stdout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2187
diff changeset
189
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
190 test .hg_archival.txt
4863
6dc0094c0827 archive: abort on empty repository. Fixes #624.
Brendan Cully <brendan@kublai.com>
parents: 4805
diff changeset
191
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
192 $ hg archive ../test-tags
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
193 $ cat ../test-tags/.hg_archival.txt
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
194 repo: daa7f7c60e0a224faa4ff77ca41b2760562af264
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
195 node: 2c0277f05ed49d1c8328fb9ba92fba7a5ebcb33e
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
196 branch: default
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
197 latesttag: null
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
198 latesttagdistance: 3
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
199 $ hg tag -r 2 mytag
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
200 $ hg tag -r 2 anothertag
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
201 $ hg archive -r 2 ../test-lasttag
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
202 $ cat ../test-lasttag/.hg_archival.txt
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
203 repo: daa7f7c60e0a224faa4ff77ca41b2760562af264
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
204 node: 2c0277f05ed49d1c8328fb9ba92fba7a5ebcb33e
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
205 branch: default
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
206 tag: anothertag
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
207 tag: mytag
5061
a49f2a4d5ff7 archive: abort on empty repository. Fixes #624.
Brendan Cully <brendan@kublai.com>
parents: 4836
diff changeset
208
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
209 $ hg archive -t bogus test.bogus
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
210 abort: unknown archive type 'bogus'
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11853
diff changeset
211 [255]
9614
58edd448da4f archive: add branch and tag informations to the .hg_archival.txt file
Gilles Moris <gilles.moris@free.fr>
parents: 8296
diff changeset
212
13143
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
213 enable progress extension:
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
214
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
215 $ cp $HGRCPATH $HGRCPATH.no-progress
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
216 $ cat >> $HGRCPATH <<EOF
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
217 > [extensions]
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
218 > progress =
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
219 > [progress]
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
220 > assume-tty = 1
13149
735dd8e8a208 progress using tests: disable time estimates to avoid flakiness
Augie Fackler <durin42@gmail.com>
parents: 13143
diff changeset
221 > format = topic bar number
13143
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
222 > delay = 0
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
223 > refresh = 0
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
224 > width = 60
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
225 > EOF
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
226
16350
4f795f5fbb0b tests: make tests work if directory contains special characters
Thomas Arendsen Hein <thomas@intevation.de>
parents: 15446
diff changeset
227 $ hg archive ../with-progress 2>&1 | "$TESTDIR/filtercr.py"
13143
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
228
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
229 archiving [ ] 0/4
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
230 archiving [ ] 0/4
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
231 archiving [=========> ] 1/4
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
232 archiving [=========> ] 1/4
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
233 archiving [====================> ] 2/4
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
234 archiving [====================> ] 2/4
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
235 archiving [===============================> ] 3/4
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
236 archiving [===============================> ] 3/4
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
237 archiving [==========================================>] 4/4
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
238 archiving [==========================================>] 4/4
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
239 \r (esc)
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
240
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
241 cleanup after progress extension test:
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
242
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
243 $ cp $HGRCPATH.no-progress $HGRCPATH
c2e55c21db27 archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents: 13140
diff changeset
244
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
245 server errors
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
246
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
247 $ cat errors.log
6019
b70a530bdb93 cleanly abort on unknown archive type (issue966)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
248
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
249 empty repo
5924
b8009718a211 better error reporting for hg serve errors in tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
250
11853
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
251 $ hg init ../empty
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
252 $ cd ../empty
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
253 $ hg archive ../test-empty
afe19a1bf9d3 tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents: 10650
diff changeset
254 abort: no working directory: please specify a revision
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11853
diff changeset
255 [255]
13140
217ae7d5c8ee test-archive: whitespace cleanup
Martin Geisler <mg@aragost.com>
parents: 12398
diff changeset
256
12321
11db6fa2961e merge with stable
Martin Geisler <mg@aragost.com>
parents: 12319 12316
diff changeset
257 old file -- date clamped to 1980
5924
b8009718a211 better error reporting for hg serve errors in tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 5384
diff changeset
258
12368
9581d5efb6a5 tests: fix touch -t with RHEL
Matt Mackall <mpm@selenic.com>
parents: 12367
diff changeset
259 $ touch -t 197501010000 old
12321
11db6fa2961e merge with stable
Martin Geisler <mg@aragost.com>
parents: 12319 12316
diff changeset
260 $ hg add old
11db6fa2961e merge with stable
Martin Geisler <mg@aragost.com>
parents: 12319 12316
diff changeset
261 $ hg commit -m old
11db6fa2961e merge with stable
Martin Geisler <mg@aragost.com>
parents: 12319 12316
diff changeset
262 $ hg archive ../old.zip
11db6fa2961e merge with stable
Martin Geisler <mg@aragost.com>
parents: 12319 12316
diff changeset
263 $ unzip -l ../old.zip
11db6fa2961e merge with stable
Martin Geisler <mg@aragost.com>
parents: 12319 12316
diff changeset
264 Archive: ../old.zip
12375
02990e22150b tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents: 12372
diff changeset
265 \s*Length.* (re)
12376
97ffc68f71d3 tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents: 12375
diff changeset
266 *-----* (glob)
97ffc68f71d3 tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents: 12375
diff changeset
267 *147*80*00:00*old/.hg_archival.txt (glob)
97ffc68f71d3 tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents: 12375
diff changeset
268 *0*80*00:00*old/old (glob)
97ffc68f71d3 tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents: 12375
diff changeset
269 *-----* (glob)
12375
02990e22150b tests: require regexes in unified tests to be marked with " (re)"
Brodie Rao <brodie@bitheap.org>
parents: 12372
diff changeset
270 \s*147\s+2 files (re)
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
271
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
272 $ cd ..