-
Notifications
You must be signed in to change notification settings - Fork 64
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
3.9.1: pytest is failing #348
Comments
It is one very good reason to support pytest. That framework provides way better flexilibily of testing by just install pytest extension. [tkloczko@devel-g2v SPECS]$ grep ^%pytest python-* | wc -l; ls -1 python-* | wc -l
802
904 With that I'm able to asses quality of all those modules just by performe mass test build with added exact pytest extension to build env. |
Just FTR: retested 3.10.1 and lookd like pytest still is failing the same way. |
Just tested 4.0.1 and here is pytest output: + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-chameleon-4.0.1-3.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-chameleon-4.0.1-3.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra -m 'not network'
==================================================================================== test session starts ====================================================================================
platform linux -- Python 3.8.17, pytest-7.4.0, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/chameleon-4.0.1
collected 72 items
src/chameleon/tests/test_astutil.py . [ 1%]
src/chameleon/tests/test_doctests.py EEEEE [ 8%]
src/chameleon/tests/test_exc.py .. [ 11%]
src/chameleon/tests/test_loader.py ........ [ 22%]
src/chameleon/tests/test_parser.py .. [ 25%]
src/chameleon/tests/test_sniffing.py .... [ 30%]
src/chameleon/tests/test_templates.py ................................................ [ 97%]
src/chameleon/tests/test_tokenizer.py .. [100%]
========================================================================================== ERRORS ===========================================================================================
________________________________________________________________________ ERROR at setup of DoctestCase.test_compiler ________________________________________________________________________
cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7fe5f86e2280>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: "Callable[[], TResult]",
when: "Literal['collect', 'setup', 'call', 'teardown']",
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.8/site-packages/_pytest/runner.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:262: in <lambda>
lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/_hooks.py:265: in __call__
return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
/usr/lib/python3.8/site-packages/pluggy/_manager.py:80: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.8/site-packages/_pytest/runner.py:157: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:497: in setup
raise exc
/usr/lib/python3.8/site-packages/_pytest/runner.py:494: in setup
col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <TestCaseFunction test_compiler>
def setup(self) -> None:
# A bound method to be called during teardown() if set (see 'runtest()').
self._explicit_tearDown: Optional[Callable[[], None]] = None
assert self.parent is not None
self._testcase = self.parent.obj(self.name) # type: ignore[attr-defined]
> self._obj = getattr(self._testcase, self.name)
E AttributeError: '_DocTestSuite' object has no attribute 'test_compiler'
/usr/lib/python3.8/site-packages/_pytest/unittest.py:202: AttributeError
__________________________________________________________________________ ERROR at setup of DoctestCase.test_exc ___________________________________________________________________________
cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7fe5f8174550>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: "Callable[[], TResult]",
when: "Literal['collect', 'setup', 'call', 'teardown']",
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.8/site-packages/_pytest/runner.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:262: in <lambda>
lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/_hooks.py:265: in __call__
return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
/usr/lib/python3.8/site-packages/pluggy/_manager.py:80: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.8/site-packages/_pytest/runner.py:157: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:497: in setup
raise exc
/usr/lib/python3.8/site-packages/_pytest/runner.py:494: in setup
col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <TestCaseFunction test_exc>
def setup(self) -> None:
# A bound method to be called during teardown() if set (see 'runtest()').
self._explicit_tearDown: Optional[Callable[[], None]] = None
assert self.parent is not None
self._testcase = self.parent.obj(self.name) # type: ignore[attr-defined]
> self._obj = getattr(self._testcase, self.name)
E AttributeError: '_DocTestSuite' object has no attribute 'test_exc'
/usr/lib/python3.8/site-packages/_pytest/unittest.py:202: AttributeError
__________________________________________________________________________ ERROR at setup of DoctestCase.test_tal ___________________________________________________________________________
cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7fe5f813f820>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: "Callable[[], TResult]",
when: "Literal['collect', 'setup', 'call', 'teardown']",
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.8/site-packages/_pytest/runner.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:262: in <lambda>
lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/_hooks.py:265: in __call__
return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
/usr/lib/python3.8/site-packages/pluggy/_manager.py:80: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.8/site-packages/_pytest/runner.py:157: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:497: in setup
raise exc
/usr/lib/python3.8/site-packages/_pytest/runner.py:494: in setup
col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <TestCaseFunction test_tal>
def setup(self) -> None:
# A bound method to be called during teardown() if set (see 'runtest()').
self._explicit_tearDown: Optional[Callable[[], None]] = None
assert self.parent is not None
self._testcase = self.parent.obj(self.name) # type: ignore[attr-defined]
> self._obj = getattr(self._testcase, self.name)
E AttributeError: '_DocTestSuite' object has no attribute 'test_tal'
/usr/lib/python3.8/site-packages/_pytest/unittest.py:202: AttributeError
_________________________________________________________________________ ERROR at setup of DoctestCase.test_tales __________________________________________________________________________
cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7fe5f813fd30>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: "Callable[[], TResult]",
when: "Literal['collect', 'setup', 'call', 'teardown']",
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.8/site-packages/_pytest/runner.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:262: in <lambda>
lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/_hooks.py:265: in __call__
return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
/usr/lib/python3.8/site-packages/pluggy/_manager.py:80: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.8/site-packages/_pytest/runner.py:157: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:497: in setup
raise exc
/usr/lib/python3.8/site-packages/_pytest/runner.py:494: in setup
col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <TestCaseFunction test_tales>
def setup(self) -> None:
# A bound method to be called during teardown() if set (see 'runtest()').
self._explicit_tearDown: Optional[Callable[[], None]] = None
assert self.parent is not None
self._testcase = self.parent.obj(self.name) # type: ignore[attr-defined]
> self._obj = getattr(self._testcase, self.name)
E AttributeError: '_DocTestSuite' object has no attribute 'test_tales'
/usr/lib/python3.8/site-packages/_pytest/unittest.py:202: AttributeError
_________________________________________________________________________ ERROR at setup of DoctestCase.test_utils __________________________________________________________________________
cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7fe5f818fd30>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: "Callable[[], TResult]",
when: "Literal['collect', 'setup', 'call', 'teardown']",
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.8/site-packages/_pytest/runner.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:262: in <lambda>
lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/_hooks.py:265: in __call__
return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
/usr/lib/python3.8/site-packages/pluggy/_manager.py:80: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.8/site-packages/_pytest/runner.py:157: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:497: in setup
raise exc
/usr/lib/python3.8/site-packages/_pytest/runner.py:494: in setup
col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <TestCaseFunction test_utils>
def setup(self) -> None:
# A bound method to be called during teardown() if set (see 'runtest()').
self._explicit_tearDown: Optional[Callable[[], None]] = None
assert self.parent is not None
self._testcase = self.parent.obj(self.name) # type: ignore[attr-defined]
> self._obj = getattr(self._testcase, self.name)
E AttributeError: '_DocTestSuite' object has no attribute 'test_utils'
/usr/lib/python3.8/site-packages/_pytest/unittest.py:202: AttributeError
===================================================================================== warnings summary ======================================================================================
src/chameleon/loader.py:12
/home/tkloczko/rpmbuild/BUILD/chameleon-4.0.1/src/chameleon/loader.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
../../../../../usr/lib/python3.8/site-packages/pkg_resources/__init__.py:2871
../../../../../usr/lib/python3.8/site-packages/pkg_resources/__init__.py:2871
/usr/lib/python3.8/site-packages/pkg_resources/__init__.py:2871: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('zope')`.
Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
declare_namespace(pkg)
../../../../../usr/lib/python3.8/site-packages/pkg_resources/__init__.py:2871
../../../../../usr/lib/python3.8/site-packages/pkg_resources/__init__.py:2871
../../../../../usr/lib/python3.8/site-packages/pkg_resources/__init__.py:2871
../../../../../usr/lib/python3.8/site-packages/pkg_resources/__init__.py:2871
../../../../../usr/lib/python3.8/site-packages/pkg_resources/__init__.py:2871
/usr/lib/python3.8/site-packages/pkg_resources/__init__.py:2871: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('sphinxcontrib')`.
Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
declare_namespace(pkg)
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================================================================================== short test summary info ==================================================================================
ERROR src/chameleon/tests/test_doctests.py::DoctestCase::test_compiler - AttributeError: '_DocTestSuite' object has no attribute 'test_compiler'
ERROR src/chameleon/tests/test_doctests.py::DoctestCase::test_exc - AttributeError: '_DocTestSuite' object has no attribute 'test_exc'
ERROR src/chameleon/tests/test_doctests.py::DoctestCase::test_tal - AttributeError: '_DocTestSuite' object has no attribute 'test_tal'
ERROR src/chameleon/tests/test_doctests.py::DoctestCase::test_tales - AttributeError: '_DocTestSuite' object has no attribute 'test_tales'
ERROR src/chameleon/tests/test_doctests.py::DoctestCase::test_utils - AttributeError: '_DocTestSuite' object has no attribute 'test_utils'
========================================================================= 67 passed, 8 warnings, 5 errors in 3.01s ========================================================================== |
And version 4.1, 5.0, … will fail running the tests using pytest. |
There are as well some deprecation warnings .. |
Currently test suite uses Just tested 4.3.0 and now test suite fails with more errors. Here is pytest output:+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-chameleon-4.3.0-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-chameleon-4.3.0-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra -m 'not network'
============================= test session starts ==============================
platform linux -- Python 3.8.18, pytest-7.4.3, pluggy-1.3.0
rootdir: /home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0
collected 107 items
src/chameleon/tests/test_astutil.py . [ 0%]
src/chameleon/tests/test_bools_plus_sniffing.py ........................ [ 23%]
...... [ 28%]
src/chameleon/tests/test_doctests.py EEEEE [ 33%]
src/chameleon/tests/test_exc.py .. [ 35%]
src/chameleon/tests/test_loader.py EEEEEEEEEE [ 44%]
src/chameleon/tests/test_parser.py .. [ 46%]
src/chameleon/tests/test_sniffing.py .... [ 50%]
src/chameleon/tests/test_templates.py .................................. [ 82%]
............F. [ 95%]
src/chameleon/tests/test_tokenizer.py .. [ 97%]
src/chameleon/tests/test_utils.py ... [100%]
==================================== ERRORS ====================================
_________________ ERROR at setup of DoctestCase.test_compiler __________________
cls = <class '_pytest.runner.CallInfo'>
func = <function call_runtest_hook.<locals>.<lambda> at 0x7fe4e8751e50>
when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: "Callable[[], TResult]",
when: "Literal['collect', 'setup', 'call', 'teardown']",
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.8/site-packages/_pytest/runner.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:262: in <lambda>
lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/_hooks.py:493: in __call__
return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
/usr/lib/python3.8/site-packages/pluggy/_manager.py:115: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.8/site-packages/_pytest/runner.py:157: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:497: in setup
raise exc
/usr/lib/python3.8/site-packages/_pytest/runner.py:494: in setup
col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <TestCaseFunction test_compiler>
def setup(self) -> None:
# A bound method to be called during teardown() if set (see 'runtest()').
self._explicit_tearDown: Optional[Callable[[], None]] = None
assert self.parent is not None
self._testcase = self.parent.obj(self.name) # type: ignore[attr-defined]
> self._obj = getattr(self._testcase, self.name)
E AttributeError: '_DocTestSuite' object has no attribute 'test_compiler'
/usr/lib/python3.8/site-packages/_pytest/unittest.py:202: AttributeError
____________________ ERROR at setup of DoctestCase.test_exc ____________________
cls = <class '_pytest.runner.CallInfo'>
func = <function call_runtest_hook.<locals>.<lambda> at 0x7fe4e8746c10>
when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: "Callable[[], TResult]",
when: "Literal['collect', 'setup', 'call', 'teardown']",
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.8/site-packages/_pytest/runner.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:262: in <lambda>
lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/_hooks.py:493: in __call__
return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
/usr/lib/python3.8/site-packages/pluggy/_manager.py:115: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.8/site-packages/_pytest/runner.py:157: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:497: in setup
raise exc
/usr/lib/python3.8/site-packages/_pytest/runner.py:494: in setup
col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <TestCaseFunction test_exc>
def setup(self) -> None:
# A bound method to be called during teardown() if set (see 'runtest()').
self._explicit_tearDown: Optional[Callable[[], None]] = None
assert self.parent is not None
self._testcase = self.parent.obj(self.name) # type: ignore[attr-defined]
> self._obj = getattr(self._testcase, self.name)
E AttributeError: '_DocTestSuite' object has no attribute 'test_exc'
/usr/lib/python3.8/site-packages/_pytest/unittest.py:202: AttributeError
____________________ ERROR at setup of DoctestCase.test_tal ____________________
cls = <class '_pytest.runner.CallInfo'>
func = <function call_runtest_hook.<locals>.<lambda> at 0x7fe4e993f820>
when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: "Callable[[], TResult]",
when: "Literal['collect', 'setup', 'call', 'teardown']",
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.8/site-packages/_pytest/runner.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:262: in <lambda>
lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/_hooks.py:493: in __call__
return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
/usr/lib/python3.8/site-packages/pluggy/_manager.py:115: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.8/site-packages/_pytest/runner.py:157: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:497: in setup
raise exc
/usr/lib/python3.8/site-packages/_pytest/runner.py:494: in setup
col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <TestCaseFunction test_tal>
def setup(self) -> None:
# A bound method to be called during teardown() if set (see 'runtest()').
self._explicit_tearDown: Optional[Callable[[], None]] = None
assert self.parent is not None
self._testcase = self.parent.obj(self.name) # type: ignore[attr-defined]
> self._obj = getattr(self._testcase, self.name)
E AttributeError: '_DocTestSuite' object has no attribute 'test_tal'
/usr/lib/python3.8/site-packages/_pytest/unittest.py:202: AttributeError
___________________ ERROR at setup of DoctestCase.test_tales ___________________
cls = <class '_pytest.runner.CallInfo'>
func = <function call_runtest_hook.<locals>.<lambda> at 0x7fe4e993f8b0>
when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: "Callable[[], TResult]",
when: "Literal['collect', 'setup', 'call', 'teardown']",
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.8/site-packages/_pytest/runner.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:262: in <lambda>
lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/_hooks.py:493: in __call__
return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
/usr/lib/python3.8/site-packages/pluggy/_manager.py:115: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.8/site-packages/_pytest/runner.py:157: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:497: in setup
raise exc
/usr/lib/python3.8/site-packages/_pytest/runner.py:494: in setup
col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <TestCaseFunction test_tales>
def setup(self) -> None:
# A bound method to be called during teardown() if set (see 'runtest()').
self._explicit_tearDown: Optional[Callable[[], None]] = None
assert self.parent is not None
self._testcase = self.parent.obj(self.name) # type: ignore[attr-defined]
> self._obj = getattr(self._testcase, self.name)
E AttributeError: '_DocTestSuite' object has no attribute 'test_tales'
/usr/lib/python3.8/site-packages/_pytest/unittest.py:202: AttributeError
___________________ ERROR at setup of DoctestCase.test_utils ___________________
cls = <class '_pytest.runner.CallInfo'>
func = <function call_runtest_hook.<locals>.<lambda> at 0x7fe4e993f670>
when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: "Callable[[], TResult]",
when: "Literal['collect', 'setup', 'call', 'teardown']",
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.8/site-packages/_pytest/runner.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:262: in <lambda>
lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/_hooks.py:493: in __call__
return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
/usr/lib/python3.8/site-packages/pluggy/_manager.py:115: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.8/site-packages/_pytest/runner.py:157: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:497: in setup
raise exc
/usr/lib/python3.8/site-packages/_pytest/runner.py:494: in setup
col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <TestCaseFunction test_utils>
def setup(self) -> None:
# A bound method to be called during teardown() if set (see 'runtest()').
self._explicit_tearDown: Optional[Callable[[], None]] = None
assert self.parent is not None
self._testcase = self.parent.obj(self.name) # type: ignore[attr-defined]
> self._obj = getattr(self._testcase, self.name)
E AttributeError: '_DocTestSuite' object has no attribute 'test_utils'
/usr/lib/python3.8/site-packages/_pytest/unittest.py:202: AttributeError
____________ ERROR at setup of LoadPageTests.test_consecutive_loads ____________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e846fc40>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e84d5d60>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e84d5d60>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e846fc40>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e84d5d60>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e84d5d60>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
________________ ERROR at setup of LoadPageTests.test_load_abs _________________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e84eafa0>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e84ac160>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e84ac160>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e84eafa0>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e84ac160>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e84ac160>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
________________ ERROR at setup of LoadPageTests.test_load_egg _________________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e8568820>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e8716fd0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e8716fd0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e8568820>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e8716fd0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e8716fd0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
______________ ERROR at setup of LoadPageTests.test_load_relative ______________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e860a2e0>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e84963a0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e84963a0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e860a2e0>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e84963a0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e84963a0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
___ ERROR at setup of LoadPageTests.test_load_relative_badpath_in_searchpath ___
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e843d820>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e872f6a0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e872f6a0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e843d820>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e872f6a0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e872f6a0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
_______________ ERROR at setup of LoadPageTests.test_load_wheel ________________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e869f190>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e8bca610>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e8bca610>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e869f190>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e8bca610>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e8bca610>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
_________________ ERROR at setup of ModuleLoadTests.test_build _________________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e842e940>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e864d790>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e864d790>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e842e940>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e864d790>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e864d790>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
________ ERROR at setup of ZPTLoadTests.test_load_getitem_gets_xml_file ________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e84d5ee0>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e840a3a0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e840a3a0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e84d5ee0>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e840a3a0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e840a3a0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
________________ ERROR at setup of ZPTLoadTests.test_load_text _________________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e8502e50>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e869f7c0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e869f7c0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e8502e50>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e869f7c0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e869f7c0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
_________________ ERROR at setup of ZPTLoadTests.test_load_xml _________________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e859a2e0>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e84eabe0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e84eabe0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7fe4e859a2e0>
args = ['-ra', '-m', 'not network']
object = <setuptools.dist.Distribution object at 0x7fe4e84eabe0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}
klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7fe4e84eabe0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
=================================== FAILURES ===================================
_____________________ ZopeTemplatesTestSuite.test_pt_files _____________________
self = <PageTemplateFile '/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/src/chameleon/tests/inputs/081-load-spec.pt'>
_BaseTemplate__kw = {'__decode': <method 'decode' of 'bytes' objects>, '__on_error_handler': None, '__translate': <function ZopeTemplatesTestSuite.execute.<locals>.translate at 0x7fe4e993f790>, 'content': '<div>Hello world!</div>', ...}
econtext = {'literal': <chameleon.tests.test_templates.ZopeTemplatesTestSuite.test_pt_files.<locals>.Literal object at 0x7fe4e839..._on_error_handler': None, 'repeat': <chameleon.tal.RepeatDict object at 0x7fe4e8496e20>, 'macroname': 'hello_world.pt'}
rcontext = {'__error__': [('load: chameleon:tests/inputs/hello_world.pt', 1, 23, '/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/src/chameleon/tests/inputs/081-load-spec.pt', AttributeError("module 'importlib.resources' has no attribute 'files'"))]}
stream = [], target_language = None, cls = <class 'AttributeError'>
def render(self, **__kw):
econtext = Scope(__kw)
rcontext = {}
self.cook_check()
stream = self.output_stream_factory()
target_language = __kw.get("target_language")
try:
> self._render(
stream,
econtext,
rcontext,
target_language=target_language
)
src/chameleon/template.py:204:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
081_load_spec_9dbece6e0bae00c05035c431eb1f2d78.py:102: in render
???
src/chameleon/zpt/template.py:330: in include
self.cook_check()
src/chameleon/template.py:376: in cook_check
body = self.read()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <PageTemplateFile 'chameleon:tests/inputs/hello_world.pt'>
def read(self):
if self.spec.pname is not None:
> files = importlib_resources.files(self.spec.pname)
E AttributeError: module 'importlib.resources' has no attribute 'files'
src/chameleon/template.py:391: AttributeError
During handling of the above exception, another exception occurred:
self = <chameleon.tests.test_templates.ZopeTemplatesTestSuite testMethod=test_pt_files>
ext = '.pt', factory = <class 'chameleon.zpt.template.PageTemplateFile'>
kwargs = {'content': '<div>Hello world!</div>', 'literal': <chameleon.tests.test_templates.ZopeTemplatesTestSuite.test_pt_files...ameleon.zpt.template.PageTemplateFile'>), 'message': <chameleon.tests.test_templates.Message object at 0x7fe4e83936a0>}
translate = <function ZopeTemplatesTestSuite.execute.<locals>.translate at 0x7fe4e993f790>
output_path = '/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/src/chameleon/tests/outputs/081.pt'
language = None, implicit_i18n = False, implicit_i18n_attrs = ()
enable_data_attributes = False
template = <PageTemplateFile '/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/src/chameleon/tests/inputs/081-load-spec.pt'>
def execute(self, ext, factory, **kwargs):
def translate(msgid, domain=None, mapping=None, context=None,
target_language=None, default=None):
if default is None:
default = str(msgid)
if isinstance(msgid, Message):
default = "Message"
if mapping:
default = re.sub(r'\${([a-z_]+)}', r'%(\1)s', default) % \
mapping
if target_language is None:
return default
if domain is None:
with_domain = ""
else:
with_domain = " with domain '%s'" % domain
if context is None:
with_context = ""
else:
with_context = ", context '%s'" % context
stripped = default.rstrip('\n ')
return "{} ('{}' translation into '{}'{}{}){}".format(
stripped, msgid, target_language, with_domain, with_context,
default[len(stripped):]
)
for input_path, output_path, language in self.find_files(ext):
# Make friendly title so we can locate the generated
# source when debugging
self.shortDescription = lambda: input_path
# When input path contains the string 'implicit-i18n', we
# enable "implicit translation".
implicit_i18n = 'implicit-i18n' in input_path
implicit_i18n_attrs = ("alt", "title") if implicit_i18n else ()
enable_data_attributes = 'data-attributes' in input_path
template = factory(
input_path,
keep_source=True,
strict=False,
implicit_i18n_translate=implicit_i18n,
implicit_i18n_attributes=implicit_i18n_attrs,
enable_data_attributes=enable_data_attributes,
)
params = kwargs.copy()
params.update({
'translate': translate,
'target_language': language,
})
template.cook_check()
try:
> got = template.render(**params)
src/chameleon/tests/test_templates.py:780:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/chameleon/zpt/template.py:327: in render
return super().render(**_kw)
src/chameleon/template.py:233: in render
raise_with_traceback(exc, tb)
src/chameleon/utils.py:20: in raise_with_traceback
raise exc
src/chameleon/template.py:204: in render
self._render(
081_load_spec_9dbece6e0bae00c05035c431eb1f2d78.py:102: in render
???
src/chameleon/zpt/template.py:330: in include
self.cook_check()
src/chameleon/template.py:376: in cook_check
body = self.read()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <PageTemplateFile 'chameleon:tests/inputs/hello_world.pt'>
def read(self):
if self.spec.pname is not None:
> files = importlib_resources.files(self.spec.pname)
E AttributeError: module 'importlib.resources' has no attribute 'files'
E
E - Expression: "load: chameleon:tests/inputs/hello_world.pt"
E - Filename: ... meleon-4.3.0/src/chameleon/tests/inputs/081-load-spec.pt
E - Location: (line 1: col 23)
E - Source: ... :use-macro="load: chameleon:tests/inputs/hello_world.pt" />
E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E - Arguments: literal: <Literal ('None',) at 0x7fe4e8393340>
E content: <div>Hello world!</div>
E message: <Message ('None',) at 0x7fe4e83936a0>
E load: <partial ('None',) at 0x7fe4e8b33b30>
E translate: <function ('translate',) at 0x7fe4e993f790>
E target_language: <NoneType ('None',) at 0x7fe4f813fab0>
E repeat: <RepeatDict ('None',) at 0x7fe4e8496e20>
E macroname: hello_world.pt
src/chameleon/template.py:391: AttributeError
During handling of the above exception, another exception occurred:
self = <chameleon.tests.test_templates.ZopeTemplatesTestSuite testMethod=test_pt_files>
def test_pt_files(self):
from ..zpt.template import PageTemplateFile
class Literal:
def __init__(self, s):
self.s = s
def __html__(self):
return self.s
def __str__(self):
raise RuntimeError(
"%r is a literal." % self.s)
from chameleon.loader import TemplateLoader
loader = TemplateLoader(os.path.join(self.root, "inputs"))
> self.execute(
".pt", PageTemplateFile,
literal=Literal("<div>Hello world!</div>"),
content="<div>Hello world!</div>",
message=Message(),
load=loader.bind(PageTemplateFile),
)
src/chameleon/tests/test_templates.py:706:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/chameleon/tests/test_templates.py:784: in execute
self.fail("{}\n\n Example source:\n\n{}".format(
E AssertionError: Traceback (most recent call last):
E File "/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/src/chameleon/template.py", line 204, in render
E self._render(
E File "081_load_spec_9dbece6e0bae00c05035c431eb1f2d78.py", line 102, in render
E File "/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/src/chameleon/zpt/template.py", line 330, in include
E self.cook_check()
E File "/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/src/chameleon/template.py", line 376, in cook_check
E body = self.read()
E File "/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/src/chameleon/template.py", line 391, in read
E files = importlib_resources.files(self.spec.pname)
E AttributeError: module 'importlib.resources' has no attribute 'files'
E
E During handling of the above exception, another exception occurred:
E
E Traceback (most recent call last):
E File "/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/src/chameleon/tests/test_templates.py", line 780, in execute
E got = template.render(**params)
E File "/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/src/chameleon/zpt/template.py", line 327, in render
E return super().render(**_kw)
E File "/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/src/chameleon/template.py", line 233, in render
E raise_with_traceback(exc, tb)
E File "/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/src/chameleon/utils.py", line 20, in raise_with_traceback
E raise exc
E File "/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/src/chameleon/template.py", line 204, in render
E self._render(
E File "081_load_spec_9dbece6e0bae00c05035c431eb1f2d78.py", line 102, in render
E File "/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/src/chameleon/zpt/template.py", line 330, in include
E self.cook_check()
E File "/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/src/chameleon/template.py", line 376, in cook_check
E body = self.read()
E File "/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/src/chameleon/template.py", line 391, in read
E files = importlib_resources.files(self.spec.pname)
E AttributeError: module 'importlib.resources' has no attribute 'files'
E
E - Expression: "load: chameleon:tests/inputs/hello_world.pt"
E - Filename: ... meleon-4.3.0/src/chameleon/tests/inputs/081-load-spec.pt
E - Location: (line 1: col 23)
E - Source: ... :use-macro="load: chameleon:tests/inputs/hello_world.pt" />
E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E - Arguments: literal: <Literal ('None',) at 0x7fe4e8393340>
E content: <div>Hello world!</div>
E message: <Message ('None',) at 0x7fe4e83936a0>
E load: <partial ('None',) at 0x7fe4e8b33b30>
E translate: <function ('translate',) at 0x7fe4e993f790>
E target_language: <NoneType ('None',) at 0x7fe4f813fab0>
E repeat: <RepeatDict ('None',) at 0x7fe4e8496e20>
E macroname: hello_world.pt
E
E
E Example source:
E
E 001 __spec = '/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/src/chameleon/tests/inputs/081-load-spec.pt'
E 002
E 003 __tokens = {23: ('load: chameleon:tests/inputs/hello_world.pt', 1, 23), 23: ('load: chameleon:tests/inputs/hello_world.pt', 1, 23)}
E 004
E 005 from sys import exc_info as _exc_info
E 006
E 007 _static_140621126396416 = 'hello_world.pt'
E 008 _static_140621133873888 = {}
E 009
E 010 import re
E 011 import functools
E 012 from itertools import chain as __chain
E 013 from sys import intern
E 014 __default = intern('__default__')
E 015 __marker = object()
E 016 g_re_amp = re.compile('&(?!([A-Za-z]+|#[0-9]+);)')
E 017 g_re_needs_escape = re.compile('[&<>\\"\\\']').search
E 018 __re_whitespace = functools.partial(re.compile('\\s+').sub, ' ')
E 019
E 020 def initialize(__loader, macros, nothing, template):
E 021
E 022 def render(__stream, econtext, rcontext, __i18n_domain=None, __i18n_context=None, target_language=None):
E 023 __append = __stream.append
E 024 __re_amp = g_re_amp
E 025 __token = None
E 026 __re_needs_escape = g_re_needs_escape
E 027
E 028 def __convert(target):
E 029 if (target is None):
E 030 return
E 031 __tt = type(target)
E 032 if (__tt is bytes):
E 033 target = decode(target)
E 034 else:
E 035 if (__tt is not str):
E 036 if ((__tt is int) or (__tt is float) or (__tt is int)):
E 037 target = str(target)
E 038 else:
E 039 render = getattr(target, '__html__', None)
E 040 if (render is None):
E 041 __converted = translate(target, domain=__i18n_domain, context=__i18n_context, target_language=target_language)
E 042 target = (str(target) if (target is __converted) else __converted)
E 043 else:
E 044 target = render()
E 045 return target
E 046
E 047 def __quote(target, quote, quote_entity, default, default_marker):
E 048 if (target is None):
E 049 return
E 050 if (target is default_marker):
E 051 return default
E 052 __tt = type(target)
E 053 if (__tt is bytes):
E 054 target = decode(target)
E 055 else:
E 056 if (__tt is not str):
E 057 if ((__tt is int) or (__tt is float) or (__tt is int)):
E 058 return str(target)
E 059 render = getattr(target, '__html__', None)
E 060 if (render is None):
E 061 __converted = translate(target, domain=__i18n_domain, context=__i18n_context, target_language=target_language)
E 062 target = (str(target) if (target is __converted) else __converted)
E 063 else:
E 064 return render()
E 065 if (target is not None):
E 066 try:
E 067 escape = (__re_needs_escape(target) is not None)
E 068 except TypeError:
E 069 pass
E 070 else:
E 071 if escape:
E 072 if ('&' in target):
E 073 target = target.replace('&', '&')
E 074 if ('<' in target):
E 075 target = target.replace('<', '<')
E 076 if ('>' in target):
E 077 target = target.replace('>', '>')
E 078 if ((quote is not None) and (quote in target)):
E 079 target = target.replace(quote, quote_entity)
E 080 return target
E 081 translate = econtext['__translate']
E 082 decode = econtext['__decode']
E 083 on_error_handler = econtext['__on_error_handler']
E 084 try:
E 085 getname = econtext.get_name
E 086 get = econtext.get
E 087
E 088 # <Static value=<_ast.Dict object at 0x7fe4e8bb82e0> name=None at 7fe4e896d640> -> __attrs_140621126118080
E 089 __attrs_140621126118080 = _static_140621133873888
E 090 __backup_macroname_140621125698688 = get('macroname', __marker)
E 091
E 092 # <Static value=<_ast.Constant object at 0x7fe4e8496a00> name=None at 7fe4e84967f0> -> __value
E 093 __value = _static_140621126396416
E 094 econtext['macroname'] = __value
E 095
E 096 # <Value 'load: chameleon:tests/inputs/hello_world.pt' (1:23)> -> __macro
E 097 __token = 23
E 098 __macro = ' chameleon:tests/inputs/hello_world.pt'
E 099 __macro = __loader(__macro)
E 100 __token = 23
E 101 __m = __macro.include
E 102 __m(__stream, econtext.copy(), rcontext, __i18n_domain, __i18n_context, target_language)
E 103 econtext.update(rcontext)
E 104 if (__backup_macroname_140621125698688 is __marker):
E 105 del econtext['macroname']
E 106 else:
E 107 econtext['macroname'] = __backup_macroname_140621125698688
E 108 except:
E 109 if (__token is not None):
E 110 rcontext.setdefault('__error__', []).append((__tokens[__token] + (__spec, _exc_info()[1], )))
E 111 raise
E 112
E 113 return {'render': render, }
=========================== short test summary info ============================
ERROR src/chameleon/tests/test_doctests.py::DoctestCase::test_compiler - Attr...
ERROR src/chameleon/tests/test_doctests.py::DoctestCase::test_exc - Attribute...
ERROR src/chameleon/tests/test_doctests.py::DoctestCase::test_tal - Attribute...
ERROR src/chameleon/tests/test_doctests.py::DoctestCase::test_tales - Attribu...
ERROR src/chameleon/tests/test_doctests.py::DoctestCase::test_utils - Attribu...
ERROR src/chameleon/tests/test_loader.py::LoadPageTests::test_consecutive_loads
ERROR src/chameleon/tests/test_loader.py::LoadPageTests::test_load_abs - Syst...
ERROR src/chameleon/tests/test_loader.py::LoadPageTests::test_load_egg - Syst...
ERROR src/chameleon/tests/test_loader.py::LoadPageTests::test_load_relative
ERROR src/chameleon/tests/test_loader.py::LoadPageTests::test_load_relative_badpath_in_searchpath
ERROR src/chameleon/tests/test_loader.py::LoadPageTests::test_load_wheel - Sy...
ERROR src/chameleon/tests/test_loader.py::ModuleLoadTests::test_build - Syste...
ERROR src/chameleon/tests/test_loader.py::ZPTLoadTests::test_load_getitem_gets_xml_file
ERROR src/chameleon/tests/test_loader.py::ZPTLoadTests::test_load_text - Syst...
ERROR src/chameleon/tests/test_loader.py::ZPTLoadTests::test_load_xml - Syste...
FAILED src/chameleon/tests/test_templates.py::ZopeTemplatesTestSuite::test_pt_files
=================== 1 failed, 91 passed, 15 errors in 3.77s ==================== |
BTW + /usr/bin/python3 -sBm build -w --no-isolation
* Getting build dependencies for wheel...
running egg_info
creating src/Chameleon.egg-info
writing src/Chameleon.egg-info/PKG-INFO
writing dependency_links to src/Chameleon.egg-info/dependency_links.txt
writing requirements to src/Chameleon.egg-info/requires.txt
writing top-level names to src/Chameleon.egg-info/top_level.txt
writing manifest file 'src/Chameleon.egg-info/SOURCES.txt'
reading manifest file 'src/Chameleon.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.md'
warning: no files found matching 'buildout.cfg'
warning: no files found matching 'Makefile' under directory 'docs'
adding license file 'LICENSE.txt'
writing manifest file 'src/Chameleon.egg-info/SOURCES.txt'
* Building wheel...
running bdist_wheel
running build
running build_py
creating build
creating build/lib
creating build/lib/chameleon
copying src/chameleon/__init__.py -> build/lib/chameleon
copying src/chameleon/astutil.py -> build/lib/chameleon
copying src/chameleon/benchmark.py -> build/lib/chameleon
copying src/chameleon/codegen.py -> build/lib/chameleon
copying src/chameleon/compiler.py -> build/lib/chameleon
copying src/chameleon/config.py -> build/lib/chameleon
copying src/chameleon/exc.py -> build/lib/chameleon
copying src/chameleon/i18n.py -> build/lib/chameleon
copying src/chameleon/interfaces.py -> build/lib/chameleon
copying src/chameleon/loader.py -> build/lib/chameleon
copying src/chameleon/metal.py -> build/lib/chameleon
copying src/chameleon/namespaces.py -> build/lib/chameleon
copying src/chameleon/nodes.py -> build/lib/chameleon
copying src/chameleon/parser.py -> build/lib/chameleon
copying src/chameleon/program.py -> build/lib/chameleon
copying src/chameleon/tal.py -> build/lib/chameleon
copying src/chameleon/tales.py -> build/lib/chameleon
copying src/chameleon/template.py -> build/lib/chameleon
copying src/chameleon/tokenize.py -> build/lib/chameleon
copying src/chameleon/utils.py -> build/lib/chameleon
creating build/lib/chameleon/tests
copying src/chameleon/tests/__init__.py -> build/lib/chameleon/tests
copying src/chameleon/tests/test_astutil.py -> build/lib/chameleon/tests
copying src/chameleon/tests/test_bools_plus_sniffing.py -> build/lib/chameleon/tests
copying src/chameleon/tests/test_doctests.py -> build/lib/chameleon/tests
copying src/chameleon/tests/test_exc.py -> build/lib/chameleon/tests
copying src/chameleon/tests/test_loader.py -> build/lib/chameleon/tests
copying src/chameleon/tests/test_parser.py -> build/lib/chameleon/tests
copying src/chameleon/tests/test_sniffing.py -> build/lib/chameleon/tests
copying src/chameleon/tests/test_templates.py -> build/lib/chameleon/tests
copying src/chameleon/tests/test_tokenizer.py -> build/lib/chameleon/tests
copying src/chameleon/tests/test_utils.py -> build/lib/chameleon/tests
creating build/lib/chameleon/zpt
copying src/chameleon/zpt/__init__.py -> build/lib/chameleon/zpt
copying src/chameleon/zpt/loader.py -> build/lib/chameleon/zpt
copying src/chameleon/zpt/program.py -> build/lib/chameleon/zpt
copying src/chameleon/zpt/template.py -> build/lib/chameleon/zpt
running egg_info
writing src/Chameleon.egg-info/PKG-INFO
writing dependency_links to src/Chameleon.egg-info/dependency_links.txt
writing requirements to src/Chameleon.egg-info/requires.txt
writing top-level names to src/Chameleon.egg-info/top_level.txt
reading manifest file 'src/Chameleon.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.md'
warning: no files found matching 'buildout.cfg'
warning: no files found matching 'Makefile' under directory 'docs'
adding license file 'LICENSE.txt'
writing manifest file 'src/Chameleon.egg-info/SOURCES.txt'
creating build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/001-interpolation.txt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/001-variable-scope.html -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/001-variable-scope.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/001.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/002-repeat-scope.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/002.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/003-content.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/003.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/004-attributes.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/004.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/005-default.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/005.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/006-attribute-interpolation.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/006.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/007-content-interpolation.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/007.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/008-builtins.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/008.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/009-literals.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/009.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/010-structure.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/010.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/011-messages.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/011.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/012-translation.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/012.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/013-repeat-nested.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/013.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/014-repeat-nested-similar.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/014.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/015-translation-nested.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/015.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/016-explicit-translation.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/016.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/017-omit-tag.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/017.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/018-translation-nested-dynamic.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/018.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/019-replace.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/019.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/020-on-error.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/020.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/021-translation-domain.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/021.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/022-switch.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/022.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/023-condition.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/023.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/024-namespace-elements.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/024.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/025-repeat-whitespace.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/025.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/026-repeat-variable.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/026.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/027-attribute-replacement.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/027.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/028-attribute-toggle.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/028.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/029-attribute-ordering.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/029.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/030-repeat-tuples.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/030.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/031-namespace-with-tal.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/031.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/032-master-template.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/032.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/033-use-macro-trivial.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/033.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/034-use-template-as-macro.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/034.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/035-use-macro-with-fill-slot.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/035.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/036-use-macro-inherits-dynamic-scope.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/036.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/037-use-macro-local-variable-scope.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/037.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/038-use-macro-globals.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/038.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/039-globals.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/039.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/040-macro-using-template-symbol.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/040.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/041-translate-nested-names.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/041.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/042-use-macro-fill-footer.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/042.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/043-macro-nested-dynamic-vars.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/043.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/044-tuple-define.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/044.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/045-namespaces.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/045.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/046-extend-macro.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/046.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/047-use-extended-macro.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/047.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/048-use-extended-macro-fill-original.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/048.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/049-entities-in-attributes.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/049.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/050-define-macro-and-use-not-extend.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/050.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/051-use-non-extended-macro.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/051.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/052-i18n-domain-inside-filled-slot.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/052.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/053-special-characters-in-attributes.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/053.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/054-import-expression.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/054.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/055-attribute-fallback-to-dict-lookup.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/055.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/056-comment-attribute.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/056.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/057-order.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/057.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/058-script.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/058.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/059-embedded-javascript.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/059.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/060-macro-with-multiple-same-slots.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/060.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/061-fill-one-slot-but-two-defined.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/061.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/062-comments-and-expressions.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/062.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/063-continuation.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/063.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/064-tags-and-special-characters.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/064.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/065-use-macro-in-fill.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/065.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/066-load-expression.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/066.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/067-attribute-decode.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/067.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/068-less-than-greater-than-in-attributes.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/068.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/069-translation-domain-and-macro.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/069.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/070-translation-domain-and-use-macro.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/070.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/071-html-attribute-defaults.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/071.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/072-repeat-interpolation.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/072.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/073-utf8-encoded.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/073.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/074-encoded-template.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/074.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/075-nested-macros.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/075.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/076-nested-macro-override.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/076.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/077-i18n-attributes.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/077.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/078-tags-and-newlines.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/078.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/079-implicit-i18n.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/079.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/080-xmlns-namespace-on-tal.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/080.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/081-load-spec.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/081.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/082-load-spec-computed.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/082.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/083-template-dict-to-macro.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/083.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/084-interpolation-in-cdata.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/084.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/085-nested-translation.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/085.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/086-self-closing.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/086.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/087-code-blocks.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/087.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/088-python-newlines.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/088.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/089-load-fallback.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/089.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/090-tuple-expression.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/090.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/091-repeat-none.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/091.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/092.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/093.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/094.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/095.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/096.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/097.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/098.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/099.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/100.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/101-unclosed-tags.html -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/101.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/102-unquoted-attributes.html -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/102.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/103-simple-attribute.html -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/103.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/104.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/105.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/106.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/107.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/108.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/109.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/110.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/111.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/112.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/113.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/114.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/115.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/116.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/117.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/118.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/119.xml -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/120-translation-context.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/121-translation-comment.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/122-translation-ignore.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/123-html5-data-attributes.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/124-translation-target.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/125-macro-translation-ordering.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/126-define-escaping.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/127-tags-and-attributes-special-chars.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/237-double-define.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/238-macroname.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/greeting.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/hello_world.pt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/hello_world.txt -> build/lib/chameleon/tests/inputs
copying src/chameleon/tests/inputs/multinode-implicit-i18n.pt -> build/lib/chameleon/tests/inputs
creating build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/001.html -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/001.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/001.txt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/002.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/003.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/004.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/005.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/006.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/007.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/008.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/009.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/010.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/011-en.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/011.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/012-en.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/012.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/013.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/014.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/015-en.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/015.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/016-en.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/016.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/017.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/018-en.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/018.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/019.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/020.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/021-en.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/021.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/022.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/023.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/024.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/025.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/026.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/027.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/028.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/029.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/030.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/031.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/032.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/033.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/034.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/035.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/036.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/037.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/038.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/039.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/040.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/041.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/042.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/043.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/044.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/045.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/046.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/047.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/048.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/049.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/050.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/051.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/052.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/053.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/054.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/055.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/056.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/057.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/058.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/059.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/060.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/061.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/062.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/063.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/064.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/065.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/066.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/067.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/068.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/069-en.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/069.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/070-en.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/070.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/071.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/072.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/073.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/074.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/075.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/076.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/077-en.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/077.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/078.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/079-en.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/079.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/080.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/081.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/082.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/083.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/084.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/085-en.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/085.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/086.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/087.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/088.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/089.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/090.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/091.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/101.html -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/102.html -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/103.html -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/120-en.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/120.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/121.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/122.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/123.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/124-en.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/124.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/125.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/126.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/127.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/237.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/238.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/greeting.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/hello_world.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/hello_world.txt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/multinode-en.pt -> build/lib/chameleon/tests/outputs
copying src/chameleon/tests/outputs/multinode.pt -> build/lib/chameleon/tests/outputs
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/__init__.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/astutil.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/benchmark.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/codegen.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/compiler.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/config.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/exc.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/i18n.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/interfaces.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/loader.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/metal.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/namespaces.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/nodes.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/parser.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/program.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/tal.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/tales.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/template.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/tokenize.py -> build/bdist.linux-x86_64/wheel/chameleon
copying build/lib/chameleon/utils.py -> build/bdist.linux-x86_64/wheel/chameleon
creating build/bdist.linux-x86_64/wheel/chameleon/tests
copying build/lib/chameleon/tests/__init__.py -> build/bdist.linux-x86_64/wheel/chameleon/tests
copying build/lib/chameleon/tests/test_astutil.py -> build/bdist.linux-x86_64/wheel/chameleon/tests
copying build/lib/chameleon/tests/test_bools_plus_sniffing.py -> build/bdist.linux-x86_64/wheel/chameleon/tests
copying build/lib/chameleon/tests/test_doctests.py -> build/bdist.linux-x86_64/wheel/chameleon/tests
copying build/lib/chameleon/tests/test_exc.py -> build/bdist.linux-x86_64/wheel/chameleon/tests
copying build/lib/chameleon/tests/test_loader.py -> build/bdist.linux-x86_64/wheel/chameleon/tests
copying build/lib/chameleon/tests/test_parser.py -> build/bdist.linux-x86_64/wheel/chameleon/tests
copying build/lib/chameleon/tests/test_sniffing.py -> build/bdist.linux-x86_64/wheel/chameleon/tests
copying build/lib/chameleon/tests/test_templates.py -> build/bdist.linux-x86_64/wheel/chameleon/tests
copying build/lib/chameleon/tests/test_tokenizer.py -> build/bdist.linux-x86_64/wheel/chameleon/tests
copying build/lib/chameleon/tests/test_utils.py -> build/bdist.linux-x86_64/wheel/chameleon/tests
creating build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/001-interpolation.txt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/001-variable-scope.html -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/001-variable-scope.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/001.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/002-repeat-scope.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/002.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/003-content.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/003.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/004-attributes.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/004.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/005-default.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/005.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/006-attribute-interpolation.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/006.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/007-content-interpolation.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/007.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/008-builtins.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/008.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/009-literals.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/009.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/010-structure.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/010.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/011-messages.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/011.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/012-translation.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/012.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/013-repeat-nested.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/013.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/014-repeat-nested-similar.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/014.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/015-translation-nested.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/015.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/016-explicit-translation.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/016.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/017-omit-tag.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/017.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/018-translation-nested-dynamic.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/018.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/019-replace.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/019.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/020-on-error.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/020.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/021-translation-domain.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/021.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/022-switch.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/022.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/023-condition.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/023.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/024-namespace-elements.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/024.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/025-repeat-whitespace.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/025.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/026-repeat-variable.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/026.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/027-attribute-replacement.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/027.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/028-attribute-toggle.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/028.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/029-attribute-ordering.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/029.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/030-repeat-tuples.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/030.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/031-namespace-with-tal.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/031.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/032-master-template.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/032.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/033-use-macro-trivial.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/033.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/034-use-template-as-macro.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/034.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/035-use-macro-with-fill-slot.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/035.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/036-use-macro-inherits-dynamic-scope.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/036.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/037-use-macro-local-variable-scope.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/037.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/038-use-macro-globals.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/038.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/039-globals.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/039.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/040-macro-using-template-symbol.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/040.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/041-translate-nested-names.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/041.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/042-use-macro-fill-footer.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/042.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/043-macro-nested-dynamic-vars.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/043.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/044-tuple-define.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/044.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/045-namespaces.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/045.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/046-extend-macro.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/046.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/047-use-extended-macro.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/047.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/048-use-extended-macro-fill-original.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/048.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/049-entities-in-attributes.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/049.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/050-define-macro-and-use-not-extend.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/050.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/051-use-non-extended-macro.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/051.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/052-i18n-domain-inside-filled-slot.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/052.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/053-special-characters-in-attributes.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/053.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/054-import-expression.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/054.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/055-attribute-fallback-to-dict-lookup.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/055.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/056-comment-attribute.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/056.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/057-order.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/057.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/058-script.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/058.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/059-embedded-javascript.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/059.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/060-macro-with-multiple-same-slots.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/060.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/061-fill-one-slot-but-two-defined.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/061.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/062-comments-and-expressions.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/062.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/063-continuation.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/063.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/064-tags-and-special-characters.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/064.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/065-use-macro-in-fill.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/065.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/066-load-expression.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/066.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/067-attribute-decode.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/067.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/068-less-than-greater-than-in-attributes.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/068.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/069-translation-domain-and-macro.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/069.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/070-translation-domain-and-use-macro.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/070.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/071-html-attribute-defaults.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/071.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/072-repeat-interpolation.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/072.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/073-utf8-encoded.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/073.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/074-encoded-template.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/074.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/075-nested-macros.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/075.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/076-nested-macro-override.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/076.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/077-i18n-attributes.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/077.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/078-tags-and-newlines.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/078.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/079-implicit-i18n.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/079.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/080-xmlns-namespace-on-tal.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/080.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/081-load-spec.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/081.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/082-load-spec-computed.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/082.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/083-template-dict-to-macro.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/083.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/084-interpolation-in-cdata.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/084.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/085-nested-translation.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/085.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/086-self-closing.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/086.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/087-code-blocks.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/087.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/088-python-newlines.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/088.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/089-load-fallback.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/089.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/090-tuple-expression.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/090.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/091-repeat-none.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/091.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/092.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/093.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/094.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/095.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/096.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/097.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/098.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/099.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/100.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/101-unclosed-tags.html -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/101.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/102-unquoted-attributes.html -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/102.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/103-simple-attribute.html -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/103.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/104.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/105.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/106.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/107.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/108.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/109.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/110.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/111.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/112.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/113.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/114.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/115.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/116.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/117.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/118.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/119.xml -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/120-translation-context.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/121-translation-comment.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/122-translation-ignore.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/123-html5-data-attributes.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/124-translation-target.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/125-macro-translation-ordering.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/126-define-escaping.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/127-tags-and-attributes-special-chars.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/237-double-define.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/238-macroname.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/greeting.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/hello_world.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/hello_world.txt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
copying build/lib/chameleon/tests/inputs/multinode-implicit-i18n.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/inputs
creating build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/001.html -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/001.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/001.txt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/002.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/003.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/004.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/005.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/006.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/007.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/008.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/009.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/010.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/011-en.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/011.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/012-en.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/012.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/013.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/014.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/015-en.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/015.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/016-en.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/016.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/017.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/018-en.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/018.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/019.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/020.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/021-en.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/021.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/022.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/023.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/024.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/025.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/026.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/027.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/028.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/029.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/030.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/031.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/032.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/033.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/034.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/035.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/036.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/037.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/038.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/039.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/040.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/041.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/042.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/043.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/044.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/045.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/046.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/047.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/048.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/049.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/050.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/051.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/052.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/053.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/054.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/055.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/056.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/057.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/058.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/059.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/060.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/061.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/062.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/063.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/064.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/065.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/066.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/067.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/068.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/069-en.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/069.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/070-en.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/070.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/071.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/072.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/073.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/074.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/075.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/076.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/077-en.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/077.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/078.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/079-en.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/079.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/080.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/081.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/082.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/083.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/084.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/085-en.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/085.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/086.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/087.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/088.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/089.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/090.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/091.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/101.html -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/102.html -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/103.html -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/120-en.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/120.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/121.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/122.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/123.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/124-en.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/124.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/125.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/126.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/127.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/237.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/238.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/greeting.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/hello_world.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/hello_world.txt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/multinode-en.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
copying build/lib/chameleon/tests/outputs/multinode.pt -> build/bdist.linux-x86_64/wheel/chameleon/tests/outputs
creating build/bdist.linux-x86_64/wheel/chameleon/zpt
copying build/lib/chameleon/zpt/__init__.py -> build/bdist.linux-x86_64/wheel/chameleon/zpt
copying build/lib/chameleon/zpt/loader.py -> build/bdist.linux-x86_64/wheel/chameleon/zpt
copying build/lib/chameleon/zpt/program.py -> build/bdist.linux-x86_64/wheel/chameleon/zpt
copying build/lib/chameleon/zpt/template.py -> build/bdist.linux-x86_64/wheel/chameleon/zpt
running install_egg_info
Copying src/Chameleon.egg-info to build/bdist.linux-x86_64/wheel/Chameleon-4.3.0-py3.8.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/Chameleon-4.3.0.dist-info/WHEEL
creating '/home/tkloczko/rpmbuild/BUILD/chameleon-4.3.0/dist/.tmp-wsgxwile/Chameleon-4.3.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'chameleon/__init__.py'
adding 'chameleon/astutil.py'
adding 'chameleon/benchmark.py'
adding 'chameleon/codegen.py'
adding 'chameleon/compiler.py'
adding 'chameleon/config.py'
adding 'chameleon/exc.py'
adding 'chameleon/i18n.py'
adding 'chameleon/interfaces.py'
adding 'chameleon/loader.py'
adding 'chameleon/metal.py'
adding 'chameleon/namespaces.py'
adding 'chameleon/nodes.py'
adding 'chameleon/parser.py'
adding 'chameleon/program.py'
adding 'chameleon/tal.py'
adding 'chameleon/tales.py'
adding 'chameleon/template.py'
adding 'chameleon/tokenize.py'
adding 'chameleon/utils.py'
adding 'chameleon/tests/__init__.py'
adding 'chameleon/tests/test_astutil.py'
adding 'chameleon/tests/test_bools_plus_sniffing.py'
adding 'chameleon/tests/test_doctests.py'
adding 'chameleon/tests/test_exc.py'
adding 'chameleon/tests/test_loader.py'
adding 'chameleon/tests/test_parser.py'
adding 'chameleon/tests/test_sniffing.py'
adding 'chameleon/tests/test_templates.py'
adding 'chameleon/tests/test_tokenizer.py'
adding 'chameleon/tests/test_utils.py'
adding 'chameleon/tests/inputs/001-interpolation.txt'
adding 'chameleon/tests/inputs/001-variable-scope.html'
adding 'chameleon/tests/inputs/001-variable-scope.pt'
adding 'chameleon/tests/inputs/001.xml'
adding 'chameleon/tests/inputs/002-repeat-scope.pt'
adding 'chameleon/tests/inputs/002.xml'
adding 'chameleon/tests/inputs/003-content.pt'
adding 'chameleon/tests/inputs/003.xml'
adding 'chameleon/tests/inputs/004-attributes.pt'
adding 'chameleon/tests/inputs/004.xml'
adding 'chameleon/tests/inputs/005-default.pt'
adding 'chameleon/tests/inputs/005.xml'
adding 'chameleon/tests/inputs/006-attribute-interpolation.pt'
adding 'chameleon/tests/inputs/006.xml'
adding 'chameleon/tests/inputs/007-content-interpolation.pt'
adding 'chameleon/tests/inputs/007.xml'
adding 'chameleon/tests/inputs/008-builtins.pt'
adding 'chameleon/tests/inputs/008.xml'
adding 'chameleon/tests/inputs/009-literals.pt'
adding 'chameleon/tests/inputs/009.xml'
adding 'chameleon/tests/inputs/010-structure.pt'
adding 'chameleon/tests/inputs/010.xml'
adding 'chameleon/tests/inputs/011-messages.pt'
adding 'chameleon/tests/inputs/011.xml'
adding 'chameleon/tests/inputs/012-translation.pt'
adding 'chameleon/tests/inputs/012.xml'
adding 'chameleon/tests/inputs/013-repeat-nested.pt'
adding 'chameleon/tests/inputs/013.xml'
adding 'chameleon/tests/inputs/014-repeat-nested-similar.pt'
adding 'chameleon/tests/inputs/014.xml'
adding 'chameleon/tests/inputs/015-translation-nested.pt'
adding 'chameleon/tests/inputs/015.xml'
adding 'chameleon/tests/inputs/016-explicit-translation.pt'
adding 'chameleon/tests/inputs/016.xml'
adding 'chameleon/tests/inputs/017-omit-tag.pt'
adding 'chameleon/tests/inputs/017.xml'
adding 'chameleon/tests/inputs/018-translation-nested-dynamic.pt'
adding 'chameleon/tests/inputs/018.xml'
adding 'chameleon/tests/inputs/019-replace.pt'
adding 'chameleon/tests/inputs/019.xml'
adding 'chameleon/tests/inputs/020-on-error.pt'
adding 'chameleon/tests/inputs/020.xml'
adding 'chameleon/tests/inputs/021-translation-domain.pt'
adding 'chameleon/tests/inputs/021.xml'
adding 'chameleon/tests/inputs/022-switch.pt'
adding 'chameleon/tests/inputs/022.xml'
adding 'chameleon/tests/inputs/023-condition.pt'
adding 'chameleon/tests/inputs/023.xml'
adding 'chameleon/tests/inputs/024-namespace-elements.pt'
adding 'chameleon/tests/inputs/024.xml'
adding 'chameleon/tests/inputs/025-repeat-whitespace.pt'
adding 'chameleon/tests/inputs/025.xml'
adding 'chameleon/tests/inputs/026-repeat-variable.pt'
adding 'chameleon/tests/inputs/026.xml'
adding 'chameleon/tests/inputs/027-attribute-replacement.pt'
adding 'chameleon/tests/inputs/027.xml'
adding 'chameleon/tests/inputs/028-attribute-toggle.pt'
adding 'chameleon/tests/inputs/028.xml'
adding 'chameleon/tests/inputs/029-attribute-ordering.pt'
adding 'chameleon/tests/inputs/029.xml'
adding 'chameleon/tests/inputs/030-repeat-tuples.pt'
adding 'chameleon/tests/inputs/030.xml'
adding 'chameleon/tests/inputs/031-namespace-with-tal.pt'
adding 'chameleon/tests/inputs/031.xml'
adding 'chameleon/tests/inputs/032-master-template.pt'
adding 'chameleon/tests/inputs/032.xml'
adding 'chameleon/tests/inputs/033-use-macro-trivial.pt'
adding 'chameleon/tests/inputs/033.xml'
adding 'chameleon/tests/inputs/034-use-template-as-macro.pt'
adding 'chameleon/tests/inputs/034.xml'
adding 'chameleon/tests/inputs/035-use-macro-with-fill-slot.pt'
adding 'chameleon/tests/inputs/035.xml'
adding 'chameleon/tests/inputs/036-use-macro-inherits-dynamic-scope.pt'
adding 'chameleon/tests/inputs/036.xml'
adding 'chameleon/tests/inputs/037-use-macro-local-variable-scope.pt'
adding 'chameleon/tests/inputs/037.xml'
adding 'chameleon/tests/inputs/038-use-macro-globals.pt'
adding 'chameleon/tests/inputs/038.xml'
adding 'chameleon/tests/inputs/039-globals.pt'
adding 'chameleon/tests/inputs/039.xml'
adding 'chameleon/tests/inputs/040-macro-using-template-symbol.pt'
adding 'chameleon/tests/inputs/040.xml'
adding 'chameleon/tests/inputs/041-translate-nested-names.pt'
adding 'chameleon/tests/inputs/041.xml'
adding 'chameleon/tests/inputs/042-use-macro-fill-footer.pt'
adding 'chameleon/tests/inputs/042.xml'
adding 'chameleon/tests/inputs/043-macro-nested-dynamic-vars.pt'
adding 'chameleon/tests/inputs/043.xml'
adding 'chameleon/tests/inputs/044-tuple-define.pt'
adding 'chameleon/tests/inputs/044.xml'
adding 'chameleon/tests/inputs/045-namespaces.pt'
adding 'chameleon/tests/inputs/045.xml'
adding 'chameleon/tests/inputs/046-extend-macro.pt'
adding 'chameleon/tests/inputs/046.xml'
adding 'chameleon/tests/inputs/047-use-extended-macro.pt'
adding 'chameleon/tests/inputs/047.xml'
adding 'chameleon/tests/inputs/048-use-extended-macro-fill-original.pt'
adding 'chameleon/tests/inputs/048.xml'
adding 'chameleon/tests/inputs/049-entities-in-attributes.pt'
adding 'chameleon/tests/inputs/049.xml'
adding 'chameleon/tests/inputs/050-define-macro-and-use-not-extend.pt'
adding 'chameleon/tests/inputs/050.xml'
adding 'chameleon/tests/inputs/051-use-non-extended-macro.pt'
adding 'chameleon/tests/inputs/051.xml'
adding 'chameleon/tests/inputs/052-i18n-domain-inside-filled-slot.pt'
adding 'chameleon/tests/inputs/052.xml'
adding 'chameleon/tests/inputs/053-special-characters-in-attributes.pt'
adding 'chameleon/tests/inputs/053.xml'
adding 'chameleon/tests/inputs/054-import-expression.pt'
adding 'chameleon/tests/inputs/054.xml'
adding 'chameleon/tests/inputs/055-attribute-fallback-to-dict-lookup.pt'
adding 'chameleon/tests/inputs/055.xml'
adding 'chameleon/tests/inputs/056-comment-attribute.pt'
adding 'chameleon/tests/inputs/056.xml'
adding 'chameleon/tests/inputs/057-order.pt'
adding 'chameleon/tests/inputs/057.xml'
adding 'chameleon/tests/inputs/058-script.pt'
adding 'chameleon/tests/inputs/058.xml'
adding 'chameleon/tests/inputs/059-embedded-javascript.pt'
adding 'chameleon/tests/inputs/059.xml'
adding 'chameleon/tests/inputs/060-macro-with-multiple-same-slots.pt'
adding 'chameleon/tests/inputs/060.xml'
adding 'chameleon/tests/inputs/061-fill-one-slot-but-two-defined.pt'
adding 'chameleon/tests/inputs/061.xml'
adding 'chameleon/tests/inputs/062-comments-and-expressions.pt'
adding 'chameleon/tests/inputs/062.xml'
adding 'chameleon/tests/inputs/063-continuation.pt'
adding 'chameleon/tests/inputs/063.xml'
adding 'chameleon/tests/inputs/064-tags-and-special-characters.pt'
adding 'chameleon/tests/inputs/064.xml'
adding 'chameleon/tests/inputs/065-use-macro-in-fill.pt'
adding 'chameleon/tests/inputs/065.xml'
adding 'chameleon/tests/inputs/066-load-expression.pt'
adding 'chameleon/tests/inputs/066.xml'
adding 'chameleon/tests/inputs/067-attribute-decode.pt'
adding 'chameleon/tests/inputs/067.xml'
adding 'chameleon/tests/inputs/068-less-than-greater-than-in-attributes.pt'
adding 'chameleon/tests/inputs/068.xml'
adding 'chameleon/tests/inputs/069-translation-domain-and-macro.pt'
adding 'chameleon/tests/inputs/069.xml'
adding 'chameleon/tests/inputs/070-translation-domain-and-use-macro.pt'
adding 'chameleon/tests/inputs/070.xml'
adding 'chameleon/tests/inputs/071-html-attribute-defaults.pt'
adding 'chameleon/tests/inputs/071.xml'
adding 'chameleon/tests/inputs/072-repeat-interpolation.pt'
adding 'chameleon/tests/inputs/072.xml'
adding 'chameleon/tests/inputs/073-utf8-encoded.pt'
adding 'chameleon/tests/inputs/073.xml'
adding 'chameleon/tests/inputs/074-encoded-template.pt'
adding 'chameleon/tests/inputs/074.xml'
adding 'chameleon/tests/inputs/075-nested-macros.pt'
adding 'chameleon/tests/inputs/075.xml'
adding 'chameleon/tests/inputs/076-nested-macro-override.pt'
adding 'chameleon/tests/inputs/076.xml'
adding 'chameleon/tests/inputs/077-i18n-attributes.pt'
adding 'chameleon/tests/inputs/077.xml'
adding 'chameleon/tests/inputs/078-tags-and-newlines.pt'
adding 'chameleon/tests/inputs/078.xml'
adding 'chameleon/tests/inputs/079-implicit-i18n.pt'
adding 'chameleon/tests/inputs/079.xml'
adding 'chameleon/tests/inputs/080-xmlns-namespace-on-tal.pt'
adding 'chameleon/tests/inputs/080.xml'
adding 'chameleon/tests/inputs/081-load-spec.pt'
adding 'chameleon/tests/inputs/081.xml'
adding 'chameleon/tests/inputs/082-load-spec-computed.pt'
adding 'chameleon/tests/inputs/082.xml'
adding 'chameleon/tests/inputs/083-template-dict-to-macro.pt'
adding 'chameleon/tests/inputs/083.xml'
adding 'chameleon/tests/inputs/084-interpolation-in-cdata.pt'
adding 'chameleon/tests/inputs/084.xml'
adding 'chameleon/tests/inputs/085-nested-translation.pt'
adding 'chameleon/tests/inputs/085.xml'
adding 'chameleon/tests/inputs/086-self-closing.pt'
adding 'chameleon/tests/inputs/086.xml'
adding 'chameleon/tests/inputs/087-code-blocks.pt'
adding 'chameleon/tests/inputs/087.xml'
adding 'chameleon/tests/inputs/088-python-newlines.pt'
adding 'chameleon/tests/inputs/088.xml'
adding 'chameleon/tests/inputs/089-load-fallback.pt'
adding 'chameleon/tests/inputs/089.xml'
adding 'chameleon/tests/inputs/090-tuple-expression.pt'
adding 'chameleon/tests/inputs/090.xml'
adding 'chameleon/tests/inputs/091-repeat-none.pt'
adding 'chameleon/tests/inputs/091.xml'
adding 'chameleon/tests/inputs/092.xml'
adding 'chameleon/tests/inputs/093.xml'
adding 'chameleon/tests/inputs/094.xml'
adding 'chameleon/tests/inputs/095.xml'
adding 'chameleon/tests/inputs/096.xml'
adding 'chameleon/tests/inputs/097.xml'
adding 'chameleon/tests/inputs/098.xml'
adding 'chameleon/tests/inputs/099.xml'
adding 'chameleon/tests/inputs/100.xml'
adding 'chameleon/tests/inputs/101-unclosed-tags.html'
adding 'chameleon/tests/inputs/101.xml'
adding 'chameleon/tests/inputs/102-unquoted-attributes.html'
adding 'chameleon/tests/inputs/102.xml'
adding 'chameleon/tests/inputs/103-simple-attribute.html'
adding 'chameleon/tests/inputs/103.xml'
adding 'chameleon/tests/inputs/104.xml'
adding 'chameleon/tests/inputs/105.xml'
adding 'chameleon/tests/inputs/106.xml'
adding 'chameleon/tests/inputs/107.xml'
adding 'chameleon/tests/inputs/108.xml'
adding 'chameleon/tests/inputs/109.xml'
adding 'chameleon/tests/inputs/110.xml'
adding 'chameleon/tests/inputs/111.xml'
adding 'chameleon/tests/inputs/112.xml'
adding 'chameleon/tests/inputs/113.xml'
adding 'chameleon/tests/inputs/114.xml'
adding 'chameleon/tests/inputs/115.xml'
adding 'chameleon/tests/inputs/116.xml'
adding 'chameleon/tests/inputs/117.xml'
adding 'chameleon/tests/inputs/118.xml'
adding 'chameleon/tests/inputs/119.xml'
adding 'chameleon/tests/inputs/120-translation-context.pt'
adding 'chameleon/tests/inputs/121-translation-comment.pt'
adding 'chameleon/tests/inputs/122-translation-ignore.pt'
adding 'chameleon/tests/inputs/123-html5-data-attributes.pt'
adding 'chameleon/tests/inputs/124-translation-target.pt'
adding 'chameleon/tests/inputs/125-macro-translation-ordering.pt'
adding 'chameleon/tests/inputs/126-define-escaping.pt'
adding 'chameleon/tests/inputs/127-tags-and-attributes-special-chars.pt'
adding 'chameleon/tests/inputs/237-double-define.pt'
adding 'chameleon/tests/inputs/238-macroname.pt'
adding 'chameleon/tests/inputs/greeting.pt'
adding 'chameleon/tests/inputs/hello_world.pt'
adding 'chameleon/tests/inputs/hello_world.txt'
adding 'chameleon/tests/inputs/multinode-implicit-i18n.pt'
adding 'chameleon/tests/outputs/001.html'
adding 'chameleon/tests/outputs/001.pt'
adding 'chameleon/tests/outputs/001.txt'
adding 'chameleon/tests/outputs/002.pt'
adding 'chameleon/tests/outputs/003.pt'
adding 'chameleon/tests/outputs/004.pt'
adding 'chameleon/tests/outputs/005.pt'
adding 'chameleon/tests/outputs/006.pt'
adding 'chameleon/tests/outputs/007.pt'
adding 'chameleon/tests/outputs/008.pt'
adding 'chameleon/tests/outputs/009.pt'
adding 'chameleon/tests/outputs/010.pt'
adding 'chameleon/tests/outputs/011-en.pt'
adding 'chameleon/tests/outputs/011.pt'
adding 'chameleon/tests/outputs/012-en.pt'
adding 'chameleon/tests/outputs/012.pt'
adding 'chameleon/tests/outputs/013.pt'
adding 'chameleon/tests/outputs/014.pt'
adding 'chameleon/tests/outputs/015-en.pt'
adding 'chameleon/tests/outputs/015.pt'
adding 'chameleon/tests/outputs/016-en.pt'
adding 'chameleon/tests/outputs/016.pt'
adding 'chameleon/tests/outputs/017.pt'
adding 'chameleon/tests/outputs/018-en.pt'
adding 'chameleon/tests/outputs/018.pt'
adding 'chameleon/tests/outputs/019.pt'
adding 'chameleon/tests/outputs/020.pt'
adding 'chameleon/tests/outputs/021-en.pt'
adding 'chameleon/tests/outputs/021.pt'
adding 'chameleon/tests/outputs/022.pt'
adding 'chameleon/tests/outputs/023.pt'
adding 'chameleon/tests/outputs/024.pt'
adding 'chameleon/tests/outputs/025.pt'
adding 'chameleon/tests/outputs/026.pt'
adding 'chameleon/tests/outputs/027.pt'
adding 'chameleon/tests/outputs/028.pt'
adding 'chameleon/tests/outputs/029.pt'
adding 'chameleon/tests/outputs/030.pt'
adding 'chameleon/tests/outputs/031.pt'
adding 'chameleon/tests/outputs/032.pt'
adding 'chameleon/tests/outputs/033.pt'
adding 'chameleon/tests/outputs/034.pt'
adding 'chameleon/tests/outputs/035.pt'
adding 'chameleon/tests/outputs/036.pt'
adding 'chameleon/tests/outputs/037.pt'
adding 'chameleon/tests/outputs/038.pt'
adding 'chameleon/tests/outputs/039.pt'
adding 'chameleon/tests/outputs/040.pt'
adding 'chameleon/tests/outputs/041.pt'
adding 'chameleon/tests/outputs/042.pt'
adding 'chameleon/tests/outputs/043.pt'
adding 'chameleon/tests/outputs/044.pt'
adding 'chameleon/tests/outputs/045.pt'
adding 'chameleon/tests/outputs/046.pt'
adding 'chameleon/tests/outputs/047.pt'
adding 'chameleon/tests/outputs/048.pt'
adding 'chameleon/tests/outputs/049.pt'
adding 'chameleon/tests/outputs/050.pt'
adding 'chameleon/tests/outputs/051.pt'
adding 'chameleon/tests/outputs/052.pt'
adding 'chameleon/tests/outputs/053.pt'
adding 'chameleon/tests/outputs/054.pt'
adding 'chameleon/tests/outputs/055.pt'
adding 'chameleon/tests/outputs/056.pt'
adding 'chameleon/tests/outputs/057.pt'
adding 'chameleon/tests/outputs/058.pt'
adding 'chameleon/tests/outputs/059.pt'
adding 'chameleon/tests/outputs/060.pt'
adding 'chameleon/tests/outputs/061.pt'
adding 'chameleon/tests/outputs/062.pt'
adding 'chameleon/tests/outputs/063.pt'
adding 'chameleon/tests/outputs/064.pt'
adding 'chameleon/tests/outputs/065.pt'
adding 'chameleon/tests/outputs/066.pt'
adding 'chameleon/tests/outputs/067.pt'
adding 'chameleon/tests/outputs/068.pt'
adding 'chameleon/tests/outputs/069-en.pt'
adding 'chameleon/tests/outputs/069.pt'
adding 'chameleon/tests/outputs/070-en.pt'
adding 'chameleon/tests/outputs/070.pt'
adding 'chameleon/tests/outputs/071.pt'
adding 'chameleon/tests/outputs/072.pt'
adding 'chameleon/tests/outputs/073.pt'
adding 'chameleon/tests/outputs/074.pt'
adding 'chameleon/tests/outputs/075.pt'
adding 'chameleon/tests/outputs/076.pt'
adding 'chameleon/tests/outputs/077-en.pt'
adding 'chameleon/tests/outputs/077.pt'
adding 'chameleon/tests/outputs/078.pt'
adding 'chameleon/tests/outputs/079-en.pt'
adding 'chameleon/tests/outputs/079.pt'
adding 'chameleon/tests/outputs/080.pt'
adding 'chameleon/tests/outputs/081.pt'
adding 'chameleon/tests/outputs/082.pt'
adding 'chameleon/tests/outputs/083.pt'
adding 'chameleon/tests/outputs/084.pt'
adding 'chameleon/tests/outputs/085-en.pt'
adding 'chameleon/tests/outputs/085.pt'
adding 'chameleon/tests/outputs/086.pt'
adding 'chameleon/tests/outputs/087.pt'
adding 'chameleon/tests/outputs/088.pt'
adding 'chameleon/tests/outputs/089.pt'
adding 'chameleon/tests/outputs/090.pt'
adding 'chameleon/tests/outputs/091.pt'
adding 'chameleon/tests/outputs/101.html'
adding 'chameleon/tests/outputs/102.html'
adding 'chameleon/tests/outputs/103.html'
adding 'chameleon/tests/outputs/120-en.pt'
adding 'chameleon/tests/outputs/120.pt'
adding 'chameleon/tests/outputs/121.pt'
adding 'chameleon/tests/outputs/122.pt'
adding 'chameleon/tests/outputs/123.pt'
adding 'chameleon/tests/outputs/124-en.pt'
adding 'chameleon/tests/outputs/124.pt'
adding 'chameleon/tests/outputs/125.pt'
adding 'chameleon/tests/outputs/126.pt'
adding 'chameleon/tests/outputs/127.pt'
adding 'chameleon/tests/outputs/237.pt'
adding 'chameleon/tests/outputs/238.pt'
adding 'chameleon/tests/outputs/greeting.pt'
adding 'chameleon/tests/outputs/hello_world.pt'
adding 'chameleon/tests/outputs/hello_world.txt'
adding 'chameleon/tests/outputs/multinode-en.pt'
adding 'chameleon/tests/outputs/multinode.pt'
adding 'chameleon/zpt/__init__.py'
adding 'chameleon/zpt/loader.py'
adding 'chameleon/zpt/program.py'
adding 'chameleon/zpt/template.py'
adding 'Chameleon-4.3.0.dist-info/LICENSE.txt'
adding 'Chameleon-4.3.0.dist-info/METADATA'
adding 'Chameleon-4.3.0.dist-info/WHEEL'
adding 'Chameleon-4.3.0.dist-info/top_level.txt'
adding 'Chameleon-4.3.0.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
/usr/lib/python3.8/site-packages/setuptools/command/build_py.py:207: _Warning: Package 'chameleon.tests.inputs' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'chameleon.tests.inputs' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'chameleon.tests.inputs' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'chameleon.tests.inputs' to be distributed and are
already explicitly excluding 'chameleon.tests.inputs' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
!!
check.warn(importable)
/usr/lib/python3.8/site-packages/setuptools/command/build_py.py:207: _Warning: Package 'chameleon.tests.outputs' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'chameleon.tests.outputs' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'chameleon.tests.outputs' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'chameleon.tests.outputs' to be distributed and are
already explicitly excluding 'chameleon.tests.outputs' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
!!
check.warn(importable)
Successfully built Chameleon-4.3.0-py3-none-any.whl Other thing is that test suite is part of the installed resources however looks like this is result of use relative imports in src/chameleon/tests code which does not allow move around that code (for example move to tests/) |
@kloczek agreed that the tests could be updated (and in particular, moved out from the source code). |
To be able do that first needs to be replaced all relative imports. Use relative imports is nothing more than than asking for troubles. Additionally each relative import causes additional syscall to obtain current directory. |
@kloczek I don't think Zope's test runner supports moving tests outside of the "package under test", or at least it needs to live inside a proper package. To get any further here, we'd need to change to another test runner, e.g. pytest. PRs are welcome! |
OK I made #400 which removes use relative imports. Just FTR here is updated pytest output for 4.4.2+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-chameleon-4.4.2-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-chameleon-4.4.2-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra -m 'not network'
==================================================================================== test session starts ====================================================================================
platform linux -- Python 3.8.18, pytest-7.4.3, pluggy-1.3.0
rootdir: /home/tkloczko/rpmbuild/BUILD/chameleon-4.4.2
collected 107 items
src/chameleon/tests/test_astutil.py . [ 0%]
src/chameleon/tests/test_bools_plus_sniffing.py .............................. [ 28%]
src/chameleon/tests/test_doctests.py EEEEE [ 33%]
src/chameleon/tests/test_exc.py .. [ 35%]
src/chameleon/tests/test_loader.py EEEEEEEEEE [ 44%]
src/chameleon/tests/test_parser.py .. [ 46%]
src/chameleon/tests/test_sniffing.py .... [ 50%]
src/chameleon/tests/test_templates.py ................................................ [ 95%]
src/chameleon/tests/test_tokenizer.py .. [ 97%]
src/chameleon/tests/test_utils.py ... [100%]
========================================================================================== ERRORS ===========================================================================================
________________________________________________________________________ ERROR at setup of DoctestCase.test_compiler ________________________________________________________________________
cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f7dc205d8b0>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: "Callable[[], TResult]",
when: "Literal['collect', 'setup', 'call', 'teardown']",
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.8/site-packages/_pytest/runner.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:262: in <lambda>
lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/_hooks.py:493: in __call__
return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
/usr/lib/python3.8/site-packages/pluggy/_manager.py:115: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.8/site-packages/_pytest/runner.py:157: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:497: in setup
raise exc
/usr/lib/python3.8/site-packages/_pytest/runner.py:494: in setup
col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <TestCaseFunction test_compiler>
def setup(self) -> None:
# A bound method to be called during teardown() if set (see 'runtest()').
self._explicit_tearDown: Optional[Callable[[], None]] = None
assert self.parent is not None
self._testcase = self.parent.obj(self.name) # type: ignore[attr-defined]
> self._obj = getattr(self._testcase, self.name)
E AttributeError: '_DocTestSuite' object has no attribute 'test_compiler'
/usr/lib/python3.8/site-packages/_pytest/unittest.py:202: AttributeError
__________________________________________________________________________ ERROR at setup of DoctestCase.test_exc ___________________________________________________________________________
cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f7dc19ca8b0>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: "Callable[[], TResult]",
when: "Literal['collect', 'setup', 'call', 'teardown']",
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.8/site-packages/_pytest/runner.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:262: in <lambda>
lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/_hooks.py:493: in __call__
return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
/usr/lib/python3.8/site-packages/pluggy/_manager.py:115: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.8/site-packages/_pytest/runner.py:157: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:497: in setup
raise exc
/usr/lib/python3.8/site-packages/_pytest/runner.py:494: in setup
col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <TestCaseFunction test_exc>
def setup(self) -> None:
# A bound method to be called during teardown() if set (see 'runtest()').
self._explicit_tearDown: Optional[Callable[[], None]] = None
assert self.parent is not None
self._testcase = self.parent.obj(self.name) # type: ignore[attr-defined]
> self._obj = getattr(self._testcase, self.name)
E AttributeError: '_DocTestSuite' object has no attribute 'test_exc'
/usr/lib/python3.8/site-packages/_pytest/unittest.py:202: AttributeError
__________________________________________________________________________ ERROR at setup of DoctestCase.test_tal ___________________________________________________________________________
cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f7dc1fe1790>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: "Callable[[], TResult]",
when: "Literal['collect', 'setup', 'call', 'teardown']",
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.8/site-packages/_pytest/runner.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:262: in <lambda>
lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/_hooks.py:493: in __call__
return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
/usr/lib/python3.8/site-packages/pluggy/_manager.py:115: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.8/site-packages/_pytest/runner.py:157: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:497: in setup
raise exc
/usr/lib/python3.8/site-packages/_pytest/runner.py:494: in setup
col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <TestCaseFunction test_tal>
def setup(self) -> None:
# A bound method to be called during teardown() if set (see 'runtest()').
self._explicit_tearDown: Optional[Callable[[], None]] = None
assert self.parent is not None
self._testcase = self.parent.obj(self.name) # type: ignore[attr-defined]
> self._obj = getattr(self._testcase, self.name)
E AttributeError: '_DocTestSuite' object has no attribute 'test_tal'
/usr/lib/python3.8/site-packages/_pytest/unittest.py:202: AttributeError
_________________________________________________________________________ ERROR at setup of DoctestCase.test_tales __________________________________________________________________________
cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f7dc2b79f70>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: "Callable[[], TResult]",
when: "Literal['collect', 'setup', 'call', 'teardown']",
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.8/site-packages/_pytest/runner.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:262: in <lambda>
lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/_hooks.py:493: in __call__
return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
/usr/lib/python3.8/site-packages/pluggy/_manager.py:115: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.8/site-packages/_pytest/runner.py:157: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:497: in setup
raise exc
/usr/lib/python3.8/site-packages/_pytest/runner.py:494: in setup
col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <TestCaseFunction test_tales>
def setup(self) -> None:
# A bound method to be called during teardown() if set (see 'runtest()').
self._explicit_tearDown: Optional[Callable[[], None]] = None
assert self.parent is not None
self._testcase = self.parent.obj(self.name) # type: ignore[attr-defined]
> self._obj = getattr(self._testcase, self.name)
E AttributeError: '_DocTestSuite' object has no attribute 'test_tales'
/usr/lib/python3.8/site-packages/_pytest/unittest.py:202: AttributeError
_________________________________________________________________________ ERROR at setup of DoctestCase.test_utils __________________________________________________________________________
cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f7dc187a430>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@classmethod
def from_call(
cls,
func: "Callable[[], TResult]",
when: "Literal['collect', 'setup', 'call', 'teardown']",
reraise: Optional[
Union[Type[BaseException], Tuple[Type[BaseException], ...]]
] = None,
) -> "CallInfo[TResult]":
"""Call func, wrapping the result in a CallInfo.
:param func:
The function to call. Called without arguments.
:param when:
The phase in which the function is called.
:param reraise:
Exception or exceptions that shall propagate if raised by the
function, instead of being wrapped in the CallInfo.
"""
excinfo = None
start = timing.time()
precise_start = timing.perf_counter()
try:
> result: Optional[TResult] = func()
/usr/lib/python3.8/site-packages/_pytest/runner.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:262: in <lambda>
lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/_hooks.py:493: in __call__
return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
/usr/lib/python3.8/site-packages/pluggy/_manager.py:115: in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.8/site-packages/_pytest/runner.py:157: in pytest_runtest_setup
item.session._setupstate.setup(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:497: in setup
raise exc
/usr/lib/python3.8/site-packages/_pytest/runner.py:494: in setup
col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <TestCaseFunction test_utils>
def setup(self) -> None:
# A bound method to be called during teardown() if set (see 'runtest()').
self._explicit_tearDown: Optional[Callable[[], None]] = None
assert self.parent is not None
self._testcase = self.parent.obj(self.name) # type: ignore[attr-defined]
> self._obj = getattr(self._testcase, self.name)
E AttributeError: '_DocTestSuite' object has no attribute 'test_utils'
/usr/lib/python3.8/site-packages/_pytest/unittest.py:202: AttributeError
__________________________________________________________________ ERROR at setup of LoadPageTests.test_consecutive_loads ___________________________________________________________________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc17af2e0>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc169f0a0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc169f0a0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc17af2e0>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc169f0a0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc169f0a0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
_______________________________________________________________________ ERROR at setup of LoadPageTests.test_load_abs _______________________________________________________________________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc17ac640>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc198dac0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc198dac0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc17ac640>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc198dac0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc198dac0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
_______________________________________________________________________ ERROR at setup of LoadPageTests.test_load_egg _______________________________________________________________________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc17dbeb0>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc16bc4c0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc16bc4c0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc17dbeb0>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc16bc4c0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc16bc4c0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
____________________________________________________________________ ERROR at setup of LoadPageTests.test_load_relative _____________________________________________________________________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc15f4250>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc15eebe0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc15eebe0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc15f4250>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc15eebe0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc15eebe0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
_________________________________________________________ ERROR at setup of LoadPageTests.test_load_relative_badpath_in_searchpath __________________________________________________________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc1592d00>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc19808e0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc19808e0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc1592d00>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc19808e0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc19808e0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
______________________________________________________________________ ERROR at setup of LoadPageTests.test_load_wheel ______________________________________________________________________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc179f670>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc1612460>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc1612460>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc179f670>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc1612460>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc1612460>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
_______________________________________________________________________ ERROR at setup of ModuleLoadTests.test_build ________________________________________________________________________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc1830190>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc1783b50>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc1783b50>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc1830190>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc1783b50>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc1783b50>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
______________________________________________________________ ERROR at setup of ZPTLoadTests.test_load_getitem_gets_xml_file _______________________________________________________________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc15b47f0>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc1592340>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc1592340>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc15b47f0>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc1592340>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc1592340>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
_______________________________________________________________________ ERROR at setup of ZPTLoadTests.test_load_text _______________________________________________________________________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc1707f70>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc1dce9d0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc1dce9d0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc1707f70>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc1dce9d0>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc1dce9d0>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
_______________________________________________________________________ ERROR at setup of ZPTLoadTests.test_load_xml ________________________________________________________________________
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc156d970>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc175cd30>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
> opts, args = getopt.getopt(args, short_opts, self.long_opts)
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:246:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/getopt.py:95: in getopt
opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:])
/usr/lib64/python3.8/getopt.py:195: in do_shorts
if short_has_arg(opt, shortopts):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
opt = 'r', shortopts = 'v q n h V'
def short_has_arg(opt, shortopts):
for i in range(len(shortopts)):
if opt == shortopts[i] != ':':
return shortopts.startswith(':', i+1)
> raise GetoptError(_('option -%s not recognized') % opt, opt)
E getopt.GetoptError: option -r not recognized
/usr/lib64/python3.8/getopt.py:211: GetoptError
During handling of the above exception, another exception occurred:
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc175cd30>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
> ok = dist.parse_command_line()
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py:467: in parse_command_line
args = parser.getopt(args=self.script_args, object=self)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <distutils.fancy_getopt.FancyGetopt object at 0x7f7dc156d970>, args = ['-ra', '-m', 'not network'], object = <setuptools.dist.Distribution object at 0x7f7dc175cd30>
def getopt(self, args=None, object=None): # noqa: C901
"""Parse command-line options in args. Store as attributes on object.
If 'args' is None or not supplied, uses 'sys.argv[1:]'. If
'object' is None or not supplied, creates a new OptionDummy
object, stores option values there, and returns a tuple (args,
object). If 'object' is supplied, it is modified in place and
'getopt()' just returns 'args'; in both cases, the returned
'args' is a modified copy of the passed-in 'args' list, which
is left untouched.
"""
if args is None:
args = sys.argv[1:]
if object is None:
object = OptionDummy()
created_object = True
else:
created_object = False
self._grok_option_table()
short_opts = ' '.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
except getopt.error as msg:
> raise DistutilsArgError(msg)
E distutils.errors.DistutilsArgError: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/fancy_getopt.py:248: DistutilsArgError
During handling of the above exception, another exception occurred:
attrs = {}
def setup(**attrs):
# Make sure we have any requirements needed to interpret 'attrs'.
logging.configure()
_install_setup_requires(attrs)
> return distutils.core.setup(**attrs)
/usr/lib/python3.8/site-packages/setuptools/__init__.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attrs = {'script_args': ['-ra', '-m', 'not network'], 'script_name': 'pytest'}, klass = <class 'setuptools.dist.Distribution'>
dist = <setuptools.dist.Distribution object at 0x7f7dc175cd30>
def setup(**attrs): # noqa: C901
"""The gateway to the Distutils: do everything your setup script needs
to do, in a highly flexible and user-driven way. Briefly: create a
Distribution instance; find and parse config files; parse the command
line; run each Distutils command found there, customized by the options
supplied to 'setup()' (as keyword arguments), in config files, and on
the command line.
The Distribution instance might be an instance of a class supplied via
the 'distclass' keyword argument to 'setup'; if no such class is
supplied, then the Distribution class (in dist.py) is instantiated.
All other arguments to 'setup' (except for 'cmdclass') are used to set
attributes of the Distribution instance.
The 'cmdclass' argument, if supplied, is a dictionary mapping command
names to command classes. Each command encountered on the command line
will be turned into a command class, which is in turn instantiated; any
class found in 'cmdclass' is used in place of the default, which is
(for command 'foo_bar') class 'foo_bar' in module
'distutils.command.foo_bar'. The command class must provide a
'user_options' attribute which is a list of option specifiers for
'distutils.fancy_getopt'. Any command-line options between the current
and the next command are used to set attributes of the current command
object.
When the entire command-line has been successfully parsed, calls the
'run()' method on each command object in turn. This method will be
driven entirely by the Distribution object (which each command object
has a reference to, thanks to its constructor), and the
command-specific options that became attributes of each command
object.
"""
global _setup_stop_after, _setup_distribution
# Determine the distribution class -- either caller-supplied or
# our Distribution (see below).
klass = attrs.get('distclass')
if klass:
attrs.pop('distclass')
else:
klass = Distribution
if 'script_name' not in attrs:
attrs['script_name'] = os.path.basename(sys.argv[0])
if 'script_args' not in attrs:
attrs['script_args'] = sys.argv[1:]
# Create the Distribution instance, using the remaining arguments
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit("error in setup command: %s" % msg)
else:
raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
if _setup_stop_after == "init":
return dist
# Find and parse the config file(s): they will override options from
# the setup script, but be overridden by the command line.
dist.parse_config_files()
if DEBUG:
print("options (after parsing config files):")
dist.dump_option_dicts()
if _setup_stop_after == "config":
return dist
# Parse the command line and override config files; any
# command-line errors are the end user's fault, so turn them into
# SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
except DistutilsArgError as msg:
> raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
E SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E or: pytest --help [cmd1 cmd2 ...]
E or: pytest --help-commands
E or: pytest cmd --help
E
E error: option -r not recognized
/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py:174: SystemExit
================================================================================== short test summary info ==================================================================================
ERROR src/chameleon/tests/test_doctests.py::DoctestCase::test_compiler - AttributeError: '_DocTestSuite' object has no attribute 'test_compiler'
ERROR src/chameleon/tests/test_doctests.py::DoctestCase::test_exc - AttributeError: '_DocTestSuite' object has no attribute 'test_exc'
ERROR src/chameleon/tests/test_doctests.py::DoctestCase::test_tal - AttributeError: '_DocTestSuite' object has no attribute 'test_tal'
ERROR src/chameleon/tests/test_doctests.py::DoctestCase::test_tales - AttributeError: '_DocTestSuite' object has no attribute 'test_tales'
ERROR src/chameleon/tests/test_doctests.py::DoctestCase::test_utils - AttributeError: '_DocTestSuite' object has no attribute 'test_utils'
ERROR src/chameleon/tests/test_loader.py::LoadPageTests::test_consecutive_loads - SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
ERROR src/chameleon/tests/test_loader.py::LoadPageTests::test_load_abs - SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
ERROR src/chameleon/tests/test_loader.py::LoadPageTests::test_load_egg - SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
ERROR src/chameleon/tests/test_loader.py::LoadPageTests::test_load_relative - SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
ERROR src/chameleon/tests/test_loader.py::LoadPageTests::test_load_relative_badpath_in_searchpath - SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
ERROR src/chameleon/tests/test_loader.py::LoadPageTests::test_load_wheel - SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
ERROR src/chameleon/tests/test_loader.py::ModuleLoadTests::test_build - SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
ERROR src/chameleon/tests/test_loader.py::ZPTLoadTests::test_load_getitem_gets_xml_file - SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
ERROR src/chameleon/tests/test_loader.py::ZPTLoadTests::test_load_text - SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
ERROR src/chameleon/tests/test_loader.py::ZPTLoadTests::test_load_xml - SystemExit: usage: pytest [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
=============================================================================== 92 passed, 15 errors in 4.26s =============================================================================== |
@kloczek how does this work for you? |
Ha .. just found that you moved to pytest 😄 |
Closing this issue for now, but if this doesn't quite work for RPM packaging, let's reopen and sort out any remaining issues. |
Looks like 4.4.3 test suite is OK now (thank you). |
I'm trying to package your module as an rpm package. So I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.
python3 -sBm build -w --no-isolation
build
with--no-isolation
I'm using during all processes only locally installed modulesHere is pytest output:
The text was updated successfully, but these errors were encountered: