Project

Profile

Help

Task #364

closed

A platform unit test loads real entry points for installed plugins, which can fail

Added by rbarlow over 9 years ago. Updated about 5 years ago.

Status:
CLOSED - WONTFIX
Priority:
Low
Assignee:
-
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:

Description

If you have the 2.2 branch checked out for Pulp platform, and the master branch checked out for pulp_rpm, running the unit tests on the platform will cause this error:

======================================================================
ERROR: test_init_calls_entry_points (server.test_plugin_api.TestAPI)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/mock.py", line 1224, in patched
return func(*args, **keywargs)
File "/home/rbarlow/devel/pulp/platform/test/unit/server/test_plugin_api.py", line 26, in test_init_calls_entry_points
api.initialize()
File "/home/rbarlow/devel/pulp/platform/test/unit/server/../../../src/pulp/plugins/loader/api.py", line 70, in initialize
loading.load_plugins_from_path(path, base_class, plugin_map)
File "/home/rbarlow/devel/pulp/platform/test/unit/server/../../../src/pulp/plugins/loader/loading.py", line 73, in load_plugins_from_path
plugin_tuples = load_plugins(dir_, base_class, base_class.__name__.lower())
File "/home/rbarlow/devel/pulp/platform/test/unit/server/../../../src/pulp/plugins/loader/loading.py", line 162, in load_plugins
cls_list = load_plugin_classes('.'.join((package_name, module_name)), base_class)
File "/home/rbarlow/devel/pulp/platform/test/unit/server/../../../src/pulp/plugins/loader/loading.py", line 179, in load_plugin_classes
module = import_module(module_name)
File "/home/rbarlow/devel/pulp/platform/test/unit/server/../../../src/pulp/plugins/loader/loading.py", line 231, in import_module
mod = import(name)
File "/usr/lib/pulp/plugins/profilers/rpm_errata_profiler/profiler.py", line 19, in <module>
from pulp.plugins.model import ApplicabilityReport
ImportError: cannot import name ApplicabilityReport

The platform unit tests should not be using the real entry points for its tests, as it can lead to these sorts of issues with broken test isolation. This also raises the question about whether this test will test anything if there are no entry points installed on the system.

+ This bug was cloned from Bugzilla Bug #988845 +

Also available in: Atom PDF