293
293
self.assertEqual(output, "done\n", output)
296
class Threading(ProcessBase):
297
def test_orig_thread(self):
298
new_mod = """import eventlet
299
eventlet.monkey_patch()
300
from eventlet import patcher
302
_threading = patcher.original('threading')
304
print repr(threading.current_thread())
305
t = _threading.Thread(target=test)
308
print len(threading._active)
309
print len(_threading._active)
311
self.write_to_tempfile("newmod", new_mod)
312
output, lines = self.launch_subprocess('newmod')
313
self.assertEqual(len(lines), 4, "\n".join(lines))
314
self.assert_(lines[0].startswith('<Thread'), lines[0])
315
self.assertEqual(lines[1], "1", lines[1])
316
self.assertEqual(lines[2], "1", lines[2])
318
def test_threading(self):
319
new_mod = """import eventlet
320
eventlet.monkey_patch()
323
print repr(threading.current_thread())
324
t = threading.Thread(target=test)
327
print len(threading._active)
329
self.write_to_tempfile("newmod", new_mod)
330
output, lines = self.launch_subprocess('newmod')
331
self.assertEqual(len(lines), 3, "\n".join(lines))
332
self.assert_(lines[0].startswith('<_MainThread'), lines[0])
333
self.assertEqual(lines[1], "1", lines[1])
335
def test_tpool(self):
336
new_mod = """import eventlet
337
eventlet.monkey_patch()
338
from eventlet import tpool
341
print repr(threading.current_thread())
343
print len(threading._active)
345
self.write_to_tempfile("newmod", new_mod)
346
output, lines = self.launch_subprocess('newmod')
347
self.assertEqual(len(lines), 3, "\n".join(lines))
348
self.assert_(lines[0].startswith('<Thread'), lines[0])
349
self.assertEqual(lines[1], "1", lines[1])
351
def test_greenlet(self):
352
new_mod = """import eventlet
353
eventlet.monkey_patch()
354
from eventlet import event
358
print repr(threading.current_thread())
360
eventlet.spawn_n(test)
362
print len(threading._active)
364
self.write_to_tempfile("newmod", new_mod)
365
output, lines = self.launch_subprocess('newmod')
366
self.assertEqual(len(lines), 3, "\n".join(lines))
367
self.assert_(lines[0].startswith('<_MainThread'), lines[0])
368
self.assertEqual(lines[1], "1", lines[1])
370
def test_greenthread(self):
371
new_mod = """import eventlet
372
eventlet.monkey_patch()
375
print repr(threading.current_thread())
376
t = eventlet.spawn(test)
378
print len(threading._active)
380
self.write_to_tempfile("newmod", new_mod)
381
output, lines = self.launch_subprocess('newmod')
382
self.assertEqual(len(lines), 3, "\n".join(lines))
383
self.assert_(lines[0].startswith('<_GreenThread'), lines[0])
384
self.assertEqual(lines[1], "1", lines[1])
296
386
if __name__ == '__main__':