Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1746848

Summary: python-envisage fails to build with Python 3.8 on Fedora 32+
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-envisageAssignee: Orion Poplawski <orion>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: orion
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-envisage-4.8.0-1.fc32 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-10-09 03:15:26 UTC Type: Bug
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: 1757659    
Bug Blocks: 1750908, 1750909, 1686977    

Description Miro Hrončok 2019-08-29 11:42:46 UTC
python-envisage fails to build with Python 3.8.0b3 in Fedora 32.

See the build failures at https://koji.fedoraproject.org/koji/search?match=glob&type=package&terms=python-envisage

======================================================================
ERROR: exclude multiple
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_plugin_manager_test_case.py", line 116, in test_exclude_multiple
    self._add_eggs_on_path([self.egg_dir])
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_based_test_case.py", line 67, in _add_eggs_on_path
    raise SystemError('Cannot find eggs %s' % errors)
SystemError: Cannot find eggs {}
======================================================================
ERROR: exclude specific
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_plugin_manager_test_case.py", line 90, in test_exclude_specific
    self._add_eggs_on_path([self.egg_dir])
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_based_test_case.py", line 67, in _add_eggs_on_path
    raise SystemError('Cannot find eggs %s' % errors)
SystemError: Cannot find eggs {}
======================================================================
ERROR: include multiple
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_plugin_manager_test_case.py", line 67, in test_include_multiple
    self._add_eggs_on_path([self.egg_dir])
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_based_test_case.py", line 67, in _add_eggs_on_path
    raise SystemError('Cannot find eggs %s' % errors)
SystemError: Cannot find eggs {}
======================================================================
ERROR: include specific
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_plugin_manager_test_case.py", line 44, in test_include_specific
    self._add_eggs_on_path([self.egg_dir])
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_based_test_case.py", line 67, in _add_eggs_on_path
    raise SystemError('Cannot find eggs %s' % errors)
SystemError: Cannot find eggs {}
======================================================================
ERROR: no include or exclude
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_plugin_manager_test_case.py", line 25, in test_no_include_or_exclude
    self._add_eggs_on_path([self.egg_dir])
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_based_test_case.py", line 67, in _add_eggs_on_path
    raise SystemError('Cannot find eggs %s' % errors)
SystemError: Cannot find eggs {}
======================================================================
FAIL: test_find_plugins_in_eggs_on_the_plugin_path (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_basket_plugin_manager_test_case.py", line 55, in test_find_plugins_in_eggs_on_the_plugin_path
    self.assertEqual(len(ids), 3)
AssertionError: 0 != 3
-------------------- >> begin captured logging << --------------------
envisage.egg_basket_plugin_manager: DEBUG: egg basket plugin manager found plugins <[]>
--------------------- >> end captured logging << ---------------------
======================================================================
FAIL: test_ignore_broken_distributions_loads_good_distributions (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_basket_plugin_manager_test_case.py", line 217, in test_ignore_broken_distributions_loads_good_distributions
    self.assertEqual(len(ids), 3)
AssertionError: 0 != 3
-------------------- >> begin captured logging << --------------------
envisage.egg_basket_plugin_manager: DEBUG: egg basket plugin manager found plugins <[]>
--------------------- >> end captured logging << ---------------------
======================================================================
FAIL: test_ignore_broken_distributions_raises_exceptions_by_default (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_basket_plugin_manager_test_case.py", line 199, in test_ignore_broken_distributions_raises_exceptions_by_default
    self.assertRaises(SystemError, iter, plugin_manager)
AssertionError: SystemError not raised by iter
-------------------- >> begin captured stdout << ---------------------
Removed /builddir/build/BUILD/envisage-4.7.2/envisage/tests/bad_eggs
--------------------- >> end captured stdout << ----------------------
-------------------- >> begin captured logging << --------------------
envisage.egg_basket_plugin_manager: DEBUG: egg basket plugin manager found plugins <[]>
--------------------- >> end captured logging << ---------------------
======================================================================
FAIL: test_ignore_broken_plugins_loads_good_plugins (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_basket_plugin_manager_test_case.py", line 182, in test_ignore_broken_plugins_loads_good_plugins
    self.assertEqual(len(ids), 3)
AssertionError: 0 != 3
-------------------- >> begin captured stdout << ---------------------
Removed /builddir/build/BUILD/envisage-4.7.2/envisage/tests/bad_eggs
--------------------- >> end captured stdout << ----------------------
-------------------- >> begin captured logging << --------------------
envisage.egg_basket_plugin_manager: DEBUG: egg basket plugin manager found plugins <[]>
--------------------- >> end captured logging << ---------------------
======================================================================
FAIL: test_ignore_broken_plugins_raises_exceptions_by_default (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_basket_plugin_manager_test_case.py", line 164, in test_ignore_broken_plugins_raises_exceptions_by_default
    self.assertRaises(ImportError, list, plugin_manager)
AssertionError: ImportError not raised by list
-------------------- >> begin captured stdout << ---------------------
Removed /builddir/build/BUILD/envisage-4.7.2/envisage/tests/bad_eggs
--------------------- >> end captured stdout << ----------------------
-------------------- >> begin captured logging << --------------------
envisage.egg_basket_plugin_manager: DEBUG: egg basket plugin manager found plugins <[]>
--------------------- >> end captured logging << ---------------------
======================================================================
FAIL: test_ignore_plugins_matching_a_wildcard_in_the_exclude_list (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_basket_plugin_manager_test_case.py", line 138, in test_ignore_plugins_matching_a_wildcard_in_the_exclude_list
    self._test_start_and_stop(plugin_manager, expected)
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_basket_plugin_manager_test_case.py", line 237, in _test_start_and_stop
    self.assertEqual(expected, [plugin.id for plugin in plugin_manager])
AssertionError: Lists differ: ['acme.foo'] != []
First list contains 1 additional elements.
First extra element 0:
'acme.foo'
- ['acme.foo']
+ []
-------------------- >> begin captured logging << --------------------
envisage.egg_basket_plugin_manager: DEBUG: egg basket plugin manager found plugins <[]>
--------------------- >> end captured logging << ---------------------
======================================================================
FAIL: test_ignore_plugins_whose_ids_are_in_the_exclude_list (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_basket_plugin_manager_test_case.py", line 118, in test_ignore_plugins_whose_ids_are_in_the_exclude_list
    self._test_start_and_stop(plugin_manager, expected)
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_basket_plugin_manager_test_case.py", line 237, in _test_start_and_stop
    self.assertEqual(expected, [plugin.id for plugin in plugin_manager])
AssertionError: Lists differ: ['acme.bar'] != []
First list contains 1 additional elements.
First extra element 0:
'acme.bar'
- ['acme.bar']
+ []
-------------------- >> begin captured logging << --------------------
envisage.egg_basket_plugin_manager: DEBUG: egg basket plugin manager found plugins <[]>
--------------------- >> end captured logging << ---------------------
======================================================================
FAIL: test_only_find_plugins_matching_a_wildcard_in_the_include_list (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_basket_plugin_manager_test_case.py", line 98, in test_only_find_plugins_matching_a_wildcard_in_the_include_list
    self._test_start_and_stop(plugin_manager, expected)
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_basket_plugin_manager_test_case.py", line 237, in _test_start_and_stop
    self.assertEqual(expected, [plugin.id for plugin in plugin_manager])
AssertionError: Lists differ: ['acme.bar', 'acme.baz'] != []
First list contains 2 additional elements.
First extra element 0:
'acme.bar'
- ['acme.bar', 'acme.baz']
+ []
-------------------- >> begin captured logging << --------------------
envisage.egg_basket_plugin_manager: DEBUG: egg basket plugin manager found plugins <[]>
--------------------- >> end captured logging << ---------------------
======================================================================
FAIL: test_only_find_plugins_whose_ids_are_in_the_include_list (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_basket_plugin_manager_test_case.py", line 78, in test_only_find_plugins_whose_ids_are_in_the_include_list
    self._test_start_and_stop(plugin_manager, expected)
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_basket_plugin_manager_test_case.py", line 237, in _test_start_and_stop
    self.assertEqual(expected, [plugin.id for plugin in plugin_manager])
AssertionError: Lists differ: ['acme.foo', 'acme.bar'] != []
First list contains 2 additional elements.
First extra element 0:
'acme.foo'
- ['acme.foo', 'acme.bar']
+ []
-------------------- >> begin captured logging << --------------------
envisage.egg_basket_plugin_manager: DEBUG: egg basket plugin manager found plugins <[]>
--------------------- >> end captured logging << ---------------------
======================================================================
FAIL: test_reflect_changes_to_the_plugin_path (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/envisage-4.7.2/envisage/tests/egg_basket_plugin_manager_test_case.py", line 149, in test_reflect_changes_to_the_plugin_path
    self.assertEqual(len(ids), 3)
AssertionError: 0 != 3
-------------------- >> begin captured logging << --------------------
envisage.egg_basket_plugin_manager: DEBUG: egg basket plugin manager found plugins <[]>
envisage.egg_basket_plugin_manager: DEBUG: egg basket plugin manager found plugins <[]>
--------------------- >> end captured logging << ---------------------
----------------------------------------------------------------------
Ran 201 tests in 4.007s
FAILED (errors=5, failures=10)

It is not important whether the problem is relevant to Python 3.8, this issue is blocking the Python 3.8 rebuilds.
If this package won't build with 3.8, it won't be installable, along with all its dependent packages, in Fedora 32 and further.

Furthermore, as it fails to install, its dependent packages will fail to install and/or build as well.

Please rebuild the package in Fedora 32 (rawhide).

Let us know here if you have any questions. Thank You!