Mercurial > hg
annotate tests/test-newcgi.t @ 18969:257afe5489d4
largefiles: improve repo wrapping detection
Before this patch, repo wrapping detection in "reposetup()" of
largefiles can detect only limited repo wrapping: replacing target
functions by another one named as "wrap".
So, it can't detect repo wrapping even in recommended style: replacing
"__class__" of repo by derived class.
This patch can detect repo wrapping in both styles below:
- replacing "__class__" of repo by derived class (recommended style):
class derived(repo.__class__):
def push(self, *args, **kwargs):
return super(derived, self).push(*args, **kwargs)
repo.__class__ = derived
- replacing function of repo by another one (not recommended style):
orgpush = repo.push
def push(*args, **kwargs):
return orgpush(*args, **kwargs)
repo.push = push
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Wed, 10 Apr 2013 02:27:35 +0900 |
parents | 8b84d040d9f9 |
children | 7a9cbb315d84 |
rev | line source |
---|---|
15567
8b84d040d9f9
tests: introduce 'hghave msys' to skip tests that would fail because of msys
Mads Kiilerich <mads@kiilerich.com>
parents:
13269
diff
changeset
|
1 $ "$TESTDIR/hghave" no-msys || exit 80 # MSYS will translate web paths as if they were file paths |
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 | 3 This tests if CGI files from after d0db3462d568 but |
4 before d74fc8dec2b4 still work. | |
5577
e0173902c813
CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
5 |
12470 | 6 $ hg init test |
7 $ cat >hgweb.cgi <<HGWEB | |
8 > #!/usr/bin/env python | |
9 > # | |
10 > # An example CGI script to use hgweb, edit as necessary | |
11 > | |
12 > import cgitb | |
13 > cgitb.enable() | |
14 > | |
15 > from mercurial import demandimport; demandimport.enable() | |
16 > from mercurial.hgweb import hgweb | |
17 > from mercurial.hgweb import wsgicgi | |
18 > from mercurial.hgweb.request import wsgiapplication | |
19 > | |
20 > def make_web_app(): | |
12743
4c4aeaab2339
check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents:
12470
diff
changeset
|
21 > return hgweb("test", "Empty test repository") |
12470 | 22 > |
23 > wsgicgi.launch(wsgiapplication(make_web_app)) | |
24 > HGWEB | |
5577
e0173902c813
CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
25 |
12470 | 26 $ chmod 755 hgweb.cgi |
5577
e0173902c813
CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
27 |
12470 | 28 $ cat >hgweb.config <<HGWEBDIRCONF |
29 > [paths] | |
30 > test = test | |
31 > HGWEBDIRCONF | |
5577
e0173902c813
CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
32 |
12470 | 33 $ cat >hgwebdir.cgi <<HGWEBDIR |
34 > #!/usr/bin/env python | |
35 > # | |
36 > # An example CGI script to export multiple hgweb repos, edit as necessary | |
37 > | |
38 > import cgitb | |
39 > cgitb.enable() | |
40 > | |
41 > from mercurial import demandimport; demandimport.enable() | |
42 > from mercurial.hgweb import hgwebdir | |
43 > from mercurial.hgweb import wsgicgi | |
44 > from mercurial.hgweb.request import wsgiapplication | |
45 > | |
46 > def make_web_app(): | |
12743
4c4aeaab2339
check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents:
12470
diff
changeset
|
47 > return hgwebdir("hgweb.config") |
12470 | 48 > |
49 > wsgicgi.launch(wsgiapplication(make_web_app)) | |
50 > HGWEBDIR | |
5577
e0173902c813
CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
51 |
12470 | 52 $ chmod 755 hgwebdir.cgi |
5577
e0173902c813
CGI compatibility fix for d74fc8dec2b4.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
53 |
13269
aa3f726a2bdb
tests: remove duplication of the CGI environment variables
StevenGBrown
parents:
12743
diff
changeset
|
54 $ . "$TESTDIR/cgienv" |
12470 | 55 $ python hgweb.cgi > page1 |
56 $ python hgwebdir.cgi > page2 | |
57 | |
58 $ PATH_INFO="/test/" | |
59 $ PATH_TRANSLATED="/var/something/test.cgi" | |
60 $ REQUEST_URI="/test/test/" | |
61 $ SCRIPT_URI="http://hg.omnifarious.org/test/test/" | |
62 $ SCRIPT_URL="/test/test/" | |
63 $ python hgwebdir.cgi > page3 | |
64 | |
65 $ grep -i error page1 page2 page3 | |
66 [1] |