Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Two tests failed: TestGetter.test_method_signatures and TestGetter.test_get_config_filtered[normal] #19

Open
mcepl opened this issue Sep 13, 2021 · 0 comments

Comments

@mcepl
Copy link

mcepl commented Sep 13, 2021

When packaging napalm-procurve 0.7.0 for openSUSE/Factory two tests fail:

[   45s] =================================== FAILURES ===================================
[   45s] ______________________ TestGetter.test_method_signatures _______________________
[   45s]
[   45s] self = <test_getters.TestGetter object at 0x7fcfc5123cf8>
[   45s]
[   45s]     def test_method_signatures(self):
[   45s]         """Test that all methods have the same signature."""
[   45s]         errors = {}
[   45s]         cls = self.driver
[   45s]         # Create fictional driver instance (py3 needs bound methods)
[   45s]         tmp_obj = cls(hostname="test", username="admin", password="pwd")
[   45s]         attrs = [m for m, v in inspect.getmembers(tmp_obj)]
[   45s]         for attr in attrs:
[   45s]             func = getattr(tmp_obj, attr)
[   45s]             if attr.startswith("_") or not inspect.ismethod(func):
[   45s]                 continue
[   45s]             try:
[   45s]                 orig = getattr(NetworkDriver, attr)
[   45s]                 orig_spec = inspect.getfullargspec(orig)
[   45s]             except AttributeError:
[   45s]                 orig_spec = "Method does not exist in napalm.base"
[   45s]             func_spec = inspect.getfullargspec(func)
[   45s]             if orig_spec != func_spec:
[   45s]                 errors[attr] = (orig_spec, func_spec)
[   45s]
[   45s]         EXTRA_METHODS = ["__init__"]
[   45s]         for method in EXTRA_METHODS:
[   45s]             orig_spec = inspect.getfullargspec(getattr(NetworkDriver, method))
[   45s]             func_spec = inspect.getfullargspec(getattr(cls, method))
[   45s]             if orig_spec != func_spec:
[   45s]                 errors[attr] = (orig_spec, func_spec)
[   45s]
[   45s] >       assert not errors, "Some methods vary. \n{}".format(errors.keys())
[   45s] E       AssertionError: Some methods vary.
[   45s] E       dict_keys(['ping'])
[   45s]
[   45s] /usr/lib/python3.6/site-packages/napalm/base/test/getters.py:138: AssertionError
[   45s] _________________ TestGetter.test_get_config_filtered[normal] __________________
[   45s]
[   45s] self = <test_getters.TestGetter object at 0x7fcfc50a5e48>, test_case = 'normal'
[   45s]
[   45s]     @wrap_test_cases
[   45s]     def test_get_config_filtered(self, test_case):
[   45s]         """Test get_config method."""
[   45s] >       if self.device.platform == "iosxr_netconf":
[   45s] E       AttributeError: 'PatchedProcurveDriver' object has no attribute 'platform'
[   45s]
[   45s] /usr/lib/python3.6/site-packages/napalm/base/test/getters.py:515: AttributeError
[   45s] =============================== warnings summary ===============================
[   45s] ../../../../../usr/lib/python3.6/site-packages/_pytest/config/__init__.py:1233
[   45s]   /usr/lib/python3.6/site-packages/_pytest/config/__init__.py:1233: PytestConfigWarning: Unknown config option: json_report
[   45s]
[   45s]     self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")
[   45s]
[   45s] ../../../../../usr/lib/python3.6/site-packages/_pytest/config/__init__.py:1233
[   45s]   /usr/lib/python3.6/site-packages/_pytest/config/__init__.py:1233: PytestConfigWarning: Unknown config option: jsonapi
[   45s]
[   45s]     self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")
[   45s]
[   45s] -- Docs: https://docs.pytest.org/en/stable/warnings.html
[   45s]
[   45s] ---------- coverage: platform linux, python 3.6.14-final-0 -----------
[   45s] Name                                Stmts   Miss  Cover   Missing
[   45s] -----------------------------------------------------------------
[   45s] napalm_procurve/__init__.py             3      3     0%   15-18
[   45s] napalm_procurve/procurve.py           444    444     0%   14-858
[   45s] napalm_procurve/utils/__init__.py       0      0   100%
[   45s] -----------------------------------------------------------------
[   45s] TOTAL                                 447    447     0%
[   45s]
[   45s] =========================== short test summary info ============================
[   45s] FAILED test/unit/test_getters.py::TestGetter::test_method_signatures - Assert...
[   45s] FAILED test/unit/test_getters.py::TestGetter::test_get_config_filtered[normal]
[   45s] ============= 2 failed, 28 passed, 19 skipped, 2 warnings in 1.33s =============
[   45s] Coverage.py warning: No data was collected. (no-data-collected)

Complete build log with all versions of packages used and all steps taken.

bmwiedemann pushed a commit to bmwiedemann/openSUSE that referenced this issue Sep 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant