~ubuntu-branches/ubuntu/utopic/python-gevent/utopic-proposed

« back to all changes in this revision

Viewing changes to greentest/test__server.py

  • Committer: Bazaar Package Importer
  • Author(s): Örjan Persson
  • Date: 2011-05-17 16:43:20 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20110517164320-844bxblhlra65dml
Tags: 0.13.6-1
New upstream version (Closes: #601863).

Show diffs side-by-side

added added

removed removed

Lines of Context:
64
64
 
65
65
    __timeout__ = 10
66
66
 
67
 
    def tearDown(self):
68
 
        greentest.TestCase.tearDown(self)
69
 
        if hasattr(self, 'server'):
 
67
    def cleanup(self):
 
68
        if getattr(self, 'server', None) is not None:
70
69
            self.server.stop()
 
70
            self.server = None
71
71
 
72
72
    def get_listener(self):
73
73
        sock = socket.socket()
154
154
        return self.server.socket
155
155
 
156
156
    def _test_invalid_callback(self):
157
 
        self.hook_stderr()
158
 
        self.server = self.ServerClass(('127.0.0.1', 0), lambda : None)
159
 
        self.server.start()
160
 
        self.assert500()
161
 
        self.assert_stderr_traceback('TypeError')
162
 
        self.assert_stderr(self.invalid_callback_message)
 
157
        try:
 
158
            self.hook_stderr()
 
159
            self.server = self.ServerClass(('127.0.0.1', 0), lambda: None)
 
160
            self.server.start()
 
161
            self.assert500()
 
162
            self.assert_stderr_traceback('TypeError')
 
163
            self.assert_stderr(self.invalid_callback_message)
 
164
        finally:
 
165
            self.server.stop()
163
166
 
164
167
    def ServerClass(self, *args, **kwargs):
165
168
        kwargs.setdefault('spawn', self.get_spawn())
189
192
            self.report_netstat('after start_accepting')
190
193
            self.assertRequestSucceeded()
191
194
        else:
192
 
            self.assertRaises(Exception, self.server.start) # XXX which exception exactly?
 
195
            self.assertRaises(Exception, self.server.start)  # XXX which exception exactly?
193
196
        self.stop_server()
194
197
        self.report_netstat('after stop')
195
198
 
202
205
        self.assertConnectionRefused()
203
206
        self._test_server_start_stop(restartable=False)
204
207
 
 
208
    def test_subclass_just_create(self):
 
209
        self.server = self.ServerSubClass(self.get_listener())
 
210
        self.assertNotAccepted()
 
211
 
205
212
    def test_subclass_with_socket(self):
206
213
        self.server = self.ServerSubClass(self.get_listener())
 
214
        # the connection won't be refused, because there exists a listening socket, but it won't be handled also
 
215
        self.assertNotAccepted()
207
216
        self.server.reuse_addr = 1
208
217
        self._test_server_start_stop(restartable=True)
209
218
 
224
233
            assert not self.server.started
225
234
            self.assertConnectionRefused()
226
235
        finally:
227
 
            g.kill(block=True)
 
236
            g.kill()
228
237
 
229
238
    def test_serve_forever(self):
230
239
        self.server = self.ServerSubClass(('127.0.0.1', 0))
303
312
        self.init_server()
304
313
        short_request = self.send_request('/short')
305
314
        long_request = self.send_request('/long')
 
315
        # keep long_request in scope, otherwise the connection will be closed
306
316
        gevent.sleep(0.01)
307
317
        self.assertPoolFull()
308
318
        self.assertPoolFull()
334
344
        self.assert_mainloop_assertion(self.invalid_callback_message)
335
345
 
336
346
 
337
 
 
338
347
class ExpectedError(Exception):
339
348
    pass
340
349
 
363
372
 
364
373
if __name__ == '__main__':
365
374
    greentest.main()
366