Bug 2098802
| Summary: | F37FailsToInstall: python3-testslide | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Miro Hrončok <mhroncok> |
| Component: | python-TestSlide | Assignee: | Davide Cavalca <davide> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | davide, filbranden, michel |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | python-TestSlide-2.7.0-4.fc37 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2022-06-30 15:30:18 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 2016048, 2045109, 2098880 | ||
|
Description
Miro Hrončok
2022-06-20 09:33:15 UTC
This bugzilla is likely a fallout from the Python 3.11 rebuild. If your package (or some of the dependencies it has) failed to rebuild during the Python 3.11 rebuild, they now fail to install. To fix this, packages need to be rebuilt in Rawhide. We will slowly triage the bugzillas, but we'd appreciate your help. If you know this is blocked by an existing reported build failure or another package not yet rebuilt with Python 3.11, please mark it as such by using the "Depends On"/"Blocks" bugzilla fields. That will help us determine what failures to prioritize. If this is not Python 3.11 related, please remove the PYTHON3.11 blocking tracker. Thank you and sorry for the inconvenience. Let me know if you need any help. Hello, This is the first reminder (step 3 from https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/#_package_removal_for_long_standing_ftbfs_and_fti_bugs). If you know about this problem and are planning on fixing it, please acknowledge so by setting the bug status to ASSIGNED. If you don't have time to maintain this package, consider orphaning it, so maintainers of dependent packages realize the problem. This is due to test failures
============================= test session starts ==============================
platform linux -- Python 3.11.0b3, pytest-7.1.2, pluggy-1.0.0
rootdir: /builddir/build/BUILD/TestSlide-2.7.0
plugins: typeguard-2.13.3
collected 162 items
tests/cli_unittest.py .................................... [ 22%]
tests/dsl_unittest.py .................................................F [ 53%]
............................F..F.. [ 74%]
tests/matchers_unittest.py ....................................F [ 96%]
tests/testcase_unittest.py .FF.. [100%]
=================================== FAILURES ===================================
____________ TestDSLAfterHook.test_assertions_run_after_after_hooks ____________
self = <tests.dsl_unittest.TestDSLAfterHook testMethod=test_assertions_run_after_after_hooks>
def test_assertions_run_after_after_hooks(self):
"""
Assertions must be the last thing executed, allowing any registered
after hooks to fulfill them.
"""
@context
def top(context):
context.memoize("target", lambda self: Mock())
@context.after
def call_target(self):
self.target.something()
@context.example
def assert_something_called(self):
self.mock_callable(self.target, "something").to_return_value(
None
).and_assert_called_once()
> self.run_first_context_first_example()
tests/dsl_unittest.py:1364:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/dsl_unittest.py:127: in run_first_context_first_example
self.run_example(Context.all_top_level_contexts[0].all_examples[0])
tests/dsl_unittest.py:119: in run_example
_ExampleRunner(exapmle, QuietFormatter(import_module_names=[__name__])).run()
testslide/__init__.py:540: in run
self._sync_run_all_hooks_and_example(context_data)
testslide/__init__.py:512: in _sync_run_all_hooks_and_example
aggregated_exceptions.raise_correct_exception()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = AggregatedExceptions()
def raise_correct_exception(self) -> None:
if not self.exceptions:
return
ex_types = {type(ex) for ex in self.exceptions}
if Skip in ex_types or unittest.SkipTest in ex_types:
raise Skip()
elif len(self.exceptions) == 1:
raise self.exceptions[0]
else:
> raise self
E testslide.AggregatedExceptions: 2 failures.
E <class 'AttributeError'>: module 'asyncio.coroutines' has no attribute 'CoroWrapper'
E <class 'testslide.mock_callable.UndefinedBehaviorForCall'>: <Mock id='140389426163088'>, 'something':
E Received call:
E But no behavior was defined for it.
testslide/__init__.py:291: AggregatedExceptions
__________ TestMockCallableIntegration.test_mock_callable_integration __________
self = <tests.dsl_unittest.TestMockCallableIntegration testMethod=test_mock_callable_integration>
def test_mock_callable_integration(self):
@context
def fail_top(context):
@context.sub_context
def fail_sub_context(context):
@context.example
def expect_fail(self):
self.mock_callable("os", "getcwd").for_call().to_return_value(
"mocked_cwd"
).and_assert_called_once()
@context
def pass_top(context):
@context.sub_context
def pass_sub_context(context):
@context.example
def expect_pass(self):
self.mock_callable("os", "getcwd").for_call().to_return_value(
"mocked_cwd"
).and_assert_called_once()
assert os.getcwd() == "mocked_cwd"
examples = _get_name_to_examples()
> self.run_example(examples["expect pass"])
tests/dsl_unittest.py:2007:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/dsl_unittest.py:119: in run_example
_ExampleRunner(exapmle, QuietFormatter(import_module_names=[__name__])).run()
testslide/__init__.py:540: in run
self._sync_run_all_hooks_and_example(context_data)
testslide/__init__.py:512: in _sync_run_all_hooks_and_example
aggregated_exceptions.raise_correct_exception()
testslide/__init__.py:289: in raise_correct_exception
raise self.exceptions[0]
testslide/__init__.py:273: in catch
yield
testslide/__init__.py:503: in _sync_run_all_hooks_and_example
self._fail_if_coroutine_function(self.example.code, context_data)
testslide/__init__.py:471: in _fail_if_coroutine_function
return func(*args, **kwargs)
tests/dsl_unittest.py:2000: in expect_pass
self.mock_callable("os", "getcwd").for_call().to_return_value(
testslide/mock_callable.py:891: in to_return_value
_ReturnValueRunner(
testslide/mock_callable.py:414: in __init__
if not allow_coro and _is_coroutine(value):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
obj = 'mocked_cwd'
def _is_coroutine(obj: Any) -> bool:
> return inspect.iscoroutine(obj) or isinstance(obj, asyncio.coroutines.CoroWrapper) # type: ignore
E AttributeError: module 'asyncio.coroutines' has no attribute 'CoroWrapper'
testslide/mock_callable.py:156: AttributeError
_______ TestMockConstructorIntegration.test_mock_constructor_integration _______
self = <tests.dsl_unittest.TestMockConstructorIntegration testMethod=test_mock_constructor_integration>
def test_mock_constructor_integration(self):
@context
def fail_top(context):
@context.sub_context
def fail_sub_context(context):
@context.example
def expect_fail(self):
self.mock_constructor("subprocess", "Popen").for_call(
["cmd"]
).to_return_value("mocked_popen").and_assert_called_once()
@context
def pass_top(context):
@context.sub_context
def pass_sub_context(context):
@context.example
def expect_pass(self):
self.mock_constructor("subprocess", "Popen").for_call(
["cmd"]
).to_return_value("mocked_popen").and_assert_called_once()
assert subprocess.Popen(["cmd"]) == "mocked_popen"
examples = _get_name_to_examples()
> self.run_example(examples["expect pass"])
tests/dsl_unittest.py:2093:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/dsl_unittest.py:119: in run_example
_ExampleRunner(exapmle, QuietFormatter(import_module_names=[__name__])).run()
testslide/__init__.py:540: in run
self._sync_run_all_hooks_and_example(context_data)
testslide/__init__.py:512: in _sync_run_all_hooks_and_example
aggregated_exceptions.raise_correct_exception()
testslide/__init__.py:289: in raise_correct_exception
raise self.exceptions[0]
testslide/__init__.py:273: in catch
yield
testslide/__init__.py:503: in _sync_run_all_hooks_and_example
self._fail_if_coroutine_function(self.example.code, context_data)
testslide/__init__.py:471: in _fail_if_coroutine_function
return func(*args, **kwargs)
tests/dsl_unittest.py:2088: in expect_pass
).to_return_value("mocked_popen").and_assert_called_once()
testslide/mock_callable.py:891: in to_return_value
_ReturnValueRunner(
testslide/mock_callable.py:414: in __init__
if not allow_coro and _is_coroutine(value):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
obj = 'mocked_popen'
def _is_coroutine(obj: Any) -> bool:
> return inspect.iscoroutine(obj) or isinstance(obj, asyncio.coroutines.CoroWrapper) # type: ignore
E AttributeError: module 'asyncio.coroutines' has no attribute 'CoroWrapper'
testslide/mock_callable.py:156: AttributeError
________________ TestUsageWithPatchCallable.test_patch_callable ________________
self = <tests.matchers_unittest.TestUsageWithPatchCallable testMethod=test_patch_callable>
def test_patch_callable(self):
self.mock_callable(sample_module, "test_function").for_call(
testslide.matchers.RegexMatches("foo"),
testslide.matchers.RegexMatches("bar"),
> ).to_return_value(["mocked_response"])
tests/matchers_unittest.py:364:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
testslide/mock_callable.py:891: in to_return_value
_ReturnValueRunner(
testslide/mock_callable.py:414: in __init__
if not allow_coro and _is_coroutine(value):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
obj = ['mocked_response']
def _is_coroutine(obj: Any) -> bool:
> return inspect.iscoroutine(obj) or isinstance(obj, asyncio.coroutines.CoroWrapper) # type: ignore
E AttributeError: module 'asyncio.coroutines' has no attribute 'CoroWrapper'
testslide/mock_callable.py:156: AttributeError
_____________ TestSlideTestCaseIntegration.test_has_mock_callable ______________
self = <tests.testcase_unittest.TestSlideTestCaseIntegration testMethod=test_has_mock_callable>
def test_has_mock_callable(self):
> self.mock_callable(SomeClass, "do_something").to_return_value(
42
).and_assert_called_once()
tests/testcase_unittest.py:35:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
testslide/mock_callable.py:891: in to_return_value
_ReturnValueRunner(
testslide/mock_callable.py:414: in __init__
if not allow_coro and _is_coroutine(value):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
obj = 42
def _is_coroutine(obj: Any) -> bool:
> return inspect.iscoroutine(obj) or isinstance(obj, asyncio.coroutines.CoroWrapper) # type: ignore
E AttributeError: module 'asyncio.coroutines' has no attribute 'CoroWrapper'
testslide/mock_callable.py:156: AttributeError
____________ TestSlideTestCaseIntegration.test_has_mock_constructor ____________
self = <tests.testcase_unittest.TestSlideTestCaseIntegration testMethod=test_has_mock_constructor>
def test_has_mock_constructor(self):
dict_reader = testslide.StrictMock(csv.DictReader)
path = "/meh"
> self.mock_constructor(csv, "DictReader").for_call(path).to_return_value(
dict_reader
)
tests/testcase_unittest.py:55:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
testslide/mock_callable.py:891: in to_return_value
_ReturnValueRunner(
testslide/mock_callable.py:414: in __init__
if not allow_coro and _is_coroutine(value):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
obj = <StrictMock 0x7FAEF5F777D0 template=csv.DictReader /builddir/build/BUILD/TestSlide-2.7.0/tests/testcase_unittest.py:53>
def _is_coroutine(obj: Any) -> bool:
> return inspect.iscoroutine(obj) or isinstance(obj, asyncio.coroutines.CoroWrapper) # type: ignore
E AttributeError: module 'asyncio.coroutines' has no attribute 'CoroWrapper'
testslide/mock_callable.py:156: AttributeError
=============================== warnings summary ===============================
tests/cli_unittest.py:570
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:570: DeprecationWarning: invalid escape sequence '\d'
" example: passing_example @ tests/sample_tests.py:\d+\n"
tests/cli_unittest.py:572
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:572: DeprecationWarning: invalid escape sequence '\d'
" example: failing_example @ tests/sample_tests.py:\d+\n"
tests/cli_unittest.py:573
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:573: DeprecationWarning: invalid escape sequence '\('
" failing example: SimulatedFailure: test failure \(extra\)\n"
tests/cli_unittest.py:574
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:574: DeprecationWarning: invalid escape sequence '\d'
" example: focused_example @ tests/sample_tests.py:\d+\n"
tests/cli_unittest.py:575
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:575: DeprecationWarning: invalid escape sequence '\*'
" \*focused example: PASS\n"
tests/cli_unittest.py:577
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:577: DeprecationWarning: invalid escape sequence '\d'
" example: unittest_SkipTest @ tests/sample_tests.py:\d+\n"
tests/cli_unittest.py:580
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:580: DeprecationWarning: invalid escape sequence '\d'
" example: passing_nested_example @ tests/sample_tests.py:\d+\n"
tests/cli_unittest.py:628
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:628: DeprecationWarning: invalid escape sequence '\d'
"example: passing_example @ tests/sample_tests.py:\d+\n"
tests/cli_unittest.py:630
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:630: DeprecationWarning: invalid escape sequence '\d'
"example: failing_example @ tests/sample_tests.py:\d+\n"
tests/cli_unittest.py:632
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:632: DeprecationWarning: invalid escape sequence '\d'
"example: focused_example @ tests/sample_tests.py:\d+\n"
tests/cli_unittest.py:635
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:635: DeprecationWarning: invalid escape sequence '\d'
"example: unittest_SkipTest @ tests/sample_tests.py:\d+\n"
tests/cli_unittest.py:637
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:637: DeprecationWarning: invalid escape sequence '\d'
"example: passing_nested_example @ tests/sample_tests.py:\d+\n"
tests/cli_unittest.py:756
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:756: DeprecationWarning: invalid escape sequence '\d'
" example: passing_example @ tests/sample_tests.py:\d+\n"
tests/cli_unittest.py:759
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:759: DeprecationWarning: invalid escape sequence '\d'
" example: failing_example @ tests/sample_tests.py:\d+\n"
tests/cli_unittest.py:760
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:760: DeprecationWarning: invalid escape sequence '\('
" failing example: SimulatedFailure: test failure \(extra\)\n"
tests/cli_unittest.py:762
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:762: DeprecationWarning: invalid escape sequence '\d'
" example: focused_example @ tests/sample_tests.py:\d+\n"
tests/cli_unittest.py:763
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:763: DeprecationWarning: invalid escape sequence '\*'
" \*focused example: PASS\n"
tests/cli_unittest.py:767
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:767: DeprecationWarning: invalid escape sequence '\d'
" example: unittest_SkipTest @ tests/sample_tests.py:\d+\n"
tests/cli_unittest.py:770
/builddir/build/BUILD/TestSlide-2.7.0/tests/cli_unittest.py:770: DeprecationWarning: invalid escape sequence '\d'
" example: passing_nested_example @ tests/sample_tests.py:\d+\n"
tests/mock_async_callable_testslide.py:102
/builddir/build/BUILD/TestSlide-2.7.0/tests/mock_async_callable_testslide.py:102: DeprecationWarning: invalid escape sequence '\('
"mock_async_callable\(\) can not be used with non coroutine functions\.",
tests/mock_async_callable_testslide.py:249
/builddir/build/BUILD/TestSlide-2.7.0/tests/mock_async_callable_testslide.py:249: DeprecationWarning: invalid escape sequence '\.'
NotACoroutine, "^Function did not return a coroutine\."
tests/mock_async_callable_testslide.py:292
/builddir/build/BUILD/TestSlide-2.7.0/tests/mock_async_callable_testslide.py:292: DeprecationWarning: invalid escape sequence '\.'
NotACoroutine, "^Function did not return a coroutine\."
tests/mock_async_callable_testslide.py:304
/builddir/build/BUILD/TestSlide-2.7.0/tests/mock_async_callable_testslide.py:304: DeprecationWarning: invalid escape sequence '\.'
"^Can not wrap original callable that does not exist\.",
tests/mock_async_callable_testslide.py:331
/builddir/build/BUILD/TestSlide-2.7.0/tests/mock_async_callable_testslide.py:331: DeprecationWarning: invalid escape sequence '\.'
ValueError, "^Can not call original callable that does not exist\."
tests/mock_async_callable_testslide.py:343
/builddir/build/BUILD/TestSlide-2.7.0/tests/mock_async_callable_testslide.py:343: DeprecationWarning: invalid escape sequence '\.'
AssertionError, "^calls did not match assertion\."
tests/mock_callable_testslide.py:968
/builddir/build/BUILD/TestSlide-2.7.0/tests/mock_callable_testslide.py:968: DeprecationWarning: invalid escape sequence '\('
"mock_callable\(\) can not be used with coroutine functions\.",
tests/strict_mock_testslide.py:218
/builddir/build/BUILD/TestSlide-2.7.0/tests/strict_mock_testslide.py:218: DeprecationWarning: invalid escape sequence '\d'
+ ":\d+>"
tests/strict_mock_testslide.py:353
/builddir/build/BUILD/TestSlide-2.7.0/tests/strict_mock_testslide.py:353: DeprecationWarning: invalid escape sequence '\d'
+ ":\d+>"
tests/strict_mock_testslide.py:1196
/builddir/build/BUILD/TestSlide-2.7.0/tests/strict_mock_testslide.py:1196: DeprecationWarning: invalid escape sequence '\d'
+ ":\d+>"
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/dsl_unittest.py::TestDSLAfterHook::test_assertions_run_after_after_hooks
FAILED tests/dsl_unittest.py::TestMockCallableIntegration::test_mock_callable_integration
FAILED tests/dsl_unittest.py::TestMockConstructorIntegration::test_mock_constructor_integration
FAILED tests/matchers_unittest.py::TestUsageWithPatchCallable::test_patch_callable
FAILED tests/testcase_unittest.py::TestSlideTestCaseIntegration::test_has_mock_callable
FAILED tests/testcase_unittest.py::TestSlideTestCaseIntegration::test_has_mock_constructor
================= 6 failed, 156 passed, 29 warnings in 12.75s ==================
I have a fix for this, waiting for review from upstream. FEDORA-2022-0c964fd83c has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-0c964fd83c FEDORA-2022-0c964fd83c has been pushed to the Fedora 37 stable repository. If problem still persists, please make note of it in this bug report. |