+ /usr/bin/python3.5 setup.py test running test ============================= test session starts ============================== platform linux -- Python 3.5.2, pytest-2.8.7, py-1.4.30, pluggy-0.3.1 rootdir: /builddir/build/BUILD/aiohttp-1.3.1, inifile: plugins: raisesregexp-2.0, mock-1.2 collected 1725 items / 1 skipped tests/test_classbasedview.py .... tests/test_client_connection.py ...... tests/test_client_functional.py ..................................................xx...........x..xx............... tests/test_client_functional_oldstyle.py .................... tests/test_client_request.py ........................................................................................................ tests/test_client_response.py ............................. tests/test_client_session.py ................................... tests/test_client_ws.py .................. tests/test_client_ws_functional.py ..................... tests/test_connector.py .x.................................................................. tests/test_cookiejar.py ............................. tests/test_errors.py ... tests/test_flowcontrol_streams.py .................................. tests/test_helpers.py ...................................................... tests/test_http_parser.py ....................................................... tests/test_multipart.py ..................................................................................................................................................................sss.....s............s......................... tests/test_parser_buffer.py ....................... tests/test_protocol.py ............................................... tests/test_proxy.py ................... tests/test_proxy_functional.py ..................... tests/test_pytest_plugin.py . tests/test_resolver.py ssssss....s.sss.. tests/test_run_app.py ...... tests/test_server.py ........................................ tests/test_signals.py ........... tests/test_stream_parser.py .......................... tests/test_stream_protocol.py .... tests/test_stream_writer.py .................. tests/test_streams.py .......................................................................... tests/test_test_utils.py ............................... tests/test_urldispatch.py .......................................................................................................... tests/test_web_application.py ............... tests/test_web_cli.py ......... tests/test_web_exceptions.py ............. tests/test_web_functional.py ......................................................... tests/test_web_middleware.py ............FFFFF..FFFFFF.FFFFFF tests/test_web_request.py ........................................ tests/test_web_request_handler.py .... tests/test_web_response.py .................................................................................................. tests/test_web_sendfile.py ......... tests/test_web_sendfile_functional.py ............................. tests/test_web_server.py ...... tests/test_web_urldispatcher.py ............... tests/test_web_websocket.py ................................................ tests/test_web_websocket_functional.py ........................ tests/test_websocket_handshake.py ......... tests/test_websocket_parser.py ..............................s.s.. tests/test_websocket_writer.py ........ tests/test_wsgi.py ..................... tests/test_py35/test_cbv35.py . tests/test_py35/test_client.py ..... tests/test_py35/test_client_websocket_35.py .... tests/test_py35/test_multipart_35.py .. tests/test_py35/test_resp.py ....... tests/test_py35/test_streams_35.py ....... tests/test_py35/test_test_utils_35.py ......... tests/test_py35/test_web_websocket_35.py .. =================================== FAILURES =================================== _____ TestNormalizePathMiddleware.test_merge_slash[//resource1//a//b-200] ______ self = path = '//resource1//a//b', status = 200 cli = .wrapper at 0x7fecd8b9d400> @asyncio.coroutine @pytest.mark.parametrize("path, status", [ ('/resource1/a/b', 200), ('//resource1//a//b', 200), ('//resource1//a//b/', 404), ('///resource1//a//b', 200), ('/////resource1/a///b', 200), ('/////resource1/a//b/', 404) ]) def test_merge_slash(self, path, status, cli): extra_middlewares = [ web.normalize_path_middleware(append_slash=False)] client = yield from cli(extra_middlewares) resp = yield from client.get(path) > assert resp.status == status E assert 500 == 200 E + where 500 = \n\n.status tests/test_web_middleware.py:164: AssertionError ----------------------------- Captured stderr call ----------------------------- /builddir/build/BUILD/aiohttp-1.3.1/aiohttp/client_reqrep.py:572: DeprecationWarning: Deprecated, use .url_obj ascii_encodable_url = str(self.url) _____ TestNormalizePathMiddleware.test_merge_slash[//resource1//a//b/-404] _____ self = path = '//resource1//a//b/', status = 404 cli = .wrapper at 0x7fecd8b9dae8> @asyncio.coroutine @pytest.mark.parametrize("path, status", [ ('/resource1/a/b', 200), ('//resource1//a//b', 200), ('//resource1//a//b/', 404), ('///resource1//a//b', 200), ('/////resource1/a///b', 200), ('/////resource1/a//b/', 404) ]) def test_merge_slash(self, path, status, cli): extra_middlewares = [ web.normalize_path_middleware(append_slash=False)] client = yield from cli(extra_middlewares) resp = yield from client.get(path) > assert resp.status == status E assert 500 == 404 E + where 500 = \n\n.status tests/test_web_middleware.py:164: AssertionError ----------------------------- Captured stderr call ----------------------------- /builddir/build/BUILD/aiohttp-1.3.1/aiohttp/client_reqrep.py:572: DeprecationWarning: Deprecated, use .url_obj ascii_encodable_url = str(self.url) _____ TestNormalizePathMiddleware.test_merge_slash[///resource1//a//b-200] _____ self = path = '///resource1//a//b', status = 200 cli = .wrapper at 0x7fecd9bb9ae8> @asyncio.coroutine @pytest.mark.parametrize("path, status", [ ('/resource1/a/b', 200), ('//resource1//a//b', 200), ('//resource1//a//b/', 404), ('///resource1//a//b', 200), ('/////resource1/a///b', 200), ('/////resource1/a//b/', 404) ]) def test_merge_slash(self, path, status, cli): extra_middlewares = [ web.normalize_path_middleware(append_slash=False)] client = yield from cli(extra_middlewares) resp = yield from client.get(path) > assert resp.status == status E assert 500 == 200 E + where 500 = \n\n.status tests/test_web_middleware.py:164: AssertionError ----------------------------- Captured stderr call ----------------------------- /builddir/build/BUILD/aiohttp-1.3.1/aiohttp/client_reqrep.py:572: DeprecationWarning: Deprecated, use .url_obj ascii_encodable_url = str(self.url) ____ TestNormalizePathMiddleware.test_merge_slash[/////resource1/a///b-200] ____ self = path = '/////resource1/a///b', status = 200 cli = .wrapper at 0x7fecd8b9d268> @asyncio.coroutine @pytest.mark.parametrize("path, status", [ ('/resource1/a/b', 200), ('//resource1//a//b', 200), ('//resource1//a//b/', 404), ('///resource1//a//b', 200), ('/////resource1/a///b', 200), ('/////resource1/a//b/', 404) ]) def test_merge_slash(self, path, status, cli): extra_middlewares = [ web.normalize_path_middleware(append_slash=False)] client = yield from cli(extra_middlewares) resp = yield from client.get(path) > assert resp.status == status E assert 500 == 200 E + where 500 = \n\n.status tests/test_web_middleware.py:164: AssertionError ----------------------------- Captured stderr call ----------------------------- /builddir/build/BUILD/aiohttp-1.3.1/aiohttp/client_reqrep.py:572: DeprecationWarning: Deprecated, use .url_obj ascii_encodable_url = str(self.url) ____ TestNormalizePathMiddleware.test_merge_slash[/////resource1/a//b/-404] ____ self = path = '/////resource1/a//b/', status = 404 cli = .wrapper at 0x7fecd9bb9ae8> @asyncio.coroutine @pytest.mark.parametrize("path, status", [ ('/resource1/a/b', 200), ('//resource1//a//b', 200), ('//resource1//a//b/', 404), ('///resource1//a//b', 200), ('/////resource1/a///b', 200), ('/////resource1/a//b/', 404) ]) def test_merge_slash(self, path, status, cli): extra_middlewares = [ web.normalize_path_middleware(append_slash=False)] client = yield from cli(extra_middlewares) resp = yield from client.get(path) > assert resp.status == status E assert 500 == 404 E + where 500 = \n\n.status tests/test_web_middleware.py:164: AssertionError ----------------------------- Captured stderr call ----------------------------- /builddir/build/BUILD/aiohttp-1.3.1/aiohttp/client_reqrep.py:572: DeprecationWarning: Deprecated, use .url_obj ascii_encodable_url = str(self.url) TestNormalizePathMiddleware.test_append_and_merge_slash[2//resource2//a//b-200] self = path = '//resource2//a//b', status = 200 cli = .wrapper at 0x7fecd8b9d268> @asyncio.coroutine @pytest.mark.parametrize("path, status", [ ('/resource1/a/b', 200), ('/resource1/a/b/', 404), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource1//a//b', 200), ('///resource1//a//b/', 404), ('/////resource1/a///b', 200), ('/////resource1/a///b/', 404), ('/resource2/a/b', 200), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource2//a//b', 200), ('///resource2//a//b/', 200), ('/////resource2/a///b', 200), ('/////resource2/a///b/', 200) ]) def test_append_and_merge_slash(self, path, status, cli): extra_middlewares = [ web.normalize_path_middleware()] client = yield from cli(extra_middlewares) resp = yield from client.get(path) > assert resp.status == status E assert 500 == 200 E + where 500 = \n\n.status tests/test_web_middleware.py:190: AssertionError ----------------------------- Captured stderr call ----------------------------- /builddir/build/BUILD/aiohttp-1.3.1/aiohttp/client_reqrep.py:572: DeprecationWarning: Deprecated, use .url_obj ascii_encodable_url = str(self.url) TestNormalizePathMiddleware.test_append_and_merge_slash[3//resource2//a//b/-200] self = path = '//resource2//a//b/', status = 200 cli = .wrapper at 0x7fecd9bb9598> @asyncio.coroutine @pytest.mark.parametrize("path, status", [ ('/resource1/a/b', 200), ('/resource1/a/b/', 404), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource1//a//b', 200), ('///resource1//a//b/', 404), ('/////resource1/a///b', 200), ('/////resource1/a///b/', 404), ('/resource2/a/b', 200), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource2//a//b', 200), ('///resource2//a//b/', 200), ('/////resource2/a///b', 200), ('/////resource2/a///b/', 200) ]) def test_append_and_merge_slash(self, path, status, cli): extra_middlewares = [ web.normalize_path_middleware()] client = yield from cli(extra_middlewares) resp = yield from client.get(path) > assert resp.status == status E assert 500 == 200 E + where 500 = \n\n.status tests/test_web_middleware.py:190: AssertionError ----------------------------- Captured stderr call ----------------------------- /builddir/build/BUILD/aiohttp-1.3.1/aiohttp/client_reqrep.py:572: DeprecationWarning: Deprecated, use .url_obj ascii_encodable_url = str(self.url) TestNormalizePathMiddleware.test_append_and_merge_slash[4///resource1//a//b-200] self = path = '///resource1//a//b', status = 200 cli = .wrapper at 0x7fecd8b9da60> @asyncio.coroutine @pytest.mark.parametrize("path, status", [ ('/resource1/a/b', 200), ('/resource1/a/b/', 404), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource1//a//b', 200), ('///resource1//a//b/', 404), ('/////resource1/a///b', 200), ('/////resource1/a///b/', 404), ('/resource2/a/b', 200), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource2//a//b', 200), ('///resource2//a//b/', 200), ('/////resource2/a///b', 200), ('/////resource2/a///b/', 200) ]) def test_append_and_merge_slash(self, path, status, cli): extra_middlewares = [ web.normalize_path_middleware()] client = yield from cli(extra_middlewares) resp = yield from client.get(path) > assert resp.status == status E assert 500 == 200 E + where 500 = \n\n.status tests/test_web_middleware.py:190: AssertionError ----------------------------- Captured stderr call ----------------------------- /builddir/build/BUILD/aiohttp-1.3.1/aiohttp/client_reqrep.py:572: DeprecationWarning: Deprecated, use .url_obj ascii_encodable_url = str(self.url) TestNormalizePathMiddleware.test_append_and_merge_slash[5///resource1//a//b/-404] self = path = '///resource1//a//b/', status = 404 cli = .wrapper at 0x7fecd8b5e7b8> @asyncio.coroutine @pytest.mark.parametrize("path, status", [ ('/resource1/a/b', 200), ('/resource1/a/b/', 404), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource1//a//b', 200), ('///resource1//a//b/', 404), ('/////resource1/a///b', 200), ('/////resource1/a///b/', 404), ('/resource2/a/b', 200), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource2//a//b', 200), ('///resource2//a//b/', 200), ('/////resource2/a///b', 200), ('/////resource2/a///b/', 200) ]) def test_append_and_merge_slash(self, path, status, cli): extra_middlewares = [ web.normalize_path_middleware()] client = yield from cli(extra_middlewares) resp = yield from client.get(path) > assert resp.status == status E assert 500 == 404 E + where 500 = \n\n.status tests/test_web_middleware.py:190: AssertionError ----------------------------- Captured stderr call ----------------------------- /builddir/build/BUILD/aiohttp-1.3.1/aiohttp/client_reqrep.py:572: DeprecationWarning: Deprecated, use .url_obj ascii_encodable_url = str(self.url) TestNormalizePathMiddleware.test_append_and_merge_slash[6/////resource1/a///b-200] self = path = '/////resource1/a///b', status = 200 cli = .wrapper at 0x7fecd8b5ee18> @asyncio.coroutine @pytest.mark.parametrize("path, status", [ ('/resource1/a/b', 200), ('/resource1/a/b/', 404), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource1//a//b', 200), ('///resource1//a//b/', 404), ('/////resource1/a///b', 200), ('/////resource1/a///b/', 404), ('/resource2/a/b', 200), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource2//a//b', 200), ('///resource2//a//b/', 200), ('/////resource2/a///b', 200), ('/////resource2/a///b/', 200) ]) def test_append_and_merge_slash(self, path, status, cli): extra_middlewares = [ web.normalize_path_middleware()] client = yield from cli(extra_middlewares) resp = yield from client.get(path) > assert resp.status == status E assert 500 == 200 E + where 500 = \n\n.status tests/test_web_middleware.py:190: AssertionError ----------------------------- Captured stderr call ----------------------------- /builddir/build/BUILD/aiohttp-1.3.1/aiohttp/client_reqrep.py:572: DeprecationWarning: Deprecated, use .url_obj ascii_encodable_url = str(self.url) TestNormalizePathMiddleware.test_append_and_merge_slash[7/////resource1/a///b/-404] self = path = '/////resource1/a///b/', status = 404 cli = .wrapper at 0x7fecd8b9d598> @asyncio.coroutine @pytest.mark.parametrize("path, status", [ ('/resource1/a/b', 200), ('/resource1/a/b/', 404), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource1//a//b', 200), ('///resource1//a//b/', 404), ('/////resource1/a///b', 200), ('/////resource1/a///b/', 404), ('/resource2/a/b', 200), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource2//a//b', 200), ('///resource2//a//b/', 200), ('/////resource2/a///b', 200), ('/////resource2/a///b/', 200) ]) def test_append_and_merge_slash(self, path, status, cli): extra_middlewares = [ web.normalize_path_middleware()] client = yield from cli(extra_middlewares) resp = yield from client.get(path) > assert resp.status == status E assert 500 == 404 E + where 500 = \n\n.status tests/test_web_middleware.py:190: AssertionError ----------------------------- Captured stderr call ----------------------------- /builddir/build/BUILD/aiohttp-1.3.1/aiohttp/client_reqrep.py:572: DeprecationWarning: Deprecated, use .url_obj ascii_encodable_url = str(self.url) TestNormalizePathMiddleware.test_append_and_merge_slash[9//resource2//a//b-200] self = path = '//resource2//a//b', status = 200 cli = .wrapper at 0x7fecd8b5ce18> @asyncio.coroutine @pytest.mark.parametrize("path, status", [ ('/resource1/a/b', 200), ('/resource1/a/b/', 404), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource1//a//b', 200), ('///resource1//a//b/', 404), ('/////resource1/a///b', 200), ('/////resource1/a///b/', 404), ('/resource2/a/b', 200), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource2//a//b', 200), ('///resource2//a//b/', 200), ('/////resource2/a///b', 200), ('/////resource2/a///b/', 200) ]) def test_append_and_merge_slash(self, path, status, cli): extra_middlewares = [ web.normalize_path_middleware()] client = yield from cli(extra_middlewares) resp = yield from client.get(path) > assert resp.status == status E assert 500 == 200 E + where 500 = \n\n.status tests/test_web_middleware.py:190: AssertionError ----------------------------- Captured stderr call ----------------------------- /builddir/build/BUILD/aiohttp-1.3.1/aiohttp/client_reqrep.py:572: DeprecationWarning: Deprecated, use .url_obj ascii_encodable_url = str(self.url) TestNormalizePathMiddleware.test_append_and_merge_slash[10//resource2//a//b/-200] self = path = '//resource2//a//b/', status = 200 cli = .wrapper at 0x7fecd8b5e048> @asyncio.coroutine @pytest.mark.parametrize("path, status", [ ('/resource1/a/b', 200), ('/resource1/a/b/', 404), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource1//a//b', 200), ('///resource1//a//b/', 404), ('/////resource1/a///b', 200), ('/////resource1/a///b/', 404), ('/resource2/a/b', 200), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource2//a//b', 200), ('///resource2//a//b/', 200), ('/////resource2/a///b', 200), ('/////resource2/a///b/', 200) ]) def test_append_and_merge_slash(self, path, status, cli): extra_middlewares = [ web.normalize_path_middleware()] client = yield from cli(extra_middlewares) resp = yield from client.get(path) > assert resp.status == status E assert 500 == 200 E + where 500 = \n\n.status tests/test_web_middleware.py:190: AssertionError ----------------------------- Captured stderr call ----------------------------- /builddir/build/BUILD/aiohttp-1.3.1/aiohttp/client_reqrep.py:572: DeprecationWarning: Deprecated, use .url_obj ascii_encodable_url = str(self.url) TestNormalizePathMiddleware.test_append_and_merge_slash[11///resource2//a//b-200] self = path = '///resource2//a//b', status = 200 cli = .wrapper at 0x7fecd8af6840> @asyncio.coroutine @pytest.mark.parametrize("path, status", [ ('/resource1/a/b', 200), ('/resource1/a/b/', 404), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource1//a//b', 200), ('///resource1//a//b/', 404), ('/////resource1/a///b', 200), ('/////resource1/a///b/', 404), ('/resource2/a/b', 200), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource2//a//b', 200), ('///resource2//a//b/', 200), ('/////resource2/a///b', 200), ('/////resource2/a///b/', 200) ]) def test_append_and_merge_slash(self, path, status, cli): extra_middlewares = [ web.normalize_path_middleware()] client = yield from cli(extra_middlewares) resp = yield from client.get(path) > assert resp.status == status E assert 500 == 200 E + where 500 = \n\n.status tests/test_web_middleware.py:190: AssertionError ----------------------------- Captured stderr call ----------------------------- /builddir/build/BUILD/aiohttp-1.3.1/aiohttp/client_reqrep.py:572: DeprecationWarning: Deprecated, use .url_obj ascii_encodable_url = str(self.url) TestNormalizePathMiddleware.test_append_and_merge_slash[12///resource2//a//b/-200] self = path = '///resource2//a//b/', status = 200 cli = .wrapper at 0x7fecd8af6ea0> @asyncio.coroutine @pytest.mark.parametrize("path, status", [ ('/resource1/a/b', 200), ('/resource1/a/b/', 404), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource1//a//b', 200), ('///resource1//a//b/', 404), ('/////resource1/a///b', 200), ('/////resource1/a///b/', 404), ('/resource2/a/b', 200), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource2//a//b', 200), ('///resource2//a//b/', 200), ('/////resource2/a///b', 200), ('/////resource2/a///b/', 200) ]) def test_append_and_merge_slash(self, path, status, cli): extra_middlewares = [ web.normalize_path_middleware()] client = yield from cli(extra_middlewares) resp = yield from client.get(path) > assert resp.status == status E assert 500 == 200 E + where 500 = \n\n.status tests/test_web_middleware.py:190: AssertionError ----------------------------- Captured stderr call ----------------------------- /builddir/build/BUILD/aiohttp-1.3.1/aiohttp/client_reqrep.py:572: DeprecationWarning: Deprecated, use .url_obj ascii_encodable_url = str(self.url) TestNormalizePathMiddleware.test_append_and_merge_slash[13/////resource2/a///b-200] self = path = '/////resource2/a///b', status = 200 cli = .wrapper at 0x7fecd8b9d598> @asyncio.coroutine @pytest.mark.parametrize("path, status", [ ('/resource1/a/b', 200), ('/resource1/a/b/', 404), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource1//a//b', 200), ('///resource1//a//b/', 404), ('/////resource1/a///b', 200), ('/////resource1/a///b/', 404), ('/resource2/a/b', 200), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource2//a//b', 200), ('///resource2//a//b/', 200), ('/////resource2/a///b', 200), ('/////resource2/a///b/', 200) ]) def test_append_and_merge_slash(self, path, status, cli): extra_middlewares = [ web.normalize_path_middleware()] client = yield from cli(extra_middlewares) resp = yield from client.get(path) > assert resp.status == status E assert 500 == 200 E + where 500 = \n\n.status tests/test_web_middleware.py:190: AssertionError ----------------------------- Captured stderr call ----------------------------- /builddir/build/BUILD/aiohttp-1.3.1/aiohttp/client_reqrep.py:572: DeprecationWarning: Deprecated, use .url_obj ascii_encodable_url = str(self.url) TestNormalizePathMiddleware.test_append_and_merge_slash[14/////resource2/a///b/-200] self = path = '/////resource2/a///b/', status = 200 cli = .wrapper at 0x7fecd8b06bf8> @asyncio.coroutine @pytest.mark.parametrize("path, status", [ ('/resource1/a/b', 200), ('/resource1/a/b/', 404), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource1//a//b', 200), ('///resource1//a//b/', 404), ('/////resource1/a///b', 200), ('/////resource1/a///b/', 404), ('/resource2/a/b', 200), ('//resource2//a//b', 200), ('//resource2//a//b/', 200), ('///resource2//a//b', 200), ('///resource2//a//b/', 200), ('/////resource2/a///b', 200), ('/////resource2/a///b/', 200) ]) def test_append_and_merge_slash(self, path, status, cli): extra_middlewares = [ web.normalize_path_middleware()] client = yield from cli(extra_middlewares) resp = yield from client.get(path) > assert resp.status == status E assert 500 == 200 E + where 500 = \n\n.status tests/test_web_middleware.py:190: AssertionError ----------------------------- Captured stderr call ----------------------------- /builddir/build/BUILD/aiohttp-1.3.1/aiohttp/client_reqrep.py:572: DeprecationWarning: Deprecated, use .url_obj ascii_encodable_url = str(self.url) ======== 17 failed, 1685 passed, 18 skipped, 6 xfailed in 75.69 seconds ========