Mercurial > hg
annotate tests/test-hgweb-raw.t @ 39548:7ce9dea3a14a
localrepo: move repo creation logic out of localrepository.__init__ (API)
It has long bothered me that local repository creation is handled as
part of localrepository.__init__. Upcoming changes I want to make
around how repositories are initialized and instantiated will make
the continued existence of repository creation code in
localrepository.__init__ even more awkward.
localrepository instances are almost never constructed directly:
instead, callers are supposed to go through hg.repository() to obtain
a handle on a repository. And hg.repository() calls
localrepo.instance() to return a new repo instance.
This commit teaches localrepo.instance() to handle the create=True
logic. Most of the code for repo construction has been moved to a
standalone function. This allows extensions to monkeypatch the function
to further customize freshly-created repositories.
A few calls to localrepo.localrepository.__init__ that were passing
create=True were converted to call localrepo.instance().
.. api:: local repo creation moved out of constructor
``localrepo.localrepository.__init__`` no longer accepts a
``create`` argument to create a new repository. New repository
creation is now performed as part of ``localrepo.instance()``
and the bulk of the work is performed by
``localrepo.createrepository()``.
Differential Revision: https://phab.mercurial-scm.org/D4534
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 11 Sep 2018 13:46:59 -0700 |
parents | 422be99519e5 |
children | bd1ec1e36bf0 |
rev | line source |
---|---|
22046
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
18589
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:
15004
diff
changeset
|
2 |
12441
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
3 Test raw style of hgweb |
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
4 |
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
5 $ hg init test |
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
6 $ cd test |
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
7 $ mkdir sub |
16973
3d71807c3a48
tests: use a different evil name in test-hgweb-raw.t
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
8 $ cat >'sub/some text%.txt' <<ENDSOME |
12441
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
9 > This is just some random text |
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
10 > that will go inside the file and take a few lines. |
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
11 > It is very boring to read, but computers don't |
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
12 > care about things like that. |
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
13 > ENDSOME |
16973
3d71807c3a48
tests: use a different evil name in test-hgweb-raw.t
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
14 $ hg add 'sub/some text%.txt' |
12441
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
15 $ hg commit -d "1 0" -m "Just some text" |
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
16 |
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
17 $ hg serve -p $HGPORT -A access.log -E error.log -d --pid-file=hg.pid |
2532
84655f721f39
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
18 |
12441
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
19 $ cat hg.pid >> $DAEMON_PIDS |
36859
422be99519e5
hgweb: remove support for short query string based aliases (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31008
diff
changeset
|
20 $ (get-with-headers.py localhost:$HGPORT 'raw-file/bf0ff59095c9/sub/some%20text%25.txt' content-type content-length content-disposition) >getoutput.txt |
16298
0eefd118f27e
tests: fix shutdown race in test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
15446
diff
changeset
|
21 |
25472
4d2b9b304ad0
tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents:
22046
diff
changeset
|
22 $ killdaemons.py hg.pid |
16298
0eefd118f27e
tests: fix shutdown race in test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
15446
diff
changeset
|
23 |
12441
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
24 $ cat getoutput.txt |
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
25 200 Script output follows |
15004
d06b9c55ddab
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents:
13962
diff
changeset
|
26 content-type: application/binary |
d06b9c55ddab
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents:
13962
diff
changeset
|
27 content-length: 157 |
16973
3d71807c3a48
tests: use a different evil name in test-hgweb-raw.t
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
28 content-disposition: inline; filename="some text%.txt" |
15004
d06b9c55ddab
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents:
13962
diff
changeset
|
29 |
d06b9c55ddab
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents:
13962
diff
changeset
|
30 This is just some random text |
d06b9c55ddab
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents:
13962
diff
changeset
|
31 that will go inside the file and take a few lines. |
d06b9c55ddab
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents:
13962
diff
changeset
|
32 It is very boring to read, but computers don't |
d06b9c55ddab
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents:
13962
diff
changeset
|
33 care about things like that. |
d06b9c55ddab
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents:
13962
diff
changeset
|
34 $ cat access.log error.log |
36859
422be99519e5
hgweb: remove support for short query string based aliases (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31008
diff
changeset
|
35 $LOCALIP - - [$LOGDATE$] "GET /raw-file/bf0ff59095c9/sub/some%20text%25.txt HTTP/1.1" 200 - (glob) |
15004
d06b9c55ddab
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents:
13962
diff
changeset
|
36 |
d06b9c55ddab
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents:
13962
diff
changeset
|
37 $ rm access.log error.log |
d06b9c55ddab
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents:
13962
diff
changeset
|
38 $ hg serve -p $HGPORT -A access.log -E error.log -d --pid-file=hg.pid \ |
d06b9c55ddab
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents:
13962
diff
changeset
|
39 > --config web.guessmime=True |
d06b9c55ddab
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents:
13962
diff
changeset
|
40 |
d06b9c55ddab
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents:
13962
diff
changeset
|
41 $ cat hg.pid >> $DAEMON_PIDS |
36859
422be99519e5
hgweb: remove support for short query string based aliases (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31008
diff
changeset
|
42 $ (get-with-headers.py localhost:$HGPORT 'raw-file/bf0ff59095c9/sub/some%20text%25.txt' content-type content-length content-disposition) >getoutput.txt |
25472
4d2b9b304ad0
tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents:
22046
diff
changeset
|
43 $ killdaemons.py hg.pid |
16298
0eefd118f27e
tests: fix shutdown race in test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
15446
diff
changeset
|
44 |
15004
d06b9c55ddab
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents:
13962
diff
changeset
|
45 $ cat getoutput.txt |
d06b9c55ddab
hgweb: raw file mimetype guessing configurable, off by default (BC) (issue2923)
Matt Mackall <mpm@selenic.com>
parents:
13962
diff
changeset
|
46 200 Script output follows |
12441
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
47 content-type: text/plain; charset="ascii" |
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
48 content-length: 157 |
16973
3d71807c3a48
tests: use a different evil name in test-hgweb-raw.t
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
49 content-disposition: inline; filename="some text%.txt" |
12441
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
50 |
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
51 This is just some random text |
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
52 that will go inside the file and take a few lines. |
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
53 It is very boring to read, but computers don't |
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
54 care about things like that. |
cb1e33a41d13
tests: unify test-hgweb-raw
Matt Mackall <mpm@selenic.com>
parents:
11617
diff
changeset
|
55 $ cat access.log error.log |
36859
422be99519e5
hgweb: remove support for short query string based aliases (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31008
diff
changeset
|
56 $LOCALIP - - [$LOGDATE$] "GET /raw-file/bf0ff59095c9/sub/some%20text%25.txt HTTP/1.1" 200 - (glob) |
2532
84655f721f39
Add a test for getting raw files via the web UI.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
57 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16496
diff
changeset
|
58 $ cd .. |