Mercurial > hg
annotate tests/test-archive.t @ 33491:1adcb594eb6b
bookmarks: use 'applychanges' for bookmark update
There is still some use of 'deletedivergent' bookmark here. They will be taken
care of later. The 'deletedivergent' code needs some rework before fitting in
the new world.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Mon, 10 Jul 2017 19:40:23 +0200 |
parents | 75be14993fda |
children | 3b1add641232 |
rev | line source |
---|---|
22046
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
19870
diff
changeset
|
1 #require serve |
15446
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 |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
15 $ hg init subrepo |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
16 $ touch subrepo/sub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
17 $ hg -q -R subrepo ci -Am "init subrepo" |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
18 $ echo "subrepo = subrepo" > .hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
19 $ hg add .hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
20 $ hg ci -m "add subrepo" |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
21 $ echo "[web]" >> .hg/hgrc |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
22 $ echo "name = test-archive" >> .hg/hgrc |
23232
a0ccb66f344d
hgweb: fix a crash when using web.archivesubrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
23231
diff
changeset
|
23 $ echo "archivesubrepos = True" >> .hg/hgrc |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
24 $ cp .hg/hgrc .hg/hgrc-base |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
25 > test_archtype() { |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
26 > echo "allow_archive = $1" >> .hg/hgrc |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
27 > 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
|
28 > cat hg.pid >> $DAEMON_PIDS |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
29 > echo % $1 allowed should give 200 |
25472
4d2b9b304ad0
tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents:
25125
diff
changeset
|
30 > 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
|
31 > echo % $3 and $4 disallowed should both give 403 |
25472
4d2b9b304ad0
tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents:
25125
diff
changeset
|
32 > get-with-headers.py localhost:$HGPORT "archive/tip.$3" | head -n 1 |
4d2b9b304ad0
tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents:
25125
diff
changeset
|
33 > get-with-headers.py localhost:$HGPORT "archive/tip.$4" | head -n 1 |
25474
8c14f87bd0ae
tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents:
25472
diff
changeset
|
34 > killdaemons.py |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
35 > cat errors.log |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
36 > cp .hg/hgrc-base .hg/hgrc |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
37 > } |
1166
bd66294b7a9b
Added test case for zip/gz/bz2 archive downloads.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
38 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
39 check http return codes |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
40 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
41 $ test_archtype gz tar.gz tar.bz2 zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
42 % gz allowed should give 200 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
43 200 Script output follows |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
44 % tar.bz2 and zip disallowed should both give 403 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
45 403 Archive type not allowed: bz2 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
46 403 Archive type not allowed: zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
47 $ test_archtype bz2 tar.bz2 zip tar.gz |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
48 % bz2 allowed should give 200 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
49 200 Script output follows |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
50 % zip and tar.gz disallowed should both give 403 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
51 403 Archive type not allowed: zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
52 403 Archive type not allowed: gz |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
53 $ test_archtype zip zip tar.gz tar.bz2 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
54 % zip allowed should give 200 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
55 200 Script output follows |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
56 % tar.gz and tar.bz2 disallowed should both give 403 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
57 403 Archive type not allowed: gz |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
58 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
|
59 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
60 $ echo "allow_archive = gz bz2 zip" >> .hg/hgrc |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
61 $ 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
|
62 $ 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
|
63 |
30747
4259df518223
hgweb: test the order of archive links
Anton Shestakov <av6@dwimlabs.net>
parents:
29562
diff
changeset
|
64 check archive links' order |
4259df518223
hgweb: test the order of archive links
Anton Shestakov <av6@dwimlabs.net>
parents:
29562
diff
changeset
|
65 |
4259df518223
hgweb: test the order of archive links
Anton Shestakov <av6@dwimlabs.net>
parents:
29562
diff
changeset
|
66 $ get-with-headers.py localhost:$HGPORT "?revcount=1" | grep '/archive/tip.' |
4259df518223
hgweb: test the order of archive links
Anton Shestakov <av6@dwimlabs.net>
parents:
29562
diff
changeset
|
67 <a href="/archive/tip.zip">zip</a> |
4259df518223
hgweb: test the order of archive links
Anton Shestakov <av6@dwimlabs.net>
parents:
29562
diff
changeset
|
68 <a href="/archive/tip.tar.gz">gz</a> |
4259df518223
hgweb: test the order of archive links
Anton Shestakov <av6@dwimlabs.net>
parents:
29562
diff
changeset
|
69 <a href="/archive/tip.tar.bz2">bz2</a> |
4259df518223
hgweb: test the order of archive links
Anton Shestakov <av6@dwimlabs.net>
parents:
29562
diff
changeset
|
70 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
71 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
|
72 |
25472
4d2b9b304ad0
tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents:
25125
diff
changeset
|
73 $ 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
|
74 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
|
75 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
76 $ TIP=`hg id -v | cut -f1 -d' '` |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
77 $ QTIP=`hg id -q` |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
78 $ cat > getarchive.py <<EOF |
29179
ce1c6ab15807
tests: test-archive.t use absolute_import
timeless <timeless@mozdev.org>
parents:
29178
diff
changeset
|
79 > from __future__ import absolute_import |
ce1c6ab15807
tests: test-archive.t use absolute_import
timeless <timeless@mozdev.org>
parents:
29178
diff
changeset
|
80 > import os |
ce1c6ab15807
tests: test-archive.t use absolute_import
timeless <timeless@mozdev.org>
parents:
29178
diff
changeset
|
81 > import sys |
29183
6def44ab4769
tests: test-archive.t use mercurial.util for urllib compat
timeless <timeless@mozdev.org>
parents:
29182
diff
changeset
|
82 > from mercurial import ( |
6def44ab4769
tests: test-archive.t use mercurial.util for urllib compat
timeless <timeless@mozdev.org>
parents:
29182
diff
changeset
|
83 > util, |
6def44ab4769
tests: test-archive.t use mercurial.util for urllib compat
timeless <timeless@mozdev.org>
parents:
29182
diff
changeset
|
84 > ) |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
85 > try: |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
86 > # Set stdout to binary mode for win32 platforms |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
87 > import msvcrt |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
88 > msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
89 > except ImportError: |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
90 > pass |
18770
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
91 > if len(sys.argv) <= 3: |
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
92 > node, archive = sys.argv[1:] |
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
93 > requeststr = 'cmd=archive;node=%s;type=%s' % (node, archive) |
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
94 > else: |
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
95 > node, archive, file = sys.argv[1:] |
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
96 > requeststr = 'cmd=archive;node=%s;type=%s;file=%s' % (node, archive, file) |
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
97 > try: |
29182
6c0b1d964537
tests: test-archive.t use sys.stdout.buffer for binary output in py3
timeless <timeless@mozdev.org>
parents:
29179
diff
changeset
|
98 > stdout = sys.stdout.buffer |
6c0b1d964537
tests: test-archive.t use sys.stdout.buffer for binary output in py3
timeless <timeless@mozdev.org>
parents:
29179
diff
changeset
|
99 > except AttributeError: |
6c0b1d964537
tests: test-archive.t use sys.stdout.buffer for binary output in py3
timeless <timeless@mozdev.org>
parents:
29179
diff
changeset
|
100 > stdout = sys.stdout |
6c0b1d964537
tests: test-archive.t use sys.stdout.buffer for binary output in py3
timeless <timeless@mozdev.org>
parents:
29179
diff
changeset
|
101 > try: |
31008 | 102 > f = util.urlreq.urlopen('http://$LOCALIP:%s/?%s' |
18770
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
103 > % (os.environ['HGPORT'], requeststr)) |
29182
6c0b1d964537
tests: test-archive.t use sys.stdout.buffer for binary output in py3
timeless <timeless@mozdev.org>
parents:
29179
diff
changeset
|
104 > stdout.write(f.read()) |
29183
6def44ab4769
tests: test-archive.t use mercurial.util for urllib compat
timeless <timeless@mozdev.org>
parents:
29182
diff
changeset
|
105 > except util.urlerr.httperror as e: |
18770
dcb6a99e82ff
test-archive: gracefully handle HTTPErrors on get-with-headers
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
17743
diff
changeset
|
106 > sys.stderr.write(str(e) + '\n') |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
107 > EOF |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
31008
diff
changeset
|
108 $ $PYTHON getarchive.py "$TIP" gz | gunzip | tar tf - 2>/dev/null |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
109 test-archive-1701ef1f1510/.hg_archival.txt |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
110 test-archive-1701ef1f1510/.hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
111 test-archive-1701ef1f1510/.hgsubstate |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
112 test-archive-1701ef1f1510/bar |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
113 test-archive-1701ef1f1510/baz/bletch |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
114 test-archive-1701ef1f1510/foo |
23232
a0ccb66f344d
hgweb: fix a crash when using web.archivesubrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
23231
diff
changeset
|
115 test-archive-1701ef1f1510/subrepo/sub |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
31008
diff
changeset
|
116 $ $PYTHON getarchive.py "$TIP" bz2 | bunzip2 | tar tf - 2>/dev/null |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
117 test-archive-1701ef1f1510/.hg_archival.txt |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
118 test-archive-1701ef1f1510/.hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
119 test-archive-1701ef1f1510/.hgsubstate |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
120 test-archive-1701ef1f1510/bar |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
121 test-archive-1701ef1f1510/baz/bletch |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
122 test-archive-1701ef1f1510/foo |
23232
a0ccb66f344d
hgweb: fix a crash when using web.archivesubrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
23231
diff
changeset
|
123 test-archive-1701ef1f1510/subrepo/sub |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
31008
diff
changeset
|
124 $ $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
|
125 $ unzip -t archive.zip |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
126 Archive: archive.zip |
29562
cda10ff3175a
tests: glob whitespace between path and OK in unzip(1) output
Augie Fackler <augie@google.com>
parents:
29183
diff
changeset
|
127 testing: test-archive-1701ef1f1510/.hg_archival.txt*OK (glob) |
cda10ff3175a
tests: glob whitespace between path and OK in unzip(1) output
Augie Fackler <augie@google.com>
parents:
29183
diff
changeset
|
128 testing: test-archive-1701ef1f1510/.hgsub*OK (glob) |
cda10ff3175a
tests: glob whitespace between path and OK in unzip(1) output
Augie Fackler <augie@google.com>
parents:
29183
diff
changeset
|
129 testing: test-archive-1701ef1f1510/.hgsubstate*OK (glob) |
cda10ff3175a
tests: glob whitespace between path and OK in unzip(1) output
Augie Fackler <augie@google.com>
parents:
29183
diff
changeset
|
130 testing: test-archive-1701ef1f1510/bar*OK (glob) |
cda10ff3175a
tests: glob whitespace between path and OK in unzip(1) output
Augie Fackler <augie@google.com>
parents:
29183
diff
changeset
|
131 testing: test-archive-1701ef1f1510/baz/bletch*OK (glob) |
cda10ff3175a
tests: glob whitespace between path and OK in unzip(1) output
Augie Fackler <augie@google.com>
parents:
29183
diff
changeset
|
132 testing: test-archive-1701ef1f1510/foo*OK (glob) |
cda10ff3175a
tests: glob whitespace between path and OK in unzip(1) output
Augie Fackler <augie@google.com>
parents:
29183
diff
changeset
|
133 testing: test-archive-1701ef1f1510/subrepo/sub*OK (glob) |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
134 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
|
135 |
18771
bb38f4f78104
hgweb: teach archive how to download a specific directory or file
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18770
diff
changeset
|
136 test that we can download single directories and files |
bb38f4f78104
hgweb: teach archive how to download a specific directory or file
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18770
diff
changeset
|
137 |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
31008
diff
changeset
|
138 $ $PYTHON getarchive.py "$TIP" gz baz | gunzip | tar tf - 2>/dev/null |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
139 test-archive-1701ef1f1510/baz/bletch |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
31008
diff
changeset
|
140 $ $PYTHON getarchive.py "$TIP" gz foo | gunzip | tar tf - 2>/dev/null |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
141 test-archive-1701ef1f1510/foo |
18771
bb38f4f78104
hgweb: teach archive how to download a specific directory or file
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18770
diff
changeset
|
142 |
18968
7d2a7f8e9da4
hgweb: respond HTTP_NOT_FOUND when an archive request does not match any files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18967
diff
changeset
|
143 test that we detect file patterns that match no files |
7d2a7f8e9da4
hgweb: respond HTTP_NOT_FOUND when an archive request does not match any files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18967
diff
changeset
|
144 |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
31008
diff
changeset
|
145 $ $PYTHON getarchive.py "$TIP" gz foobar |
18968
7d2a7f8e9da4
hgweb: respond HTTP_NOT_FOUND when an archive request does not match any files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18967
diff
changeset
|
146 HTTP Error 404: file(s) not found: foobar |
7d2a7f8e9da4
hgweb: respond HTTP_NOT_FOUND when an archive request does not match any files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18967
diff
changeset
|
147 |
18771
bb38f4f78104
hgweb: teach archive how to download a specific directory or file
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18770
diff
changeset
|
148 test that we reject unsafe patterns |
bb38f4f78104
hgweb: teach archive how to download a specific directory or file
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18770
diff
changeset
|
149 |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
31008
diff
changeset
|
150 $ $PYTHON getarchive.py "$TIP" gz relre:baz |
18968
7d2a7f8e9da4
hgweb: respond HTTP_NOT_FOUND when an archive request does not match any files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18967
diff
changeset
|
151 HTTP Error 404: file(s) not found: relre:baz |
18771
bb38f4f78104
hgweb: teach archive how to download a specific directory or file
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18770
diff
changeset
|
152 |
25474
8c14f87bd0ae
tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents:
25472
diff
changeset
|
153 $ killdaemons.py |
7344
58fd3c718ca4
tests: add killdaemons helper script
Matt Mackall <mpm@selenic.com>
parents:
7080
diff
changeset
|
154 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
155 $ hg archive -t tar test.tar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
156 $ tar tf test.tar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
157 test/.hg_archival.txt |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
158 test/.hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
159 test/.hgsubstate |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
160 test/bar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
161 test/baz/bletch |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
162 test/foo |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
163 |
25125
bd625cd4e5e7
progress: get the extremely verbose output out of default debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23645
diff
changeset
|
164 $ hg archive --debug -t tbz2 -X baz test.tar.bz2 --config progress.debug=true |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
165 archiving: 0/4 files (0.00%) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
166 archiving: .hgsub 1/4 files (25.00%) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
167 archiving: .hgsubstate 2/4 files (50.00%) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
168 archiving: bar 3/4 files (75.00%) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
169 archiving: foo 4/4 files (100.00%) |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
170 $ bunzip2 -dc test.tar.bz2 | tar tf - 2>/dev/null |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
171 test/.hg_archival.txt |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
172 test/.hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
173 test/.hgsubstate |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
174 test/bar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
175 test/foo |
2114
98cc126f9f3f
update tests after changing archival code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1929
diff
changeset
|
176 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
177 $ 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
|
178 $ gzip -dc test-$QTIP.tar.gz | tar tf - 2>/dev/null |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
179 test-1701ef1f1510/.hg_archival.txt |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
180 test-1701ef1f1510/.hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
181 test-1701ef1f1510/.hgsubstate |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
182 test-1701ef1f1510/bar |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
183 test-1701ef1f1510/baz/bletch |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
184 test-1701ef1f1510/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 autodetected_test.tar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
187 $ tar tf autodetected_test.tar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
188 autodetected_test/.hg_archival.txt |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
189 autodetected_test/.hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
190 autodetected_test/.hgsubstate |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
191 autodetected_test/bar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
192 autodetected_test/baz/bletch |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
193 autodetected_test/foo |
10650
9ea7238ad935
archive: autodetect archive type by extension (issue2058)
David Wolever <david@wolever.net>
parents:
10154
diff
changeset
|
194 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
195 The '-t' should override autodetection |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
196 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
197 $ hg archive -t tar autodetect_override_test.zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
198 $ tar tf autodetect_override_test.zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
199 autodetect_override_test.zip/.hg_archival.txt |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
200 autodetect_override_test.zip/.hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
201 autodetect_override_test.zip/.hgsubstate |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
202 autodetect_override_test.zip/bar |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
203 autodetect_override_test.zip/baz/bletch |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
204 autodetect_override_test.zip/foo |
10650
9ea7238ad935
archive: autodetect archive type by extension (issue2058)
David Wolever <david@wolever.net>
parents:
10154
diff
changeset
|
205 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
206 $ 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
|
207 > hg archive auto_test.$ext |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
208 > if [ -d auto_test.$ext ]; then |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
209 > echo "extension $ext was not autodetected." |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
210 > fi |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
211 > done |
10650
9ea7238ad935
archive: autodetect archive type by extension (issue2058)
David Wolever <david@wolever.net>
parents:
10154
diff
changeset
|
212 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
213 $ cat > md5comp.py <<EOF |
29177
df6b5c6d252a
tests: test-archive.t use print_function
timeless <timeless@mozdev.org>
parents:
28597
diff
changeset
|
214 > from __future__ import print_function |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
215 > try: |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
216 > from hashlib import md5 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
217 > except ImportError: |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
218 > from md5 import md5 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
219 > import sys |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
220 > f1, f2 = sys.argv[1:3] |
29178
0fb2fddd00a3
tests: test-archive.t use open() instead of file() for py3 compat
timeless <timeless@mozdev.org>
parents:
29177
diff
changeset
|
221 > h1 = md5(open(f1, 'rb').read()).hexdigest() |
0fb2fddd00a3
tests: test-archive.t use open() instead of file() for py3 compat
timeless <timeless@mozdev.org>
parents:
29177
diff
changeset
|
222 > h2 = md5(open(f2, 'rb').read()).hexdigest() |
29177
df6b5c6d252a
tests: test-archive.t use print_function
timeless <timeless@mozdev.org>
parents:
28597
diff
changeset
|
223 > print(h1 == h2 or "md5 differ: " + repr((h1, h2))) |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
224 > EOF |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
225 |
13140
217ae7d5c8ee
test-archive: whitespace cleanup
Martin Geisler <mg@aragost.com>
parents:
12398
diff
changeset
|
226 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
|
227 rename them afterwards. |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
228 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
229 $ hg archive -t tgz tip.tar.gz |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
230 $ mv tip.tar.gz tip1.tar.gz |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
231 $ sleep 1 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
232 $ hg archive -t tgz tip.tar.gz |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
233 $ mv tip.tar.gz tip2.tar.gz |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
31008
diff
changeset
|
234 $ $PYTHON md5comp.py tip1.tar.gz tip2.tar.gz |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
235 True |
4653
ca023b63ba1f
archive: test md5 consistency
Brendan Cully <brendan@kublai.com>
parents:
2571
diff
changeset
|
236 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
237 $ hg archive -t zip -p /illegal test.zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
238 abort: archive prefix contains illegal components |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11853
diff
changeset
|
239 [255] |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
240 $ hg archive -t zip -p very/../bad test.zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
241 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
242 $ 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
|
243 $ unzip -t test.zip |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
244 Archive: test.zip |
29562
cda10ff3175a
tests: glob whitespace between path and OK in unzip(1) output
Augie Fackler <augie@google.com>
parents:
29183
diff
changeset
|
245 testing: test/bar*OK (glob) |
cda10ff3175a
tests: glob whitespace between path and OK in unzip(1) output
Augie Fackler <augie@google.com>
parents:
29183
diff
changeset
|
246 testing: test/baz/bletch*OK (glob) |
cda10ff3175a
tests: glob whitespace between path and OK in unzip(1) output
Augie Fackler <augie@google.com>
parents:
29183
diff
changeset
|
247 testing: test/foo*OK (glob) |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
248 No errors detected in compressed data of test.zip. |
4653
ca023b63ba1f
archive: test md5 consistency
Brendan Cully <brendan@kublai.com>
parents:
2571
diff
changeset
|
249 |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12339
diff
changeset
|
250 $ hg archive -t tar - | tar tf - 2>/dev/null |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
251 test-1701ef1f1510/.hg_archival.txt |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
252 test-1701ef1f1510/.hgsub |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
253 test-1701ef1f1510/.hgsubstate |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
254 test-1701ef1f1510/bar |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
255 test-1701ef1f1510/baz/bletch |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
256 test-1701ef1f1510/foo |
2114
98cc126f9f3f
update tests after changing archival code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1929
diff
changeset
|
257 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
258 $ hg archive -r 0 -t tar rev-%r.tar |
19870
055d5b3f83b1
tests: fix void and invalid test in test-archive.t
Mads Kiilerich <madski@unity3d.com>
parents:
18968
diff
changeset
|
259 $ [ -f rev-0.tar ] |
2476
0f7e4a39d9af
archive: make "hg archive -t XXX -" to write to stdout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2187
diff
changeset
|
260 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
261 test .hg_archival.txt |
4863
6dc0094c0827
archive: abort on empty repository. Fixes #624.
Brendan Cully <brendan@kublai.com>
parents:
4805
diff
changeset
|
262 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
263 $ hg archive ../test-tags |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
264 $ cat ../test-tags/.hg_archival.txt |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
265 repo: daa7f7c60e0a224faa4ff77ca41b2760562af264 |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
266 node: 1701ef1f151069b8747038e93b5186bb43a47504 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
267 branch: default |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
268 latesttag: null |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
269 latesttagdistance: 4 |
23645
242d11819c6c
archive: store number of changes since latest tag as well
Siddharth Agarwal <sid0@fb.com>
parents:
23232
diff
changeset
|
270 changessincelatesttag: 4 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
271 $ hg tag -r 2 mytag |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
272 $ hg tag -r 2 anothertag |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
273 $ hg archive -r 2 ../test-lasttag |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
274 $ cat ../test-lasttag/.hg_archival.txt |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
275 repo: daa7f7c60e0a224faa4ff77ca41b2760562af264 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
276 node: 2c0277f05ed49d1c8328fb9ba92fba7a5ebcb33e |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
277 branch: default |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
278 tag: anothertag |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
279 tag: mytag |
5061
a49f2a4d5ff7
archive: abort on empty repository. Fixes #624.
Brendan Cully <brendan@kublai.com>
parents:
4836
diff
changeset
|
280 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
281 $ hg archive -t bogus test.bogus |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
282 abort: unknown archive type 'bogus' |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11853
diff
changeset
|
283 [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
|
284 |
13143
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
285 enable progress extension: |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
286 |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
287 $ cp $HGRCPATH $HGRCPATH.no-progress |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
288 $ cat >> $HGRCPATH <<EOF |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
289 > [progress] |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
290 > assume-tty = 1 |
13149
735dd8e8a208
progress using tests: disable time estimates to avoid flakiness
Augie Fackler <durin42@gmail.com>
parents:
13143
diff
changeset
|
291 > format = topic bar number |
13143
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
292 > delay = 0 |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
293 > refresh = 0 |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
294 > width = 60 |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
295 > EOF |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
296 |
17743
6047947afb6b
tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents:
17629
diff
changeset
|
297 $ hg archive ../with-progress |
6047947afb6b
tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents:
17629
diff
changeset
|
298 \r (no-eol) (esc) |
23231
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
299 archiving [ ] 0/6\r (no-eol) (esc) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
300 archiving [======> ] 1/6\r (no-eol) (esc) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
301 archiving [=============> ] 2/6\r (no-eol) (esc) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
302 archiving [====================> ] 3/6\r (no-eol) (esc) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
303 archiving [===========================> ] 4/6\r (no-eol) (esc) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
304 archiving [==================================> ] 5/6\r (no-eol) (esc) |
32dadb2637f4
tests: introduce a subrepository to test-archive.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
22046
diff
changeset
|
305 archiving [==========================================>] 6/6\r (no-eol) (esc) |
17743
6047947afb6b
tests: drop filtercr.py and use the very explicit '\r (no-eol) (esc)' markup
Mads Kiilerich <mads@kiilerich.com>
parents:
17629
diff
changeset
|
306 \r (no-eol) (esc) |
13143
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
307 |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
308 cleanup after progress extension test: |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
309 |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
310 $ cp $HGRCPATH.no-progress $HGRCPATH |
c2e55c21db27
archive: add support for progress extension
Martin Geisler <mg@aragost.com>
parents:
13140
diff
changeset
|
311 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
312 server errors |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
313 |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
314 $ cat errors.log |
6019
b70a530bdb93
cleanly abort on unknown archive type (issue966)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
5384
diff
changeset
|
315 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
316 empty repo |
5924
b8009718a211
better error reporting for hg serve errors in tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
5384
diff
changeset
|
317 |
11853
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
318 $ hg init ../empty |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
319 $ cd ../empty |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
320 $ hg archive ../test-empty |
afe19a1bf9d3
tests: unify test-archive
Martin Geisler <mg@lazybytes.net>
parents:
10650
diff
changeset
|
321 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
|
322 [255] |
13140
217ae7d5c8ee
test-archive: whitespace cleanup
Martin Geisler <mg@aragost.com>
parents:
12398
diff
changeset
|
323 |
12321 | 324 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
|
325 |
12368
9581d5efb6a5
tests: fix touch -t with RHEL
Matt Mackall <mpm@selenic.com>
parents:
12367
diff
changeset
|
326 $ touch -t 197501010000 old |
12321 | 327 $ hg add old |
328 $ hg commit -m old | |
329 $ hg archive ../old.zip | |
30844
b3d2e8cce78c
tests: work around FreeBSD's unzip having slightly different output
Augie Fackler <augie@google.com>
parents:
30747
diff
changeset
|
330 $ unzip -l ../old.zip | grep -v -- ----- | egrep -v files$ |
12321 | 331 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
|
332 \s*Length.* (re) |
23645
242d11819c6c
archive: store number of changes since latest tag as well
Siddharth Agarwal <sid0@fb.com>
parents:
23232
diff
changeset
|
333 *172*80*00:00*old/.hg_archival.txt (glob) |
12376
97ffc68f71d3
tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents:
12375
diff
changeset
|
334 *0*80*00:00*old/old (glob) |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
335 |
18967
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
336 show an error when a provided pattern matches no files |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
337 |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
338 $ hg archive -I file_that_does_not_exist.foo ../empty.zip |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
339 abort: no files match the archive pattern |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
340 [255] |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
341 |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
342 $ hg archive -X * ../empty.zip |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
343 abort: no files match the archive pattern |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
344 [255] |
88d1b59f6906
archive: raise error.Abort if the file pattern matches no files
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
18771
diff
changeset
|
345 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16350
diff
changeset
|
346 $ cd .. |
17628
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
347 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
348 issue3600: check whether "hg archive" can create archive files which |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
349 are extracted with expected timestamp, even though TZ is not |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
350 configured as GMT. |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
351 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
352 $ mkdir issue3600 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
353 $ cd issue3600 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
354 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
355 $ hg init repo |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
356 $ echo a > repo/a |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
357 $ hg -R repo add repo/a |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
358 $ hg -R repo commit -m '#0' -d '456789012 21600' |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
359 $ cat > show_mtime.py <<EOF |
29177
df6b5c6d252a
tests: test-archive.t use print_function
timeless <timeless@mozdev.org>
parents:
28597
diff
changeset
|
360 > from __future__ import print_function |
17628
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
361 > import sys, os |
29177
df6b5c6d252a
tests: test-archive.t use print_function
timeless <timeless@mozdev.org>
parents:
28597
diff
changeset
|
362 > print(int(os.stat(sys.argv[1]).st_mtime)) |
17628
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
363 > EOF |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
364 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
365 $ hg -R repo archive --prefix tar-extracted archive.tar |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
366 $ (TZ=UTC-3; export TZ; tar xf archive.tar) |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
31008
diff
changeset
|
367 $ $PYTHON show_mtime.py tar-extracted/a |
17628
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
368 456789012 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
369 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
370 $ hg -R repo archive --prefix zip-extracted archive.zip |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
371 $ (TZ=UTC-3; export TZ; unzip -q archive.zip) |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
31008
diff
changeset
|
372 $ $PYTHON show_mtime.py zip-extracted/a |
17628
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
373 456789012 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
374 |
133d13e44544
archival: add "extended-timestamp" extra block for zip archives (issue3600)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17017
diff
changeset
|
375 $ cd .. |