Bug 1716497

Summary: python-eventlet fails to build with Python 3.8
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-eventletAssignee: Miro Hrončok <mhroncok>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: apevec, igor.raits, kevin, shamardin
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/python-eventlet/
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-07-10 13:26:14 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1686977    

Description Miro Hrončok 2019-06-03 14:38:14 UTC
See https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/python-eventlet/ for actual logs. This report is automated and not very verbose, but feel free to ping me for help.

Comment 1 Miro Hrončok 2019-06-04 11:26:29 UTC
======================================================================
FAIL: tests.greendns_test.test_import_rdtypes_then_eventlet
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/builddir/build/BUILD/eventlet-0.25.0/tests/greendns_test.py", line 1005, in test_import_rdtypes_then_eventlet
    tests.run_isolated('greendns_import_rdtypes_then_eventlet.py')
  File "/builddir/build/BUILD/eventlet-0.25.0/tests/__init__.py", line 378, in run_isolated
    run_python(prefix + path, **kwargs)
  File "/builddir/build/BUILD/eventlet-0.25.0/tests/__init__.py", line 371, in run_python
    assert ok, 'Expected single line "pass" in stdout'
AssertionError: Expected single line "pass" in stdout

======================================================================

A lot of failures like this.

Comment 2 Kevin Fenzi 2019-06-16 21:44:47 UTC
huh, why does: 

https://copr-be.cloud.fedoraproject.org/results/@python/python3.8/fedora-rawhide-x86_64/00923043-python-eventlet/

have python-lightblue in it?

Comment 3 Miro Hrončok 2019-06-17 07:14:27 UTC
Copr was drunk? Trying again in https://copr.fedorainfracloud.org/coprs/g/python/python3.8/build/936495/

Comment 4 Miro Hrončok 2019-06-17 09:25:51 UTC
https://copr.fedorainfracloud.org/coprs/g/python/python3.8/build/936534/


======================================================================
FAIL: test_007_get_arg (tests.wsgi_test.TestHttpd)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/eventlet-0.25.0/tests/wsgi_test.py", line 338, in test_007_get_arg
    self.assertEqual(result.body, b'a is a, body is a=a')
AssertionError: b'Traceback (most recent call last):\n  Fil[489 chars]\'\n' != b'a is a, body is a=a'

----------------------------------------------------------------------
Ran 693 tests in 55.541s

FAILED (SKIP=95, failures=1)

Comment 5 Kevin Fenzi 2019-06-29 18:10:33 UTC
Possibly https://github.com/eventlet/eventlet/pull/574 is related?

Comment 6 Miro Hrončok 2019-07-10 13:07:23 UTC
With that PR, I got the same failure:

======================================================================
FAIL: test_007_get_arg (tests.wsgi_test.TestHttpd)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/eventlet-0.25.0/tests/wsgi_test.py", line 338, in test_007_get_arg
    self.assertEqual(result.body, b'a is a, body is a=a')
AssertionError: b'Traceback (most recent call last):\n  Fil[489 chars]\'\n' != b'a is a, body is a=a'

----------------------------------------------------------------------
Ran 694 tests in 56.076s

FAILED (SKIP=95, failures=1)

Will try to print the actual Traceback.

Comment 7 Miro Hrončok 2019-07-10 13:11:00 UTC
This is it:


Traceback (most recent call last):
  File "/builddir/build/BUILD/eventlet-0.25.0/eventlet/wsgi.py", line 566, in handle_one_response
    result = self.application(self.environ, start_response)
  File "/builddir/build/BUILD/eventlet-0.25.0/tests/wsgi_test.py", line 113, in __call__
    return self.application(env, start_response)
  File "/builddir/build/BUILD/eventlet-0.25.0/tests/wsgi_test.py", line 321, in new_app
    a = cgi.parse_qs(body).get('a', [1])[0]
AttributeError: module 'cgi' has no attribute 'parse_qs'



https://docs.python.org/3.7/library/cgi.html#cgi.parse_qs
This function is deprecated in this module. Use urllib.parse.parse_qs() instead. It is maintained here only for backward compatibility.

https://docs.python.org/3.8/whatsnew/3.8.html#api-and-feature-removals
parse_qs, parse_qsl, and escape are removed from cgi module. They are deprecated from Python 3.2 or older.

Comment 8 Miro Hrončok 2019-07-10 13:13:38 UTC
https://github.com/eventlet/eventlet/issues/580

Comment 9 Miro Hrončok 2019-07-10 13:23:00 UTC
Will ad patch from https://github.com/eventlet/eventlet/pull/581