annotate tests/test-newcgi.t @ 50989:752c5a5b73c6

admin-command: add verify command Start using the 'admin' namespace by adding a 'verify' command. Invocation is 'admin::verify'. The idea is to progressively add more focused checks than the existing verify command. To do so we need an advanced way to express what we want to check. The first check for admin::verify is 'working-copy.dirstate' which has no options, because it was an easy first check to implement, which verifies the integrity of the dirstate. This changeset was created with the help of Franck Bret.
author Raphaël Gomès <rgomes@octobus.net>
date Wed, 25 Jan 2023 15:34:27 +0100
parents d5cd1fd690f3
children
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: 15567
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
12470
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
3 This tests if CGI files from after d0db3462d568 but
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
4 before d74fc8dec2b4 still work.
5577
e0173902c813 CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
5
12470
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
6 $ hg init test
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
7 $ cat >hgweb.cgi <<HGWEB
32938
b6776b34e44e tests: use $PYTHON in #! so we always use the right Python
Augie Fackler <augie@google.com>
parents: 22046
diff changeset
8 > #!$PYTHON
12470
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
9 > #
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
10 > # An example CGI script to use hgweb, edit as necessary
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
11 >
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
12 > from mercurial import demandimport; demandimport.enable()
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
13 > from mercurial.hgweb import hgweb
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
14 > from mercurial.hgweb import wsgicgi
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
15 > from mercurial.hgweb.request import wsgiapplication
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
16 >
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
17 > def make_web_app():
41346
9448b2e4c9fa py3: fix test-newcgi.t
Augie Fackler <augie@google.com>
parents: 39707
diff changeset
18 > return hgweb(b"test", b"Empty test repository")
12470
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
19 >
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
20 > wsgicgi.launch(wsgiapplication(make_web_app))
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
21 > HGWEB
5577
e0173902c813 CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
22
12470
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
23 $ chmod 755 hgweb.cgi
5577
e0173902c813 CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
24
12470
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
25 $ cat >hgweb.config <<HGWEBDIRCONF
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
26 > [paths]
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
27 > test = test
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
28 > HGWEBDIRCONF
5577
e0173902c813 CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
29
12470
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
30 $ cat >hgwebdir.cgi <<HGWEBDIR
32938
b6776b34e44e tests: use $PYTHON in #! so we always use the right Python
Augie Fackler <augie@google.com>
parents: 22046
diff changeset
31 > #!$PYTHON
12470
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
32 > #
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
33 > # An example CGI script to export multiple hgweb repos, edit as necessary
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
34 >
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
35 > from mercurial import demandimport; demandimport.enable()
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
36 > from mercurial.hgweb import hgwebdir
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
37 > from mercurial.hgweb import wsgicgi
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
38 > from mercurial.hgweb.request import wsgiapplication
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
39 >
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
40 > def make_web_app():
41346
9448b2e4c9fa py3: fix test-newcgi.t
Augie Fackler <augie@google.com>
parents: 39707
diff changeset
41 > return hgwebdir(b"hgweb.config")
12470
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
42 >
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
43 > wsgicgi.launch(wsgiapplication(make_web_app))
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
44 > HGWEBDIR
5577
e0173902c813 CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
45
12470
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
46 $ chmod 755 hgwebdir.cgi
5577
e0173902c813 CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
47
13269
aa3f726a2bdb tests: remove duplication of the CGI environment variables
StevenGBrown
parents: 12743
diff changeset
48 $ . "$TESTDIR/cgienv"
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 33262
diff changeset
49 $ "$PYTHON" hgweb.cgi > page1
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 33262
diff changeset
50 $ "$PYTHON" hgwebdir.cgi > page2
12470
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
51
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
52 $ PATH_INFO="/test/"
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
53 $ PATH_TRANSLATED="/var/something/test.cgi"
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
54 $ REQUEST_URI="/test/test/"
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
55 $ SCRIPT_URI="http://hg.omnifarious.org/test/test/"
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
56 $ SCRIPT_URL="/test/test/"
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 33262
diff changeset
57 $ "$PYTHON" hgwebdir.cgi > page3
12470
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
58
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
59 $ grep -i error page1 page2 page3
70a6734cf761 tests: unify test-newcgi
Matt Mackall <mpm@selenic.com>
parents: 5580
diff changeset
60 [1]