annotate tests/test-hgweb-raw.t @ 30675:112915e9a363

chg: let hgc_open support long path "sizeof(sun_path)" is too small. Use the chdir trick to support long socket path, like "mercurial.util.bindunixsocket". It's useful for cases where TMPDIR is long. Modern OS X rewrites TMPDIR to a long value. And we probably want to use XDG_RUNTIME_DIR [2] for Linux. The approach is a bit different from the previous plan, where we will have hgc_openat and pass cmdserveropts.sockdirfd to it. That's because the current change is easier: chg has to pass a full path to "hg" as the "--address" parameter. There is no "--address-basename" or "--address-dirfd" flags. The next patch will remove "sockdirfd". Note: It'd be nice if we can use a native "connectat" implementation. However, that's not available everywhere. Some platform (namely FreeBSD) does support it, but the implementation has bugs so it cannot be used [2]. [1]: https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html [2]: https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-April/082892.html
author Jun Wu <quark@fb.com>
date Fri, 23 Dec 2016 16:37:00 +0000
parents 4d2b9b304ad0
children 636cf3f7620d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
20 $ (get-with-headers.py localhost:$HGPORT '?f=bf0ff59095c9;file=sub/some%20text%25.txt;style=raw' 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
16973
3d71807c3a48 tests: use a different evil name in test-hgweb-raw.t
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
35 127.0.0.1 - - [*] "GET /?f=bf0ff59095c9;file=sub/some%20text%25.txt;style=raw 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
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
42 $ (get-with-headers.py localhost:$HGPORT '?f=bf0ff59095c9;file=sub/some%20text%25.txt;style=raw' content-type content-length content-disposition) >getoutput.txt
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
16973
3d71807c3a48 tests: use a different evil name in test-hgweb-raw.t
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
56 127.0.0.1 - - [*] "GET /?f=bf0ff59095c9;file=sub/some%20text%25.txt;style=raw 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 ..