Mercurial > hg
comparison tests/test-push-cgi.t @ 13397:6f9616a46f7c
tests: push wire protocol over CGI-based hgweb
author | Steven Brown <StevenGBrown@gmail.com> |
---|---|
date | Wed, 26 Jan 2011 18:19:49 +0800 |
parents | |
children | 3c2f9f611ef6 |
comparison
equal
deleted
inserted
replaced
13396:3e66eec9a814 | 13397:6f9616a46f7c |
---|---|
1 This is a test of the push wire protocol over CGI-based hgweb. | |
2 | |
3 initialize repository | |
4 | |
5 $ hg init r | |
6 $ cd r | |
7 $ echo a > a | |
8 $ hg ci -A -m "0" | |
9 adding a | |
10 $ echo '[web]' > .hg/hgrc | |
11 $ echo 'allow_push = *' >> .hg/hgrc | |
12 $ echo 'push_ssl = false' >> .hg/hgrc | |
13 | |
14 create hgweb invocation script | |
15 | |
16 $ cat >hgweb.cgi <<HGWEB | |
17 > import cgitb | |
18 > cgitb.enable() | |
19 > from mercurial import demandimport; demandimport.enable() | |
20 > from mercurial.hgweb import hgweb | |
21 > from mercurial.hgweb import wsgicgi | |
22 > application = hgweb('.', 'test repository') | |
23 > wsgicgi.launch(application) | |
24 > HGWEB | |
25 $ chmod 755 hgweb.cgi | |
26 | |
27 test preparation | |
28 | |
29 $ . "$TESTDIR/cgienv" | |
30 $ REQUEST_METHOD="POST"; export REQUEST_METHOD | |
31 $ CONTENT_TYPE="application/octet-stream"; export CONTENT_TYPE | |
32 $ hg bundle --all bundle.hg | |
33 1 changesets found | |
34 $ CONTENT_LENGTH=279; export CONTENT_LENGTH; | |
35 | |
36 expect unsynced changes | |
37 | |
38 $ QUERY_STRING="cmd=unbundle&heads=0000000000000000000000000000000000000000"; export QUERY_STRING | |
39 $ python hgweb.cgi <bundle.hg >page1 2>&1 | |
40 $ cat page1 | |
41 Status: 200 Script output follows\r (esc) | |
42 Content-Type: application/mercurial-0.1\r (esc) | |
43 Content-Length: 19\r (esc) | |
44 \r (esc) | |
45 0 | |
46 unsynced changes | |
47 | |
48 successful force push | |
49 | |
50 $ QUERY_STRING="cmd=unbundle&heads=666f726365"; export QUERY_STRING | |
51 $ python hgweb.cgi <bundle.hg >page2 2>&1 | |
52 $ cat page2 | |
53 Status: 200 Script output follows\r (esc) | |
54 Content-Type: application/mercurial-0.1\r (esc) | |
55 \r (esc) | |
56 1 | |
57 adding changesets | |
58 adding manifests | |
59 adding file changes | |
60 added 0 changesets with 0 changes to 1 files | |
61 | |
62 successful push | |
63 | |
64 $ QUERY_STRING="cmd=unbundle&heads=f7b1eb17ad24730a1651fccd46c43826d1bbc2ac"; export QUERY_STRING | |
65 $ python hgweb.cgi <bundle.hg >page3 2>&1 | |
66 $ cat page3 | |
67 Status: 200 Script output follows\r (esc) | |
68 Content-Type: application/mercurial-0.1\r (esc) | |
69 \r (esc) | |
70 1 | |
71 adding changesets | |
72 adding manifests | |
73 adding file changes | |
74 added 0 changesets with 0 changes to 1 files |