Mercurial > p > roundup > code
view test/pytest_patcher.py @ 6632:e7143e4f6753
try to update to python 3.10.4 from 3.10.0 and try 3.11
Travis ci doesn't seem to tell us what python versions are
supported. The one form that is supposed to show that doesn't work for
me. Also it looks like nightly is suck at 3.10.0a5+ which isn't
nightly.
python 3.10.4 is released and current. 3.11 is pre-release/nightly so
trying it to replace broken nightly.
These upgrades may need to be reverted if invalid.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sat, 16 Apr 2022 17:04:20 -0400 |
| parents | 1c94afabb2cb |
| children |
line wrap: on
line source
""" The following code was taken from: https://github.com/pytest-dev/pytest/issues/568#issuecomment-216569420 to resolve a bug with using pytest.mark.skip(). Once the bug is resolved in pytest this file can be removed along with all the wrapper mark_class() references in the other test files. """ import types def mark_class(marker): '''Workaround for https://github.com/pytest-dev/pytest/issues/568''' def copy_func(f): try: return types.FunctionType(f.__code__, f.__globals__, name=f.__name__, argdefs=f.__defaults__, closure=f.__closure__) except AttributeError: return types.FunctionType(f.func_code, f.func_globals, name=f.func_name, argdefs=f.func_defaults, closure=f.func_closure) def mark(cls): if isinstance(cls, types.FunctionType): return marker(copy_func(cls)) for method in dir(cls): if method.startswith('test'): f = copy_func(getattr(cls, method)) setattr(cls, method, marker(f)) return cls return mark
