enthought / envisage

Envisage is a Python-based framework for building applications whose functionalities can be extended by adding "plug-ins".
http://docs.enthought.com/envisage/
Other
82 stars 26 forks source link

Tests failing on Python 3.10 #455

Closed fabaff closed 2 years ago

fabaff commented 2 years ago

Some tests are failing on Python 3.10. They are passing on Python 3.9.

============================= test session starts ==============================
platform linux -- Python 3.10.1, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
rootdir: /build/envisage-6.0.1
collected 229 items                                                            

envisage/examples/tests/test__demo.py .                                  [  0%]
envisage/examples/tests/test_etsdemo_info.py .                           [  0%]
envisage/plugins/ipython_kernel/tests/test_internal_ipkernel.py ssssssss [  4%]
ssssssss                                                                 [  7%]
envisage/plugins/ipython_kernel/tests/test_ipython_kernel_plugin.py ssss [  9%]
sss                                                                      [ 10%]
envisage/resource/tests/test_resource_manager.py .......                 [ 13%]
envisage/tests/test_application.py .............                         [ 19%]
envisage/tests/test_composite_plugin_manager.py .......                  [ 22%]
envisage/tests/test_core_plugin.py ......                                [ 25%]
envisage/tests/test_egg_basket_plugin_manager.py FFFFFFFFFF              [ 29%]
envisage/tests/test_egg_plugin_manager.py FFFFF                          [ 31%]
envisage/tests/test_extension_point.py ...........                       [ 36%]
envisage/tests/test_extension_point_binding.py .....                     [ 38%]
envisage/tests/test_extension_point_changed.py ..........                [ 43%]
envisage/tests/test_extension_registry.py ................               [ 50%]
envisage/tests/test_ids.py ..s                                           [ 51%]
envisage/tests/test_import_manager.py ...                                [ 52%]
envisage/tests/test_package_plugin_manager.py ......                     [ 55%]
envisage/tests/test_plugin.py ............                               [ 60%]
envisage/tests/test_plugin_manager.py ........                           [ 64%]
envisage/tests/test_provider_extension_registry.py .................     [ 71%]
envisage/tests/test_safeweakref.py .......                               [ 74%]
envisage/tests/test_service.py ...                                       [ 75%]
envisage/tests/test_service_registry.py ..............                   [ 82%]
envisage/tests/test_slice.py ..............                              [ 88%]
envisage/tests/test_version.py ....                                      [ 89%]
envisage/ui/action/tests/test_action_manager_builder.py ................ [ 96%]
...                                                                      [ 98%]
envisage/ui/tasks/tests/test_tasks_application.py ssss                   [100%]

=================================== FAILURES ===================================
_ EggBasketPluginManagerTestCase.test_find_plugins_in_eggs_on_the_plugin_path __

self = <envisage.tests.test_egg_basket_plugin_manager.EggBasketPluginManagerTestCase testMethod=test_find_plugins_in_eggs_on_the_plugin_path>

    def test_find_plugins_in_eggs_on_the_plugin_path(self):

        plugin_manager = EggBasketPluginManager(plugin_path=[self.eggs_dir])

        ids = [plugin.id for plugin in plugin_manager]
>       self.assertEqual(len(ids), 3)
E       AssertionError: 0 != 3

envisage/tests/test_egg_basket_plugin_manager.py:56: AssertionError
_ EggBasketPluginManagerTestCase.test_ignore_broken_distributions_loads_good_distributions _

self = <envisage.tests.test_egg_basket_plugin_manager.EggBasketPluginManagerTestCase testMethod=test_ignore_broken_distributions_loads_good_distributions>

    def test_ignore_broken_distributions_loads_good_distributions(self):
        data = {"count": 0}

        def on_broken_distribution(dist, exc):
            data["count"] += 1
            data["distribution"] = dist
            data["exc"] = exc

        plugin_manager = EggBasketPluginManager(
            plugin_path=[
                self.eggs_dir,
                self._create_broken_distribution_eggdir("acme.foo*.egg"),
            ],
            on_broken_distribution=on_broken_distribution,
        )

        ids = [plugin.id for plugin in plugin_manager]
>       self.assertEqual(len(ids), 3)
E       AssertionError: 0 != 3

envisage/tests/test_egg_basket_plugin_manager.py:203: AssertionError
_ EggBasketPluginManagerTestCase.test_ignore_broken_distributions_raises_exceptions_by_default _

self = <envisage.tests.test_egg_basket_plugin_manager.EggBasketPluginManagerTestCase testMethod=test_ignore_broken_distributions_raises_exceptions_by_default>

    def test_ignore_broken_distributions_raises_exceptions_by_default(self):
        plugin_manager = EggBasketPluginManager(
            plugin_path=[
                self.bad_eggs_dir,
                self._create_broken_distribution_eggdir("acme.foo*.egg"),
            ],
        )
>       with self.assertRaises(SystemError):
E       AssertionError: SystemError not raised

envisage/tests/test_egg_basket_plugin_manager.py:183: AssertionError
_ EggBasketPluginManagerTestCase.test_ignore_broken_plugins_loads_good_plugins _

self = <envisage.tests.test_egg_basket_plugin_manager.EggBasketPluginManagerTestCase testMethod=test_ignore_broken_plugins_loads_good_plugins>

    def test_ignore_broken_plugins_loads_good_plugins(self):
        data = {"count": 0}

        def on_broken_plugin(ep, exc):
            data["count"] += 1
            data["entry_point"] = ep
            data["exc"] = exc

        plugin_manager = EggBasketPluginManager(
            plugin_path=[self.bad_eggs_dir, self.eggs_dir],
            on_broken_plugin=on_broken_plugin,
        )

        ids = [plugin.id for plugin in plugin_manager]
>       self.assertEqual(len(ids), 3)
E       AssertionError: 0 != 3

envisage/tests/test_egg_basket_plugin_manager.py:166: AssertionError
_ EggBasketPluginManagerTestCase.test_ignore_broken_plugins_raises_exceptions_by_default _

self = <envisage.tests.test_egg_basket_plugin_manager.EggBasketPluginManagerTestCase testMethod=test_ignore_broken_plugins_raises_exceptions_by_default>

    def test_ignore_broken_plugins_raises_exceptions_by_default(self):
        plugin_manager = EggBasketPluginManager(
            plugin_path=[self.bad_eggs_dir, self.eggs_dir],
        )
>       with self.assertRaises(ImportError):
E       AssertionError: ImportError not raised

envisage/tests/test_egg_basket_plugin_manager.py:149: AssertionError
_ EggBasketPluginManagerTestCase.test_ignore_plugins_matching_a_wildcard_in_the_exclude_list _

self = <envisage.tests.test_egg_basket_plugin_manager.EggBasketPluginManagerTestCase testMethod=test_ignore_plugins_matching_a_wildcard_in_the_exclude_list>

    def test_ignore_plugins_matching_a_wildcard_in_the_exclude_list(self):

        # Note that the items in the list use the 'fnmatch' syntax for matching
        # plugins Ids.
        exclude = ["acme.b*"]

        plugin_manager = EggBasketPluginManager(
            plugin_path=[self.eggs_dir], exclude=exclude
        )

        # The Ids of the plugins that we expect the plugin manager to find.
        expected = ["acme.foo"]

        # Make sure the plugin manager found only the required plugins and that
        # it starts and stops them correctly..
>       self._test_start_and_stop(plugin_manager, expected)

envisage/tests/test_egg_basket_plugin_manager.py:127: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
envisage/tests/test_egg_basket_plugin_manager.py:221: in _test_start_and_stop
    self.assertEqual(expected, [plugin.id for plugin in plugin_manager])
E   AssertionError: Lists differ: ['acme.foo'] != []
E   
E   First list contains 1 additional elements.
E   First extra element 0:
E   'acme.foo'
E   
E   - ['acme.foo']
E   + []
_ EggBasketPluginManagerTestCase.test_ignore_plugins_whose_ids_are_in_the_exclude_list _

self = <envisage.tests.test_egg_basket_plugin_manager.EggBasketPluginManagerTestCase testMethod=test_ignore_plugins_whose_ids_are_in_the_exclude_list>

    def test_ignore_plugins_whose_ids_are_in_the_exclude_list(self):

        # Note that the items in the list use the 'fnmatch' syntax for matching
        # plugins Ids.
        exclude = ["acme.foo", "acme.baz"]

        plugin_manager = EggBasketPluginManager(
            plugin_path=[self.eggs_dir], exclude=exclude
        )

        # The Ids of the plugins that we expect the plugin manager to find.
        expected = ["acme.bar"]

        # Make sure the plugin manager found only the required plugins and that
        # it starts and stops them correctly..
>       self._test_start_and_stop(plugin_manager, expected)

envisage/tests/test_egg_basket_plugin_manager.py:110: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
envisage/tests/test_egg_basket_plugin_manager.py:221: in _test_start_and_stop
    self.assertEqual(expected, [plugin.id for plugin in plugin_manager])
E   AssertionError: Lists differ: ['acme.bar'] != []
E   
E   First list contains 1 additional elements.
E   First extra element 0:
E   'acme.bar'
E   
E   - ['acme.bar']
E   + []
_ EggBasketPluginManagerTestCase.test_only_find_plugins_matching_a_wildcard_in_the_include_list _

self = <envisage.tests.test_egg_basket_plugin_manager.EggBasketPluginManagerTestCase testMethod=test_only_find_plugins_matching_a_wildcard_in_the_include_list>

    def test_only_find_plugins_matching_a_wildcard_in_the_include_list(self):

        # Note that the items in the list use the 'fnmatch' syntax for matching
        # plugins Ids.
        include = ["acme.b*"]

        plugin_manager = EggBasketPluginManager(
            plugin_path=[self.eggs_dir], include=include
        )

        # The Ids of the plugins that we expect the plugin manager to find.
        expected = ["acme.bar", "acme.baz"]

        # Make sure the plugin manager found only the required plugins and that
        # it starts and stops them correctly..
>       self._test_start_and_stop(plugin_manager, expected)

envisage/tests/test_egg_basket_plugin_manager.py:93: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
envisage/tests/test_egg_basket_plugin_manager.py:221: in _test_start_and_stop
    self.assertEqual(expected, [plugin.id for plugin in plugin_manager])
E   AssertionError: Lists differ: ['acme.bar', 'acme.baz'] != []
E   
E   First list contains 2 additional elements.
E   First extra element 0:
E   'acme.bar'
E   
E   - ['acme.bar', 'acme.baz']
E   + []
_ EggBasketPluginManagerTestCase.test_only_find_plugins_whose_ids_are_in_the_include_list _

self = <envisage.tests.test_egg_basket_plugin_manager.EggBasketPluginManagerTestCase testMethod=test_only_find_plugins_whose_ids_are_in_the_include_list>

    def test_only_find_plugins_whose_ids_are_in_the_include_list(self):

        # Note that the items in the list use the 'fnmatch' syntax for matching
        # plugins Ids.
        include = ["acme.foo", "acme.bar"]

        plugin_manager = EggBasketPluginManager(
            plugin_path=[self.eggs_dir], include=include
        )

        # The Ids of the plugins that we expect the plugin manager to find.
        expected = ["acme.foo", "acme.bar"]

        # Make sure the plugin manager found only the required plugins and that
        # it starts and stops them correctly..
>       self._test_start_and_stop(plugin_manager, expected)

envisage/tests/test_egg_basket_plugin_manager.py:76: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
envisage/tests/test_egg_basket_plugin_manager.py:221: in _test_start_and_stop
    self.assertEqual(expected, [plugin.id for plugin in plugin_manager])
E   AssertionError: Lists differ: ['acme.foo', 'acme.bar'] != []
E   
E   First list contains 2 additional elements.
E   First extra element 0:
E   'acme.foo'
E   
E   - ['acme.foo', 'acme.bar']
E   + []
____ EggBasketPluginManagerTestCase.test_reflect_changes_to_the_plugin_path ____

self = <envisage.tests.test_egg_basket_plugin_manager.EggBasketPluginManagerTestCase testMethod=test_reflect_changes_to_the_plugin_path>

    def test_reflect_changes_to_the_plugin_path(self):
        plugin_manager = EggBasketPluginManager()
        ids = [plugin.id for plugin in plugin_manager]
        self.assertEqual(len(ids), 0)

        plugin_manager.plugin_path.append(self.eggs_dir)
        ids = [plugin.id for plugin in plugin_manager]
>       self.assertEqual(len(ids), 3)
E       AssertionError: 0 != 3

envisage/tests/test_egg_basket_plugin_manager.py:136: AssertionError
________________ EggPluginManagerTestCase.test_exclude_multiple ________________

self = <envisage.tests.test_egg_plugin_manager.EggPluginManagerTestCase testMethod=test_exclude_multiple>

    def test_exclude_multiple(self):
        """ exclude multiple """

        # Add all of the eggs in the egg basket.
>       self._add_eggs_on_path([self.egg_dir])

envisage/tests/test_egg_plugin_manager.py:115: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <envisage.tests.test_egg_plugin_manager.EggPluginManagerTestCase testMethod=test_exclude_multiple>
path = ['/build/envisage-6.0.1/envisage/tests/eggs']
working_set = <pkg_resources.WorkingSet object at 0x7fffad8693f0>

    def _add_eggs_on_path(self, path, working_set=None):
        """ Add all eggs found on the path to a working set. """

        if working_set is None:
            working_set = pkg_resources.working_set

        environment = pkg_resources.Environment(path)

        # 'find_plugins' identifies those distributions that *could* be added
        # to the working set without version conflicts or missing requirements.
        distributions, errors = working_set.find_plugins(environment)
        # Py2 tests was checking that len(errors) > 0. This did not work on
        # Py3. Test changed to check the len(distributions)
        if len(distributions) == 0:
>           raise SystemError("Cannot find eggs %s" % errors)
E           SystemError: Cannot find eggs {}

envisage/tests/test_egg_based.py:59: SystemError
________________ EggPluginManagerTestCase.test_exclude_specific ________________

self = <envisage.tests.test_egg_plugin_manager.EggPluginManagerTestCase testMethod=test_exclude_specific>

    def test_exclude_specific(self):
        """ exclude specific """

        # Add all of the eggs in the egg basket.
>       self._add_eggs_on_path([self.egg_dir])

envisage/tests/test_egg_plugin_manager.py:91: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <envisage.tests.test_egg_plugin_manager.EggPluginManagerTestCase testMethod=test_exclude_specific>
path = ['/build/envisage-6.0.1/envisage/tests/eggs']
working_set = <pkg_resources.WorkingSet object at 0x7fffad8693f0>

    def _add_eggs_on_path(self, path, working_set=None):
        """ Add all eggs found on the path to a working set. """

        if working_set is None:
            working_set = pkg_resources.working_set

        environment = pkg_resources.Environment(path)

        # 'find_plugins' identifies those distributions that *could* be added
        # to the working set without version conflicts or missing requirements.
        distributions, errors = working_set.find_plugins(environment)
        # Py2 tests was checking that len(errors) > 0. This did not work on
        # Py3. Test changed to check the len(distributions)
        if len(distributions) == 0:
>           raise SystemError("Cannot find eggs %s" % errors)
E           SystemError: Cannot find eggs {}

envisage/tests/test_egg_based.py:59: SystemError
________________ EggPluginManagerTestCase.test_include_multiple ________________

self = <envisage.tests.test_egg_plugin_manager.EggPluginManagerTestCase testMethod=test_include_multiple>

    def test_include_multiple(self):
        """ include multiple """

        # Add all of the eggs in the egg basket.
>       self._add_eggs_on_path([self.egg_dir])

envisage/tests/test_egg_plugin_manager.py:70: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <envisage.tests.test_egg_plugin_manager.EggPluginManagerTestCase testMethod=test_include_multiple>
path = ['/build/envisage-6.0.1/envisage/tests/eggs']
working_set = <pkg_resources.WorkingSet object at 0x7fffad8693f0>

    def _add_eggs_on_path(self, path, working_set=None):
        """ Add all eggs found on the path to a working set. """

        if working_set is None:
            working_set = pkg_resources.working_set

        environment = pkg_resources.Environment(path)

        # 'find_plugins' identifies those distributions that *could* be added
        # to the working set without version conflicts or missing requirements.
        distributions, errors = working_set.find_plugins(environment)
        # Py2 tests was checking that len(errors) > 0. This did not work on
        # Py3. Test changed to check the len(distributions)
        if len(distributions) == 0:
>           raise SystemError("Cannot find eggs %s" % errors)
E           SystemError: Cannot find eggs {}

envisage/tests/test_egg_based.py:59: SystemError
________________ EggPluginManagerTestCase.test_include_specific ________________

self = <envisage.tests.test_egg_plugin_manager.EggPluginManagerTestCase testMethod=test_include_specific>

    def test_include_specific(self):
        """ include specific """
        # Add all of the eggs in the egg basket.
>       self._add_eggs_on_path([self.egg_dir])

envisage/tests/test_egg_plugin_manager.py:49: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <envisage.tests.test_egg_plugin_manager.EggPluginManagerTestCase testMethod=test_include_specific>
path = ['/build/envisage-6.0.1/envisage/tests/eggs']
working_set = <pkg_resources.WorkingSet object at 0x7fffad8693f0>

    def _add_eggs_on_path(self, path, working_set=None):
        """ Add all eggs found on the path to a working set. """

        if working_set is None:
            working_set = pkg_resources.working_set

        environment = pkg_resources.Environment(path)

        # 'find_plugins' identifies those distributions that *could* be added
        # to the working set without version conflicts or missing requirements.
        distributions, errors = working_set.find_plugins(environment)
        # Py2 tests was checking that len(errors) > 0. This did not work on
        # Py3. Test changed to check the len(distributions)
        if len(distributions) == 0:
>           raise SystemError("Cannot find eggs %s" % errors)
E           SystemError: Cannot find eggs {}

envisage/tests/test_egg_based.py:59: SystemError
_____________ EggPluginManagerTestCase.test_no_include_or_exclude ______________

self = <envisage.tests.test_egg_plugin_manager.EggPluginManagerTestCase testMethod=test_no_include_or_exclude>

    def test_no_include_or_exclude(self):
        """ no include or exclude """

        # Add all of the eggs in the egg basket.
>       self._add_eggs_on_path([self.egg_dir])

envisage/tests/test_egg_plugin_manager.py:32: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <envisage.tests.test_egg_plugin_manager.EggPluginManagerTestCase testMethod=test_no_include_or_exclude>
path = ['/build/envisage-6.0.1/envisage/tests/eggs']
working_set = <pkg_resources.WorkingSet object at 0x7fffad8693f0>

    def _add_eggs_on_path(self, path, working_set=None):
        """ Add all eggs found on the path to a working set. """

        if working_set is None:
            working_set = pkg_resources.working_set

        environment = pkg_resources.Environment(path)

        # 'find_plugins' identifies those distributions that *could* be added
        # to the working set without version conflicts or missing requirements.
        distributions, errors = working_set.find_plugins(environment)
        # Py2 tests was checking that len(errors) > 0. This did not work on
        # Py3. Test changed to check the len(distributions)
        if len(distributions) == 0:
>           raise SystemError("Cannot find eggs %s" % errors)
E           SystemError: Cannot find eggs {}

envisage/tests/test_egg_based.py:59: SystemError
=============================== warnings summary ===============================
envisage/tests/test_application.py:44
  /build/envisage-6.0.1/envisage/tests/test_application.py:44: PytestCollectionWarning: cannot collect test class 'TestApplication' because it has a __init__ constructor (from: envisage/tests/test_application.py)
    class TestApplication(Application):

envisage/tests/test_core_plugin.py:27
  /build/envisage-6.0.1/envisage/tests/test_core_plugin.py:27: PytestCollectionWarning: cannot collect test class 'TestApplication' because it has a __init__ constructor (from: envisage/tests/test_core_plugin.py)
    class TestApplication(Application):

envisage/tests/test_extension_point.py:21
  /build/envisage-6.0.1/envisage/tests/test_extension_point.py:21: PytestCollectionWarning: cannot collect test class 'TestBase' because it has a __init__ constructor (from: envisage/tests/test_extension_point.py)
    class TestBase(HasTraits):

envisage/tests/test_application.py:44
  /build/envisage-6.0.1/envisage/tests/test_application.py:44: PytestCollectionWarning: cannot collect test class 'TestApplication' because it has a __init__ constructor (from: envisage/tests/test_extension_point_changed.py)
    class TestApplication(Application):

../../nix/store/rki17rz5nz4ci9ricbl62navl9hha4kp-python3.10-pyface-7.3.0/lib/python3.10/site-packages/pyface/base_toolkit.py:285
  /nix/store/rki17rz5nz4ci9ricbl62navl9hha4kp-python3.10-pyface-7.3.0/lib/python3.10/site-packages/pyface/base_toolkit.py:285: DeprecationWarning: SelectableGroups dict interface is deprecated. Use select.
    plugin for plugin in importlib_metadata.entry_points()[entry_point]

../../nix/store/rki17rz5nz4ci9ricbl62navl9hha4kp-python3.10-pyface-7.3.0/lib/python3.10/site-packages/pyface/base_toolkit.py:216
  /nix/store/rki17rz5nz4ci9ricbl62navl9hha4kp-python3.10-pyface-7.3.0/lib/python3.10/site-packages/pyface/base_toolkit.py:216: DeprecationWarning: SelectableGroups dict interface is deprecated. Use select.
    entry_point_group = importlib_metadata.entry_points()[entry_point]

../../nix/store/1wbc6wsw18x4gzj5ci5rricpfnpsy5p2-python3.10-traitsui-7.2.1/lib/python3.10/site-packages/traitsui/table_column.py:461
  /nix/store/1wbc6wsw18x4gzj5ci5rricpfnpsy5p2-python3.10-traitsui-7.2.1/lib/python3.10/site-packages/traitsui/table_column.py:461: DeprecationWarning: In the future, a default value of type 'dict' in an Any trait will be shared between all instances. To keep the current semantics, replace `Any({})` with `Any(factory=dict)` or `Any({1: 2})` (for example) with `Any(factory=dict, args=({1: 2},))`.
    globals = Any({})

../../nix/store/1wbc6wsw18x4gzj5ci5rricpfnpsy5p2-python3.10-traitsui-7.2.1/lib/python3.10/site-packages/traitsui/tabular_adapter.py:220
  /nix/store/1wbc6wsw18x4gzj5ci5rricpfnpsy5p2-python3.10-traitsui-7.2.1/lib/python3.10/site-packages/traitsui/tabular_adapter.py:220: DeprecationWarning: In the future, a default value of type 'dict' in an Any trait will be shared between all instances. To keep the current semantics, replace `Any({})` with `Any(factory=dict)` or `Any({1: 2})` (for example) with `Any(factory=dict, args=({1: 2},))`.
    cache = Any({})

envisage/tests/test_plugin.py:33
  /build/envisage-6.0.1/envisage/tests/test_plugin.py:33: PytestCollectionWarning: cannot collect test class 'TestApplication' because it has a __init__ constructor (from: envisage/tests/test_plugin.py)
    class TestApplication(Application):

envisage/tests/test_service.py:20
  /build/envisage-6.0.1/envisage/tests/test_service.py:20: PytestCollectionWarning: cannot collect test class 'TestApplication' because it has a __init__ constructor (from: envisage/tests/test_service.py)
    class TestApplication(Application):

-- Docs: https://docs.pytest.org/en/stable/warnings.html
=========================== short test summary info ============================
FAILED envisage/tests/test_egg_basket_plugin_manager.py::EggBasketPluginManagerTestCase::test_find_plugins_in_eggs_on_the_plugin_path
FAILED envisage/tests/test_egg_basket_plugin_manager.py::EggBasketPluginManagerTestCase::test_ignore_broken_distributions_loads_good_distributions
FAILED envisage/tests/test_egg_basket_plugin_manager.py::EggBasketPluginManagerTestCase::test_ignore_broken_distributions_raises_exceptions_by_default
FAILED envisage/tests/test_egg_basket_plugin_manager.py::EggBasketPluginManagerTestCase::test_ignore_broken_plugins_loads_good_plugins
FAILED envisage/tests/test_egg_basket_plugin_manager.py::EggBasketPluginManagerTestCase::test_ignore_broken_plugins_raises_exceptions_by_default
FAILED envisage/tests/test_egg_basket_plugin_manager.py::EggBasketPluginManagerTestCase::test_ignore_plugins_matching_a_wildcard_in_the_exclude_list
FAILED envisage/tests/test_egg_basket_plugin_manager.py::EggBasketPluginManagerTestCase::test_ignore_plugins_whose_ids_are_in_the_exclude_list
FAILED envisage/tests/test_egg_basket_plugin_manager.py::EggBasketPluginManagerTestCase::test_only_find_plugins_matching_a_wildcard_in_the_include_list
FAILED envisage/tests/test_egg_basket_plugin_manager.py::EggBasketPluginManagerTestCase::test_only_find_plugins_whose_ids_are_in_the_include_list
FAILED envisage/tests/test_egg_basket_plugin_manager.py::EggBasketPluginManagerTestCase::test_reflect_changes_to_the_plugin_path
FAILED envisage/tests/test_egg_plugin_manager.py::EggPluginManagerTestCase::test_exclude_multiple
FAILED envisage/tests/test_egg_plugin_manager.py::EggPluginManagerTestCase::test_exclude_specific
FAILED envisage/tests/test_egg_plugin_manager.py::EggPluginManagerTestCase::test_include_multiple
FAILED envisage/tests/test_egg_plugin_manager.py::EggPluginManagerTestCase::test_include_specific
FAILED envisage/tests/test_egg_plugin_manager.py::EggPluginManagerTestCase::test_no_include_or_exclude
=========== 15 failed, 186 passed, 28 skipped, 10 warnings in 1.94s ============
mdickinson commented 2 years ago

Hi @fabaff. Thanks for the report. Did you try running the tests on the Envisage master branch? I believe that this issue is already fixed on master (see #436), in which case the main need here is for an Envisage release.

mdickinson commented 2 years ago

Sorry, "main", not "master".

mdickinson commented 2 years ago

Closing as a duplicate of #396.