diff options
author | 2014-08-20 07:57:24 +0000 | |
---|---|---|
committer | 2014-08-20 07:57:24 +0000 | |
commit | 49e63560d9b0791e7740498183be03dcce72a3bf (patch) | |
tree | 3ae5ef1aa89888d54bf15b51d2b47c9e130ae649 /dev-python/dugong/files | |
parent | bump; drop py2.6, add IUSE test, test dep, test phase (diff) | |
download | gentoo-2-49e63560d9b0791e7740498183be03dcce72a3bf.tar.gz gentoo-2-49e63560d9b0791e7740498183be03dcce72a3bf.tar.bz2 gentoo-2-49e63560d9b0791e7740498183be03dcce72a3bf.zip |
update patches for test phase
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 0xB8072B0D)
Diffstat (limited to 'dev-python/dugong/files')
-rw-r--r-- | dev-python/dugong/files/3.3-test-timeout.patch | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/dev-python/dugong/files/3.3-test-timeout.patch b/dev-python/dugong/files/3.3-test-timeout.patch new file mode 100644 index 000000000000..afd391207976 --- /dev/null +++ b/dev-python/dugong/files/3.3-test-timeout.patch @@ -0,0 +1,128 @@ +https://bitbucket.org/nikratio/python-dugong/commits/0e9d67700bc8 +diff --git a/test/test_dugong.py b/test/test_dugong.py +--- a/test/test_dugong.py ++++ b/test/test_dugong.py +@@ -99,6 +99,12 @@ + request.addfinalizer(conn.disconnect) + return conn + ++@pytest.fixture() ++def random_fh(request): ++ fh = open('/dev/urandom', 'rb') ++ request.addfinalizer(fh.close) ++ return fh ++ + def check_http_connection(): + '''Skip test if we can't connect to ssl test server''' + +@@ -170,12 +176,12 @@ + conn.get_ssl_cipher() + conn.get_ssl_peercert() + +-def test_blocking_send(conn): ++def test_blocking_send(conn, random_fh): + # Send requests until we block because all TCP buffers are full + +- path = '/send_100_1200-byte_chunks' ++ path = '/send_102400_random_bytes' + for count in itertools.count(): +- crt = conn.co_send_request('GET', path, body=DUMMY_DATA[:8192]) ++ crt = conn.co_send_request('GET', path, body=random_fh.read(8192)) + flag = False + for io_req in crt: + if not io_req.poll(1): +@@ -539,7 +545,7 @@ + conn.read_response() + conn.readall() + +-def test_aborted_write1(conn, monkeypatch): ++def test_aborted_write1(conn, monkeypatch, random_fh): + BUFSIZE = 64*1024 + + # Monkeypatch request handler +@@ -562,14 +568,14 @@ + # Try to write data + with pytest.raises(ConnectionClosed): + for _ in range(50): +- conn.write(b'f' * BUFSIZE) ++ conn.write(random_fh.read(BUFSIZE)) + + # Nevertheless, try to read response + resp = conn.read_response() + assert resp.status == 401 + assert resp.reason == 'Please stop!' + +-def test_aborted_write2(conn, monkeypatch): ++def test_aborted_write2(conn, monkeypatch, random_fh): + BUFSIZE = 64*1024 + + # Monkeypatch request handler +@@ -590,7 +596,7 @@ + # Try to write data + with pytest.raises(ConnectionClosed): + for _ in range(50): +- conn.write(b'f' * BUFSIZE) ++ conn.write(random_fh.read(BUFSIZE)) + + # Nevertheless, try to read response + assert_raises(ConnectionClosed, conn.read_response) +@@ -716,12 +722,13 @@ + assert conn.read(50) == b'x' * 25 + assert_raises(dugong.ConnectionTimedOut, conn.read, 50) + +-def test_send_timeout(conn, monkeypatch): ++def test_send_timeout(conn, monkeypatch, random_fh): + conn.timeout = 1 + + def do_PUT(self): + # Read just a tiny bit + self.rfile.read(256) ++ time.sleep(2*conn.timeout) + monkeypatch.setattr(MockRequestHandler, 'do_PUT', do_PUT) + + # We don't know how much data can be buffered, so we +@@ -730,7 +737,7 @@ + conn.send_request('PUT', '/recv_something', body=BodyFollowing(len_)) + with pytest.raises(dugong.ConnectionTimedOut): + while len_ > 0: +- conn.write(b'x' * min(len_, 16*1024)) ++ conn.write(random_fh.read(min(len_, 16*1024))) + + + DUMMY_DATA = ','.join(str(x) for x in range(10000)).encode() +@@ -743,6 +750,14 @@ + def log_message(self, format, *args): + pass + ++ def setup(self): ++ super().setup() ++ self.random_fh = open('/dev/urandom', 'rb') ++ ++ def finish(self): ++ super().finish() ++ self.random_fh.close() ++ + def handle_expect_100(self): + if self.handle_errors(): + return +@@ -782,14 +797,17 @@ + self.wfile.close() + return + +- hit = re.match(r'^/send_([0-9]+)_bytes', self.path) ++ hit = re.match(r'^/send_([0-9]+)_(random_)?bytes', self.path) + if hit: + len_ = int(hit.group(1)) + self.send_response(200) + self.send_header("Content-Type", 'application/octet-stream') + self.send_header("Content-Length", str(len_)) + self.end_headers() +- self.wfile.write(DUMMY_DATA[:len_]) ++ if hit.group(2): ++ self.wfile.write(self.random_fh.read(len_)) ++ else: ++ self.wfile.write(DUMMY_DATA[:len_]) + return + + hit = re.match(r'^/send_([0-9]+)_([0-9]+)-byte_chunks(?:_delay_([0-9]+)_ms)?', + |