Merge lp:~logan/ubuntu/raring/zope.app.wsgi/new-upstream into lp:ubuntu/raring/zope.app.wsgi
- Raring (13.04)
- new-upstream
- Merge into raring
Proposed by
Logan Rosen
Status: | Merged |
---|---|
Merged at revision: | 7 |
Proposed branch: | lp:~logan/ubuntu/raring/zope.app.wsgi/new-upstream |
Merge into: | lp:ubuntu/raring/zope.app.wsgi |
Diff against target: |
364 lines (+163/-17) 11 files modified
CHANGES.txt (+24/-0) PKG-INFO (+25/-1) debian/changelog (+7/-0) debian/control (+1/-1) setup.py (+5/-4) src/zope.app.wsgi.egg-info/PKG-INFO (+25/-1) src/zope.app.wsgi.egg-info/requires.txt (+4/-3) src/zope/app/wsgi/README.txt (+22/-3) src/zope/app/wsgi/__init__.py (+3/-1) src/zope/app/wsgi/paste.py (+6/-2) src/zope/app/wsgi/tests.py (+41/-1) |
To merge this branch: | bzr merge lp:~logan/ubuntu/raring/zope.app.wsgi/new-upstream |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Barry Warsaw (community) | Approve | ||
Ubuntu branches | Pending | ||
Review via email: mp+132783@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Revision history for this message
Logan Rosen (logan) wrote : | # |
Barry, any update on sponsoring this?
Revision history for this message
Logan Rosen (logan) wrote : | # |
Oh, just kidding. Looks like the branch is just out-of-date due to a bzr error.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'CHANGES.txt' | |||
2 | --- CHANGES.txt 2012-01-07 17:54:42 +0000 | |||
3 | +++ CHANGES.txt 2012-11-03 20:14:19 +0000 | |||
4 | @@ -2,6 +2,30 @@ | |||
5 | 2 | CHANGES | 2 | CHANGES |
6 | 3 | ======= | 3 | ======= |
7 | 4 | 4 | ||
8 | 5 | 3.15.0 (2012-01-19) | ||
9 | 6 | ------------------- | ||
10 | 7 | |||
11 | 8 | - Fixed: zope.app.wsgi.paste.ZopeApplication didn't emit | ||
12 | 9 | ProcessStarting events. | ||
13 | 10 | |||
14 | 11 | **NOTE** | ||
15 | 12 | If an application compensated for this by generating the event, it | ||
16 | 13 | will need to stop or there will be multiple events | ||
17 | 14 | emited. (Whether or not multiple events will do any harm is | ||
18 | 15 | application specific.) | ||
19 | 16 | |||
20 | 17 | 3.14.0 (2012-01-10) | ||
21 | 18 | ------------------- | ||
22 | 19 | |||
23 | 20 | - Set the WSGI environment's ``REMOTE_USER`` item (if not already set) | ||
24 | 21 | with the Zope principal label. (This is the same data set in | ||
25 | 22 | the ``wsgi.logging_info`` environment item.) | ||
26 | 23 | |||
27 | 24 | This change allows user info to be used by `paste.translogger | ||
28 | 25 | <http://pythonpaste.org/modules/translogger.html>`_ middleware (or | ||
29 | 26 | any similar middleware that uses ``REMOTE_USER``), which provides | ||
30 | 27 | access logging. | ||
31 | 28 | |||
32 | 5 | 29 | ||
33 | 6 | 3.13.0 (2011-03-15) | 30 | 3.13.0 (2011-03-15) |
34 | 7 | ------------------- | 31 | ------------------- |
35 | 8 | 32 | ||
36 | === modified file 'PKG-INFO' | |||
37 | --- PKG-INFO 2012-01-07 17:54:42 +0000 | |||
38 | +++ PKG-INFO 2012-11-03 20:14:19 +0000 | |||
39 | @@ -1,6 +1,6 @@ | |||
40 | 1 | Metadata-Version: 1.0 | 1 | Metadata-Version: 1.0 |
41 | 2 | Name: zope.app.wsgi | 2 | Name: zope.app.wsgi |
43 | 3 | Version: 3.13.0 | 3 | Version: 3.15.0 |
44 | 4 | Summary: WSGI application for the zope.publisher | 4 | Summary: WSGI application for the zope.publisher |
45 | 5 | Home-page: http://pypi.python.org/pypi/zope.app.wsgi | 5 | Home-page: http://pypi.python.org/pypi/zope.app.wsgi |
46 | 6 | Author: Zope Foundation and Contributors | 6 | Author: Zope Foundation and Contributors |
47 | @@ -36,6 +36,30 @@ | |||
48 | 36 | CHANGES | 36 | CHANGES |
49 | 37 | ======= | 37 | ======= |
50 | 38 | 38 | ||
51 | 39 | 3.15.0 (2012-01-19) | ||
52 | 40 | ------------------- | ||
53 | 41 | |||
54 | 42 | - Fixed: zope.app.wsgi.paste.ZopeApplication didn't emit | ||
55 | 43 | ProcessStarting events. | ||
56 | 44 | |||
57 | 45 | **NOTE** | ||
58 | 46 | If an application compensated for this by generating the event, it | ||
59 | 47 | will need to stop or there will be multiple events | ||
60 | 48 | emited. (Whether or not multiple events will do any harm is | ||
61 | 49 | application specific.) | ||
62 | 50 | |||
63 | 51 | 3.14.0 (2012-01-10) | ||
64 | 52 | ------------------- | ||
65 | 53 | |||
66 | 54 | - Set the WSGI environment's ``REMOTE_USER`` item (if not already set) | ||
67 | 55 | with the Zope principal label. (This is the same data set in | ||
68 | 56 | the ``wsgi.logging_info`` environment item.) | ||
69 | 57 | |||
70 | 58 | This change allows user info to be used by `paste.translogger | ||
71 | 59 | <http://pythonpaste.org/modules/translogger.html>`_ middleware (or | ||
72 | 60 | any similar middleware that uses ``REMOTE_USER``), which provides | ||
73 | 61 | access logging. | ||
74 | 62 | |||
75 | 39 | 63 | ||
76 | 40 | 3.13.0 (2011-03-15) | 64 | 3.13.0 (2011-03-15) |
77 | 41 | ------------------- | 65 | ------------------- |
78 | 42 | 66 | ||
79 | === modified file 'debian/changelog' | |||
80 | --- debian/changelog 2012-01-07 19:35:10 +0000 | |||
81 | +++ debian/changelog 2012-11-03 20:14:19 +0000 | |||
82 | @@ -1,3 +1,10 @@ | |||
83 | 1 | zope.app.wsgi (3.15.0-0ubuntu1) raring; urgency=low | ||
84 | 2 | |||
85 | 3 | * New upstream release. | ||
86 | 4 | * Bump Standards-Version to 3.9.3. | ||
87 | 5 | |||
88 | 6 | -- Logan Rosen <logatronico@gmail.com> Sat, 03 Nov 2012 16:08:43 -0400 | ||
89 | 7 | |||
90 | 1 | zope.app.wsgi (3.13.0-0ubuntu1) precise; urgency=low | 8 | zope.app.wsgi (3.13.0-0ubuntu1) precise; urgency=low |
91 | 2 | 9 | ||
92 | 3 | * New upstream release. | 10 | * New upstream release. |
93 | 4 | 11 | ||
94 | === modified file 'debian/control' | |||
95 | --- debian/control 2011-06-28 04:41:01 +0000 | |||
96 | +++ debian/control 2012-11-03 20:14:19 +0000 | |||
97 | @@ -5,7 +5,7 @@ | |||
98 | 5 | XSBC-Original-Maintainer: Gediminas Paulauskas <menesis@pov.lt> | 5 | XSBC-Original-Maintainer: Gediminas Paulauskas <menesis@pov.lt> |
99 | 6 | Build-Depends: debhelper (>= 7), python-all (>= 2.6.6-3~), | 6 | Build-Depends: debhelper (>= 7), python-all (>= 2.6.6-3~), |
100 | 7 | python-setuptools (>= 0.6b3), python-van.pydeb (>= 1.3.0-4) | 7 | python-setuptools (>= 0.6b3), python-van.pydeb (>= 1.3.0-4) |
102 | 8 | Standards-Version: 3.9.2 | 8 | Standards-Version: 3.9.3 |
103 | 9 | X-Python-Version: >= 2.5 | 9 | X-Python-Version: >= 2.5 |
104 | 10 | 10 | ||
105 | 11 | Package: python-zope.app.wsgi | 11 | Package: python-zope.app.wsgi |
106 | 12 | 12 | ||
107 | === modified file 'setup.py' | |||
108 | --- setup.py 2012-01-07 17:54:42 +0000 | |||
109 | +++ setup.py 2012-11-03 20:14:19 +0000 | |||
110 | @@ -18,12 +18,12 @@ | |||
111 | 18 | ############################################################################## | 18 | ############################################################################## |
112 | 19 | """Setup for zope.app.wsgi package | 19 | """Setup for zope.app.wsgi package |
113 | 20 | 20 | ||
115 | 21 | $Id: setup.py 120963 2011-03-15 22:52:10Z janjaapdriessen $ | 21 | $Id: setup.py 124091 2012-01-19 15:07:11Z jim $ |
116 | 22 | """ | 22 | """ |
117 | 23 | from setuptools import setup, find_packages | 23 | from setuptools import setup, find_packages |
118 | 24 | 24 | ||
119 | 25 | setup(name='zope.app.wsgi', | 25 | setup(name='zope.app.wsgi', |
121 | 26 | version='3.13.0', | 26 | version='3.15.0', |
122 | 27 | url='http://pypi.python.org/pypi/zope.app.wsgi', | 27 | url='http://pypi.python.org/pypi/zope.app.wsgi', |
123 | 28 | license='ZPL 2.1', | 28 | license='ZPL 2.1', |
124 | 29 | description='WSGI application for the zope.publisher', | 29 | description='WSGI application for the zope.publisher', |
125 | @@ -48,12 +48,12 @@ | |||
126 | 48 | 'zope.annotation', | 48 | 'zope.annotation', |
127 | 49 | 'zope.authentication', | 49 | 'zope.authentication', |
128 | 50 | 'zope.browserpage', | 50 | 'zope.browserpage', |
129 | 51 | 'zope.componentvocabulary', | ||
130 | 52 | 'zope.location', | ||
131 | 53 | 'zope.login', | 51 | 'zope.login', |
132 | 54 | 'zope.password', | 52 | 'zope.password', |
133 | 55 | 'zope.principalregistry', | 53 | 'zope.principalregistry', |
134 | 56 | 'zope.securitypolicy', | 54 | 'zope.securitypolicy', |
135 | 55 | 'zope.testing', | ||
136 | 56 | 'zope.traversing', | ||
137 | 57 | ]), | 57 | ]), |
138 | 58 | install_requires=[ | 58 | install_requires=[ |
139 | 59 | 'setuptools', | 59 | 'setuptools', |
140 | @@ -72,6 +72,7 @@ | |||
141 | 72 | 'zope.container', | 72 | 'zope.container', |
142 | 73 | 'zope.error', | 73 | 'zope.error', |
143 | 74 | 'zope.lifecycleevent', | 74 | 'zope.lifecycleevent', |
144 | 75 | 'zope.processlifetime', | ||
145 | 75 | 'zope.session', | 76 | 'zope.session', |
146 | 76 | 'zope.site', | 77 | 'zope.site', |
147 | 77 | 'zope.testbrowser[wsgi] >= 4.0.0', | 78 | 'zope.testbrowser[wsgi] >= 4.0.0', |
148 | 78 | 79 | ||
149 | === modified file 'src/zope.app.wsgi.egg-info/PKG-INFO' | |||
150 | --- src/zope.app.wsgi.egg-info/PKG-INFO 2012-01-07 17:54:42 +0000 | |||
151 | +++ src/zope.app.wsgi.egg-info/PKG-INFO 2012-11-03 20:14:19 +0000 | |||
152 | @@ -1,6 +1,6 @@ | |||
153 | 1 | Metadata-Version: 1.0 | 1 | Metadata-Version: 1.0 |
154 | 2 | Name: zope.app.wsgi | 2 | Name: zope.app.wsgi |
156 | 3 | Version: 3.13.0 | 3 | Version: 3.15.0 |
157 | 4 | Summary: WSGI application for the zope.publisher | 4 | Summary: WSGI application for the zope.publisher |
158 | 5 | Home-page: http://pypi.python.org/pypi/zope.app.wsgi | 5 | Home-page: http://pypi.python.org/pypi/zope.app.wsgi |
159 | 6 | Author: Zope Foundation and Contributors | 6 | Author: Zope Foundation and Contributors |
160 | @@ -36,6 +36,30 @@ | |||
161 | 36 | CHANGES | 36 | CHANGES |
162 | 37 | ======= | 37 | ======= |
163 | 38 | 38 | ||
164 | 39 | 3.15.0 (2012-01-19) | ||
165 | 40 | ------------------- | ||
166 | 41 | |||
167 | 42 | - Fixed: zope.app.wsgi.paste.ZopeApplication didn't emit | ||
168 | 43 | ProcessStarting events. | ||
169 | 44 | |||
170 | 45 | **NOTE** | ||
171 | 46 | If an application compensated for this by generating the event, it | ||
172 | 47 | will need to stop or there will be multiple events | ||
173 | 48 | emited. (Whether or not multiple events will do any harm is | ||
174 | 49 | application specific.) | ||
175 | 50 | |||
176 | 51 | 3.14.0 (2012-01-10) | ||
177 | 52 | ------------------- | ||
178 | 53 | |||
179 | 54 | - Set the WSGI environment's ``REMOTE_USER`` item (if not already set) | ||
180 | 55 | with the Zope principal label. (This is the same data set in | ||
181 | 56 | the ``wsgi.logging_info`` environment item.) | ||
182 | 57 | |||
183 | 58 | This change allows user info to be used by `paste.translogger | ||
184 | 59 | <http://pythonpaste.org/modules/translogger.html>`_ middleware (or | ||
185 | 60 | any similar middleware that uses ``REMOTE_USER``), which provides | ||
186 | 61 | access logging. | ||
187 | 62 | |||
188 | 39 | 63 | ||
189 | 40 | 3.13.0 (2011-03-15) | 64 | 3.13.0 (2011-03-15) |
190 | 41 | ------------------- | 65 | ------------------- |
191 | 42 | 66 | ||
192 | === modified file 'src/zope.app.wsgi.egg-info/requires.txt' | |||
193 | --- src/zope.app.wsgi.egg-info/requires.txt 2012-01-07 17:54:42 +0000 | |||
194 | +++ src/zope.app.wsgi.egg-info/requires.txt 2012-11-03 20:14:19 +0000 | |||
195 | @@ -14,6 +14,7 @@ | |||
196 | 14 | zope.container | 14 | zope.container |
197 | 15 | zope.error | 15 | zope.error |
198 | 16 | zope.lifecycleevent | 16 | zope.lifecycleevent |
199 | 17 | zope.processlifetime | ||
200 | 17 | zope.session | 18 | zope.session |
201 | 18 | zope.site | 19 | zope.site |
202 | 19 | zope.testbrowser[wsgi] >= 4.0.0 | 20 | zope.testbrowser[wsgi] >= 4.0.0 |
203 | @@ -24,9 +25,9 @@ | |||
204 | 24 | zope.annotation | 25 | zope.annotation |
205 | 25 | zope.authentication | 26 | zope.authentication |
206 | 26 | zope.browserpage | 27 | zope.browserpage |
207 | 27 | zope.componentvocabulary | ||
208 | 28 | zope.location | ||
209 | 29 | zope.login | 28 | zope.login |
210 | 30 | zope.password | 29 | zope.password |
211 | 31 | zope.principalregistry | 30 | zope.principalregistry |
212 | 32 | zope.securitypolicy | ||
213 | 33 | \ No newline at end of file | 31 | \ No newline at end of file |
214 | 32 | zope.securitypolicy | ||
215 | 33 | zope.testing | ||
216 | 34 | zope.traversing | ||
217 | 34 | \ No newline at end of file | 35 | \ No newline at end of file |
218 | 35 | 36 | ||
219 | === modified file 'src/zope/app/wsgi/README.txt' | |||
220 | --- src/zope/app/wsgi/README.txt 2010-12-15 00:51:32 +0000 | |||
221 | +++ src/zope/app/wsgi/README.txt 2012-11-03 20:14:19 +0000 | |||
222 | @@ -104,9 +104,28 @@ | |||
223 | 104 | `ILoggingInfo`. Out-of-the-box, `zope.publisher` registers a base | 104 | `ILoggingInfo`. Out-of-the-box, `zope.publisher` registers a base |
224 | 105 | adapter that returns the principal id as value:: | 105 | adapter that returns the principal id as value:: |
225 | 106 | 106 | ||
229 | 107 | >>> print environ | 107 | >>> from pprint import pprint |
230 | 108 | {'wsgi.input': <cStringIO.StringI object at ...>, | 108 | >>> pprint(environ) |
231 | 109 | 'wsgi.logging_info': 'zope.anybody', 'PATH_INFO': '/'} | 109 | {'PATH_INFO': '/', |
232 | 110 | 'REMOTE_USER': 'zope.anybody', | ||
233 | 111 | 'wsgi.input': <cStringIO.StringI object at ...>, | ||
234 | 112 | 'wsgi.logging_info': 'zope.anybody'} | ||
235 | 113 | |||
236 | 114 | .. edge case | ||
237 | 115 | |||
238 | 116 | If remote user is already set, don't update it: | ||
239 | 117 | |||
240 | 118 | >>> environ = { | ||
241 | 119 | ... 'PATH_INFO': '/', | ||
242 | 120 | ... 'REMOTE_USER': 'someoneelse', | ||
243 | 121 | ... 'wsgi.input': cStringIO.StringIO('')} | ||
244 | 122 | |||
245 | 123 | >>> _ = list(app(environ, start_response)) | ||
246 | 124 | >>> pprint(environ) | ||
247 | 125 | {'PATH_INFO': '/', | ||
248 | 126 | 'REMOTE_USER': 'someoneelse', | ||
249 | 127 | 'wsgi.input': <cStringIO.StringI object at ...>, | ||
250 | 128 | 'wsgi.logging_info': 'zope.anybody'} | ||
251 | 110 | 129 | ||
252 | 111 | 130 | ||
253 | 112 | Creating A WSGI Application | 131 | Creating A WSGI Application |
254 | 113 | 132 | ||
255 | === modified file 'src/zope/app/wsgi/__init__.py' | |||
256 | --- src/zope/app/wsgi/__init__.py 2012-01-07 17:54:42 +0000 | |||
257 | +++ src/zope/app/wsgi/__init__.py 2012-11-03 20:14:19 +0000 | |||
258 | @@ -13,7 +13,7 @@ | |||
259 | 13 | ############################################################################## | 13 | ############################################################################## |
260 | 14 | """A WSGI Application wrapper for zope | 14 | """A WSGI Application wrapper for zope |
261 | 15 | 15 | ||
263 | 16 | $Id: __init__.py 119207 2010-12-28 19:49:21Z menesis $ | 16 | $Id: __init__.py 124018 2012-01-10 23:06:01Z jim $ |
264 | 17 | """ | 17 | """ |
265 | 18 | import os | 18 | import os |
266 | 19 | import sys | 19 | import sys |
267 | @@ -65,6 +65,8 @@ | |||
268 | 65 | else: | 65 | else: |
269 | 66 | message = logging_info.getLogMessage() | 66 | message = logging_info.getLogMessage() |
270 | 67 | environ['wsgi.logging_info'] = message | 67 | environ['wsgi.logging_info'] = message |
271 | 68 | if 'REMOTE_USER' not in environ: | ||
272 | 69 | environ['REMOTE_USER'] = message | ||
273 | 68 | 70 | ||
274 | 69 | # Start the WSGI server response | 71 | # Start the WSGI server response |
275 | 70 | start_response(response.getStatusString(), response.getHeaders()) | 72 | start_response(response.getStatusString(), response.getHeaders()) |
276 | 71 | 73 | ||
277 | === modified file 'src/zope/app/wsgi/paste.py' | |||
278 | --- src/zope/app/wsgi/paste.py 2012-01-07 17:54:42 +0000 | |||
279 | +++ src/zope/app/wsgi/paste.py 2012-11-03 20:14:19 +0000 | |||
280 | @@ -13,9 +13,11 @@ | |||
281 | 13 | ############################################################################## | 13 | ############################################################################## |
282 | 14 | """An application factory for Paste | 14 | """An application factory for Paste |
283 | 15 | 15 | ||
285 | 16 | $Id: paste.py 119207 2010-12-28 19:49:21Z menesis $ | 16 | $Id: paste.py 124089 2012-01-19 15:03:08Z jim $ |
286 | 17 | """ | 17 | """ |
287 | 18 | from zope.app.wsgi import getWSGIApplication | 18 | from zope.app.wsgi import getWSGIApplication |
288 | 19 | import zope.event | ||
289 | 20 | import zope.processlifetime | ||
290 | 19 | 21 | ||
291 | 20 | 22 | ||
292 | 21 | def asbool(obj): | 23 | def asbool(obj): |
293 | @@ -30,4 +32,6 @@ | |||
294 | 30 | 32 | ||
295 | 31 | def ZopeApplication(global_config, config_file, handle_errors=True, **options): | 33 | def ZopeApplication(global_config, config_file, handle_errors=True, **options): |
296 | 32 | handle_errors = asbool(handle_errors) | 34 | handle_errors = asbool(handle_errors) |
298 | 33 | return getWSGIApplication(config_file, handle_errors=handle_errors) | 35 | app = getWSGIApplication(config_file, handle_errors=handle_errors) |
299 | 36 | zope.event.notify(zope.processlifetime.ProcessStarting()) | ||
300 | 37 | return app | ||
301 | 34 | 38 | ||
302 | === modified file 'src/zope/app/wsgi/tests.py' | |||
303 | --- src/zope/app/wsgi/tests.py 2012-01-07 19:35:10 +0000 | |||
304 | +++ src/zope/app/wsgi/tests.py 2012-11-03 20:14:19 +0000 | |||
305 | @@ -26,6 +26,42 @@ | |||
306 | 26 | def cleanEvents(s): | 26 | def cleanEvents(s): |
307 | 27 | zope.event.subscribers.pop() | 27 | zope.event.subscribers.pop() |
308 | 28 | 28 | ||
309 | 29 | def creating_app_w_paste_emits_ProcessStarting_event(): | ||
310 | 30 | """ | ||
311 | 31 | >>> import zope.event | ||
312 | 32 | >>> events = [] | ||
313 | 33 | >>> subscriber = events.append | ||
314 | 34 | >>> zope.event.subscribers.append(subscriber) | ||
315 | 35 | |||
316 | 36 | >>> import os, tempfile | ||
317 | 37 | >>> temp_dir = tempfile.mkdtemp() | ||
318 | 38 | >>> sitezcml = os.path.join(temp_dir, 'site.zcml') | ||
319 | 39 | >>> open(sitezcml, 'w').write('<configure />') | ||
320 | 40 | >>> zopeconf = os.path.join(temp_dir, 'zope.conf') | ||
321 | 41 | >>> open(zopeconf, 'w').write(''' | ||
322 | 42 | ... site-definition %s | ||
323 | 43 | ... | ||
324 | 44 | ... <zodb> | ||
325 | 45 | ... <mappingstorage /> | ||
326 | 46 | ... </zodb> | ||
327 | 47 | ... | ||
328 | 48 | ... <eventlog> | ||
329 | 49 | ... <logfile> | ||
330 | 50 | ... path STDOUT | ||
331 | 51 | ... </logfile> | ||
332 | 52 | ... </eventlog> | ||
333 | 53 | ... ''' % sitezcml) | ||
334 | 54 | |||
335 | 55 | >>> import zope.app.wsgi.paste, zope.processlifetime | ||
336 | 56 | >>> app = zope.app.wsgi.paste.ZopeApplication( | ||
337 | 57 | ... {}, zopeconf, handle_errors=False) | ||
338 | 58 | |||
339 | 59 | >>> len([e for e in events | ||
340 | 60 | ... if isinstance(e, zope.processlifetime.ProcessStarting)]) == 1 | ||
341 | 61 | True | ||
342 | 62 | |||
343 | 63 | >>> zope.event.subscribers.remove(subscriber) | ||
344 | 64 | """ | ||
345 | 29 | 65 | ||
346 | 30 | def test_suite(): | 66 | def test_suite(): |
347 | 31 | 67 | ||
348 | @@ -36,6 +72,8 @@ | |||
349 | 36 | ]) | 72 | ]) |
350 | 37 | filereturns_suite = doctest.DocFileSuite('filereturns.txt') | 73 | filereturns_suite = doctest.DocFileSuite('filereturns.txt') |
351 | 38 | filereturns_suite.layer = BrowserLayer(zope.app.wsgi) | 74 | filereturns_suite.layer = BrowserLayer(zope.app.wsgi) |
352 | 75 | dt_suite = doctest.DocTestSuite() | ||
353 | 76 | dt_suite.layer = BrowserLayer(zope.app.wsgi) | ||
354 | 39 | 77 | ||
355 | 40 | readme_test = doctest.DocFileSuite( | 78 | readme_test = doctest.DocFileSuite( |
356 | 41 | 'README.txt', | 79 | 'README.txt', |
357 | @@ -56,4 +94,6 @@ | |||
358 | 56 | testlayer_suite.layer = SillyMiddleWareBrowserLayer(zope.app.wsgi) | 94 | testlayer_suite.layer = SillyMiddleWareBrowserLayer(zope.app.wsgi) |
359 | 57 | 95 | ||
360 | 58 | return unittest.TestSuite(( | 96 | return unittest.TestSuite(( |
362 | 59 | filereturns_suite, readme_test, doctest_suite, testlayer_suite)) | 97 | filereturns_suite, readme_test, doctest_suite, testlayer_suite, |
363 | 98 | dt_suite, | ||
364 | 99 | )) |
Thanks for the contribution to Ubuntu! I will sponsor this into Raring.