Python 3.11.0a2 fixes
The error was:
+ /usr/bin/python3 selftest.py
Traceback (most recent call last):
File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/plugins/manager.py", line 250, in __getattr__
return self._proxies[call]
~~~~~~~~~~~~~^^^^^^
KeyError: 'loadTestsFromModule'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/builddir/build/BUILD/nose-1.3.7/selftest.py", line 60, in <module>
nose.run_exit()
^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/core.py", line 118, in __init__
unittest.TestProgram.__init__(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/unittest/main.py", line 101, in __init__
self.runTests()
^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/core.py", line 207, in runTests
result = self.testRunner.run(self.test)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/core.py", line 62, in run
test(result)
^^^^^^^^^^^^
File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/suite.py", line 177, in __call__
return self.run(*arg, **kw)
^^^^^^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/suite.py", line 224, in run
test(orig)
^^^^^^^^^^
File "/usr/lib64/python3.11/unittest/suite.py", line 84, in __call__
return self.run(*args, **kwds)
^^^^^^^^^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/suite.py", line 72, in run
for test in self._tests:
^^^^^^^^^^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/suite.py", line 99, in _get_tests
for test in self.test_generator:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/loader.py", line 190, in loadTestsFromDir
yield self.loadTestsFromName(
^^^^^^^^^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/loader.py", line 430, in loadTestsFromName
return self.loadTestsFromModule(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/loader.py", line 353, in loadTestsFromModule
tests.extend(self.loadTestsFromDir(module_path))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/loader.py", line 182, in loadTestsFromDir
yield self.loadTestsFromName(
^^^^^^^^^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/loader.py", line 430, in loadTestsFromName
return self.loadTestsFromModule(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/loader.py", line 355, in loadTestsFromModule
for test in self.config.plugins.loadTestsFromModule(module, path):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/plugins/manager.py", line 252, in __getattr__
proxy = self.proxyClass(call, self._plugins)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/plugins/manager.py", line 96, in __init__
self.addPlugin(p, call)
^^^^^^^^^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/nose-1.3.7/build/tests/nose/plugins/manager.py", line 108, in addPlugin
len(inspect.getargspec(meth)[0]) == 2:
^^^^^^^^^^^^^^^^^^
AttributeError: module 'inspect' has no attribute 'getargspec'
This commit is contained in:
parent
e2daecb7e0
commit
a02b950028
@ -48,3 +48,40 @@ index 2a9f69b..560b9c2 100644
|
|||||||
else:
|
else:
|
||||||
# this is a dumb test for 2.4-
|
# this is a dumb test for 2.4-
|
||||||
assert '<?xml version="1.0" encoding="UTF-8"?>' in result
|
assert '<?xml version="1.0" encoding="UTF-8"?>' in result
|
||||||
|
diff --git a/nose/plugins/manager.py b/nose/plugins/manager.py
|
||||||
|
index 4d2ed22..daa9edb 100644
|
||||||
|
--- a/nose/plugins/manager.py
|
||||||
|
+++ b/nose/plugins/manager.py
|
||||||
|
@@ -105,7 +105,7 @@ class PluginProxy(object):
|
||||||
|
meth = getattr(plugin, call, None)
|
||||||
|
if meth is not None:
|
||||||
|
if call == 'loadTestsFromModule' and \
|
||||||
|
- len(inspect.getargspec(meth)[0]) == 2:
|
||||||
|
+ len(inspect.getfullargspec(meth)[0]) == 2:
|
||||||
|
orig_meth = meth
|
||||||
|
meth = lambda module, path, **kwargs: orig_meth(module)
|
||||||
|
self.plugins.append((plugin, meth))
|
||||||
|
diff --git a/nose/util.py b/nose/util.py
|
||||||
|
index 80ab1d4..21770ae 100644
|
||||||
|
--- a/nose/util.py
|
||||||
|
+++ b/nose/util.py
|
||||||
|
@@ -449,15 +449,15 @@ def try_run(obj, names):
|
||||||
|
if type(obj) == types.ModuleType:
|
||||||
|
# py.test compatibility
|
||||||
|
if isinstance(func, types.FunctionType):
|
||||||
|
- args, varargs, varkw, defaults = \
|
||||||
|
- inspect.getargspec(func)
|
||||||
|
+ args, varargs, varkw, defaults, *_ = \
|
||||||
|
+ inspect.getfullargspec(func)
|
||||||
|
else:
|
||||||
|
# Not a function. If it's callable, call it anyway
|
||||||
|
if hasattr(func, '__call__') and not inspect.ismethod(func):
|
||||||
|
func = func.__call__
|
||||||
|
try:
|
||||||
|
- args, varargs, varkw, defaults = \
|
||||||
|
- inspect.getargspec(func)
|
||||||
|
+ args, varargs, varkw, defaults, *_ = \
|
||||||
|
+ inspect.getfullargspec(func)
|
||||||
|
args.pop(0) # pop the self off
|
||||||
|
except TypeError:
|
||||||
|
raise TypeError("Attribute %s of %r is not a python "
|
||||||
|
|||||||
@ -33,6 +33,7 @@ Patch6: python-nose-no-use_2to3.patch
|
|||||||
# Import unittest.TextTestResult instead of removed unittest._TextTestResult
|
# Import unittest.TextTestResult instead of removed unittest._TextTestResult
|
||||||
# Use ConfigParser.read_file() instead of .readfp()
|
# Use ConfigParser.read_file() instead of .readfp()
|
||||||
# Adapt test_xunit to tracebacks/exceptions with ^^^^^^^^ lines
|
# Adapt test_xunit to tracebacks/exceptions with ^^^^^^^^ lines
|
||||||
|
# Migrate from removed inspect.getargspec() to inspect.getfullargspec()
|
||||||
Patch7: python-nose-py311.patch
|
Patch7: python-nose-py311.patch
|
||||||
|
|
||||||
BuildRequires: dos2unix
|
BuildRequires: dos2unix
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user