test_asgi_application.py (1683:43cbc14c7be9) test_asgi_application.py (1692:d9af486b8a38)
1import re
2import time
3from distutils.version import LooseVersion
4
5import pytest
6
7from conftest import option
8from conftest import skip_alert

--- 392 unchanged lines hidden (view full) ---

401 assert (
402 self.wait_for_record(r'\(5\) Thread: 100') is not None
403 ), 'last thread finished'
404
405 def test_asgi_application_threads(self):
406 self.load('threads')
407
408 assert 'success' in self.conf(
1import re
2import time
3from distutils.version import LooseVersion
4
5import pytest
6
7from conftest import option
8from conftest import skip_alert

--- 392 unchanged lines hidden (view full) ---

401 assert (
402 self.wait_for_record(r'\(5\) Thread: 100') is not None
403 ), 'last thread finished'
404
405 def test_asgi_application_threads(self):
406 self.load('threads')
407
408 assert 'success' in self.conf(
409 '4', 'applications/threads/threads'
410 ), 'configure 4 threads'
409 '2', 'applications/threads/threads'
410 ), 'configure 2 threads'
411
412 socks = []
413
411
412 socks = []
413
414 for i in range(4):
414 for i in range(2):
415 (_, sock) = self.get(
416 headers={
417 'Host': 'localhost',
415 (_, sock) = self.get(
416 headers={
417 'Host': 'localhost',
418 'X-Delay': '2',
418 'X-Delay': '3',
419 'Connection': 'close',
420 },
421 no_recv=True,
422 start=True,
423 )
424
425 socks.append(sock)
426
419 'Connection': 'close',
420 },
421 no_recv=True,
422 start=True,
423 )
424
425 socks.append(sock)
426
427 time.sleep(0.25) # required to avoid greedy request reading
427 time.sleep(1.0) # required to avoid greedy request reading
428
429 threads = set()
430
431 for sock in socks:
432 resp = self.recvall(sock).decode('utf-8')
433
434 self.log_in(resp)
435
436 resp = self._resp_to_dict(resp)
437
438 assert resp['status'] == 200, 'status'
439
440 threads.add(resp['headers']['x-thread'])
441
442 sock.close()
443
444 assert len(socks) == len(threads), 'threads differs'
428
429 threads = set()
430
431 for sock in socks:
432 resp = self.recvall(sock).decode('utf-8')
433
434 self.log_in(resp)
435
436 resp = self._resp_to_dict(resp)
437
438 assert resp['status'] == 200, 'status'
439
440 threads.add(resp['headers']['x-thread'])
441
442 sock.close()
443
444 assert len(socks) == len(threads), 'threads differs'