Mercurial > hg
annotate tests/test-push-cgi.t @ 16261:7b9bf72430ba
merge with stable
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 15 Mar 2012 13:11:42 -0500 |
parents | 8b84d040d9f9 |
children | f2719b387380 |
rev | line source |
---|---|
15567
8b84d040d9f9
tests: introduce 'hghave msys' to skip tests that would fail because of msys
Mads Kiilerich <mads@kiilerich.com>
parents:
13946
diff
changeset
|
1 $ "$TESTDIR/hghave" no-msys || exit 80 # MSYS will translate web paths as if they were file paths |
8b84d040d9f9
tests: introduce 'hghave msys' to skip tests that would fail because of msys
Mads Kiilerich <mads@kiilerich.com>
parents:
13946
diff
changeset
|
2 |
13397
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
3 This is a test of the push wire protocol over CGI-based hgweb. |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
4 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
5 initialize repository |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
6 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
7 $ hg init r |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
8 $ cd r |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
9 $ echo a > a |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
10 $ hg ci -A -m "0" |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
11 adding a |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
12 $ echo '[web]' > .hg/hgrc |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
13 $ echo 'allow_push = *' >> .hg/hgrc |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
14 $ echo 'push_ssl = false' >> .hg/hgrc |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
15 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
16 create hgweb invocation script |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
17 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
18 $ cat >hgweb.cgi <<HGWEB |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
19 > import cgitb |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
20 > cgitb.enable() |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
21 > from mercurial import demandimport; demandimport.enable() |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
22 > from mercurial.hgweb import hgweb |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
23 > from mercurial.hgweb import wsgicgi |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
24 > application = hgweb('.', 'test repository') |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
25 > wsgicgi.launch(application) |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
26 > HGWEB |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
27 $ chmod 755 hgweb.cgi |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
28 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
29 test preparation |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
30 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
31 $ . "$TESTDIR/cgienv" |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
32 $ REQUEST_METHOD="POST"; export REQUEST_METHOD |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
33 $ CONTENT_TYPE="application/octet-stream"; export CONTENT_TYPE |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
34 $ hg bundle --all bundle.hg |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
35 1 changesets found |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
36 $ CONTENT_LENGTH=279; export CONTENT_LENGTH; |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
37 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
38 expect unsynced changes |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
39 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
40 $ QUERY_STRING="cmd=unbundle&heads=0000000000000000000000000000000000000000"; export QUERY_STRING |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
41 $ python hgweb.cgi <bundle.hg >page1 2>&1 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
42 $ cat page1 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
43 Status: 200 Script output follows\r (esc) |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
44 Content-Type: application/mercurial-0.1\r (esc) |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
45 Content-Length: 19\r (esc) |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
46 \r (esc) |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
47 0 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
48 unsynced changes |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
49 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
50 successful force push |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
51 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
52 $ QUERY_STRING="cmd=unbundle&heads=666f726365"; export QUERY_STRING |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
53 $ python hgweb.cgi <bundle.hg >page2 2>&1 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
54 $ cat page2 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
55 Status: 200 Script output follows\r (esc) |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
56 Content-Type: application/mercurial-0.1\r (esc) |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
57 \r (esc) |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
58 1 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
59 adding changesets |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
60 adding manifests |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
61 adding file changes |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
62 added 0 changesets with 0 changes to 1 files |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
63 |
13946
3c2f9f611ef6
tests: new test cases for the unbundlehash capability
Steven Brown <StevenGBrown@gmail.com>
parents:
13397
diff
changeset
|
64 successful push, list of heads |
13397
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
65 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
66 $ QUERY_STRING="cmd=unbundle&heads=f7b1eb17ad24730a1651fccd46c43826d1bbc2ac"; export QUERY_STRING |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
67 $ python hgweb.cgi <bundle.hg >page3 2>&1 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
68 $ cat page3 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
69 Status: 200 Script output follows\r (esc) |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
70 Content-Type: application/mercurial-0.1\r (esc) |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
71 \r (esc) |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
72 1 |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
73 adding changesets |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
74 adding manifests |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
75 adding file changes |
6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
76 added 0 changesets with 0 changes to 1 files |
13946
3c2f9f611ef6
tests: new test cases for the unbundlehash capability
Steven Brown <StevenGBrown@gmail.com>
parents:
13397
diff
changeset
|
77 |
3c2f9f611ef6
tests: new test cases for the unbundlehash capability
Steven Brown <StevenGBrown@gmail.com>
parents:
13397
diff
changeset
|
78 successful push, SHA1 hash of heads (unbundlehash capability) |
3c2f9f611ef6
tests: new test cases for the unbundlehash capability
Steven Brown <StevenGBrown@gmail.com>
parents:
13397
diff
changeset
|
79 |
3c2f9f611ef6
tests: new test cases for the unbundlehash capability
Steven Brown <StevenGBrown@gmail.com>
parents:
13397
diff
changeset
|
80 $ QUERY_STRING="cmd=unbundle&heads=686173686564 5a785a5f9e0d433b88ed862b206b011b0c3a9d13"; export QUERY_STRING |
3c2f9f611ef6
tests: new test cases for the unbundlehash capability
Steven Brown <StevenGBrown@gmail.com>
parents:
13397
diff
changeset
|
81 $ python hgweb.cgi <bundle.hg >page4 2>&1 |
3c2f9f611ef6
tests: new test cases for the unbundlehash capability
Steven Brown <StevenGBrown@gmail.com>
parents:
13397
diff
changeset
|
82 $ cat page4 |
3c2f9f611ef6
tests: new test cases for the unbundlehash capability
Steven Brown <StevenGBrown@gmail.com>
parents:
13397
diff
changeset
|
83 Status: 200 Script output follows\r (esc) |
3c2f9f611ef6
tests: new test cases for the unbundlehash capability
Steven Brown <StevenGBrown@gmail.com>
parents:
13397
diff
changeset
|
84 Content-Type: application/mercurial-0.1\r (esc) |
3c2f9f611ef6
tests: new test cases for the unbundlehash capability
Steven Brown <StevenGBrown@gmail.com>
parents:
13397
diff
changeset
|
85 \r (esc) |
3c2f9f611ef6
tests: new test cases for the unbundlehash capability
Steven Brown <StevenGBrown@gmail.com>
parents:
13397
diff
changeset
|
86 1 |
3c2f9f611ef6
tests: new test cases for the unbundlehash capability
Steven Brown <StevenGBrown@gmail.com>
parents:
13397
diff
changeset
|
87 adding changesets |
3c2f9f611ef6
tests: new test cases for the unbundlehash capability
Steven Brown <StevenGBrown@gmail.com>
parents:
13397
diff
changeset
|
88 adding manifests |
3c2f9f611ef6
tests: new test cases for the unbundlehash capability
Steven Brown <StevenGBrown@gmail.com>
parents:
13397
diff
changeset
|
89 adding file changes |
3c2f9f611ef6
tests: new test cases for the unbundlehash capability
Steven Brown <StevenGBrown@gmail.com>
parents:
13397
diff
changeset
|
90 added 0 changesets with 0 changes to 1 files |