Mercurial > hg
annotate tests/test-clone-cgi.t @ 33453:f6b7617a85bb
phases: add a 'registernew' method to set new phases
This new function will be used by code that adds new changesets. It ajusts the
phase boundary to make sure added changesets are at least in their target
phase (they end up in an higher phase if their parents are in a higher phase).
Having a dedicated function also simplify the phases tracking. All the new
nodes are passed as argument, so we know that all of them needs to have their
new phase registered. We also know that no other nodes will be affected, so no
extra computation are needed.
This function differ from 'retractboundary' where some nodes might change
phase while some other might not. It can also affect nodes not passed as
parameters.
These simplification also apply to the computation itself. For now we use
'_retractboundary' there by convenience, but we may introduces simpler code
later.
While registering new revisions, we still need to check the actual phases of
the added node because it might be higher than the target phase (eg: target is
draft but parent is secret).
We will migrate users over the next changesets.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Tue, 11 Jul 2017 03:47:25 +0200 |
parents | 8e6f4939a69a |
children | 2a42ca2679e2 |
rev | line source |
---|---|
22046
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
18552
diff
changeset
|
1 #require no-msys # MSYS will translate web paths as if they were file paths |
15567
8b84d040d9f9
tests: introduce 'hghave msys' to skip tests that would fail because of msys
Mads Kiilerich <mads@kiilerich.com>
parents:
13269
diff
changeset
|
2 |
12410
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
3 This is a test of the wire protocol over CGI-based hgweb. |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
4 initialize repository |
6922
1ec2d227a521
hgweb: fix WSGI iterators handling in CGI adapter (issue1254)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
5 |
12410
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
6 $ hg init test |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
7 $ cd test |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
8 $ echo a > a |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
9 $ hg ci -Ama |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
10 adding a |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
11 $ cd .. |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
12 $ cat >hgweb.cgi <<HGWEB |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
13 > # |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
14 > # An example CGI script to use hgweb, edit as necessary |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
15 > import cgitb |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
16 > cgitb.enable() |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
17 > from mercurial import demandimport; demandimport.enable() |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
18 > from mercurial.hgweb import hgweb |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
19 > from mercurial.hgweb import wsgicgi |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
20 > application = hgweb("test", "Empty test repository") |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
21 > wsgicgi.launch(application) |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
22 > HGWEB |
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
23 $ chmod 755 hgweb.cgi |
6922
1ec2d227a521
hgweb: fix WSGI iterators handling in CGI adapter (issue1254)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
24 |
12410
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
25 try hgweb request |
6922
1ec2d227a521
hgweb: fix WSGI iterators handling in CGI adapter (issue1254)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
26 |
13269
aa3f726a2bdb
tests: remove duplication of the CGI environment variables
StevenGBrown
parents:
12410
diff
changeset
|
27 $ . "$TESTDIR/cgienv" |
12410
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
28 $ QUERY_STRING="cmd=changegroup&roots=0000000000000000000000000000000000000000"; export QUERY_STRING |
33262
8e6f4939a69a
tests: replace yet more calls to `python` with $PYTHON
Augie Fackler <augie@google.com>
parents:
32940
diff
changeset
|
29 $ $PYTHON hgweb.cgi >page1 2>&1 |
32940
75be14993fda
cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents:
22046
diff
changeset
|
30 $ $PYTHON "$TESTDIR/md5sum.py" page1 |
12410
2bfb335c7594
tests: unify test-clone-cgi
Matt Mackall <mpm@selenic.com>
parents:
11584
diff
changeset
|
31 1f424bb22ec05c3c6bc866b6e67efe43 page1 |
18552
e8efcc8ff5c0
hgweb.cgi: fix internal WSGI emulation (issue3804)
Mads Kiilerich <madski@unity3d.com>
parents:
15567
diff
changeset
|
32 |
e8efcc8ff5c0
hgweb.cgi: fix internal WSGI emulation (issue3804)
Mads Kiilerich <madski@unity3d.com>
parents:
15567
diff
changeset
|
33 make sure headers are sent even when there is no body |
e8efcc8ff5c0
hgweb.cgi: fix internal WSGI emulation (issue3804)
Mads Kiilerich <madski@unity3d.com>
parents:
15567
diff
changeset
|
34 |
33262
8e6f4939a69a
tests: replace yet more calls to `python` with $PYTHON
Augie Fackler <augie@google.com>
parents:
32940
diff
changeset
|
35 $ QUERY_STRING="cmd=listkeys&namespace=nosuchnamespace" $PYTHON hgweb.cgi |
18552
e8efcc8ff5c0
hgweb.cgi: fix internal WSGI emulation (issue3804)
Mads Kiilerich <madski@unity3d.com>
parents:
15567
diff
changeset
|
36 Status: 200 Script output follows\r (esc) |
e8efcc8ff5c0
hgweb.cgi: fix internal WSGI emulation (issue3804)
Mads Kiilerich <madski@unity3d.com>
parents:
15567
diff
changeset
|
37 Content-Type: application/mercurial-0.1\r (esc) |
e8efcc8ff5c0
hgweb.cgi: fix internal WSGI emulation (issue3804)
Mads Kiilerich <madski@unity3d.com>
parents:
15567
diff
changeset
|
38 Content-Length: 0\r (esc) |
e8efcc8ff5c0
hgweb.cgi: fix internal WSGI emulation (issue3804)
Mads Kiilerich <madski@unity3d.com>
parents:
15567
diff
changeset
|
39 \r (esc) |