smarie / python-pytest-cases

Separate test code from test cases in pytest.
https://smarie.github.io/python-pytest-cases/
BSD 3-Clause "New" or "Revised" License
344 stars 40 forks source link

3.8.1: pytest is failing in 4 units and deprecations warnings #321

Open kloczek opened 9 months ago

kloczek commented 9 months ago

I'm packaging 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.

Here is pytest output: + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-pytest-cases-3.8.1-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-pytest-cases-3.8.1-2.fc35.x86_64/usr/lib/python3.8/site-packages + /usr/bin/pytest -ra -m 'not network' -q ============================= test session starts ============================== platform linux -- Python 3.8.18, pytest-7.4.3, pluggy-1.3.0 rootdir: /home/tkloczko/rpmbuild/BUILD/python-pytest-cases-3.8.1 configfile: setup.cfg testpaths: tests/ plugins: cases-3.8.1, asyncio-0.23.2, steps-1.8.0, harvest-1.10.4 asyncio: mode=strict Case function Foo.case_requirement_1 > Creating fixture '_requirement_1' in Case function Foo.case_requirement_1 > fixture_ref('_requirement_1') with marks () Case function Foo.case_requirement_2 > Creating fixture '_requirement_2' in Case function Foo.case_requirement_2 > fixture_ref('_requirement_2') with marks () Case function case_requirement_1 > Creating fixture '_requirement_1_' in Case function case_requirement_1 > fixture_ref('_requirement_1_') with marks () Case function case_requirement_2 > Creating fixture '_requirement_2_' in Case function case_requirement_2 > fixture_ref('_requirement_2_') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture '_requirement_1' - Creating reference to existing fixture '_requirement_2' - Creating reference to existing fixture '_requirement_1_' - Creating reference to existing fixture '_requirement_2_' Creating final union fixture 'test_functionality_a_b' with alternatives ['_requirement_1', '_requirement_2', '_requirement_1_', '_requirement_2_'] Creating final test function wrapper with signature test_functionality(test_functionality_a_b) Case function case_requirement_1 > Reusing fixture '_requirement_1_' and marks () Case function case_requirement_1 > fixture_ref('_requirement_1_') with marks () Case function case_requirement_2 > Reusing fixture '_requirement_2_' and marks () Case function case_requirement_2 > fixture_ref('_requirement_2_') with marks () Case function Foo.case_requirement_1 > Reusing fixture '_requirement_1' and marks () Case function Foo.case_requirement_1 > fixture_ref('_requirement_1') with marks () Case function Foo.case_requirement_2 > Reusing fixture '_requirement_2' and marks () Case function Foo.case_requirement_2 > fixture_ref('_requirement_2') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture '_requirement_1_' - Creating reference to existing fixture '_requirement_2_' - Creating reference to existing fixture '_requirement_1' - Creating reference to existing fixture '_requirement_2' Creating final union fixture 'test_functionality_again_a_b' with alternatives ['_requirement_1_', '_requirement_2_', '_requirement_1', '_requirement_2'] Creating final test function wrapper with signature test_functionality_again(test_functionality_again_a_b) Case function Foo.case_requirement_1 > Reusing fixture '_requirement_1' and marks () Case function Foo.case_requirement_1 > fixture_ref('_requirement_1') with marks () Case function Foo.case_requirement_2 > Reusing fixture '_requirement_2' and marks () Case function Foo.case_requirement_2 > fixture_ref('_requirement_2') with marks () Case function case_requirement_1 > Reusing fixture '_requirement_1_' and marks () Case function case_requirement_1 > fixture_ref('_requirement_1_') with marks () Case function case_requirement_2 > Reusing fixture '_requirement_2_' and marks () Case function case_requirement_2 > fixture_ref('_requirement_2_') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture '_requirement_1' - Creating reference to existing fixture '_requirement_2' - Creating reference to existing fixture '_requirement_1_' - Creating reference to existing fixture '_requirement_2_' Creating final union fixture 'test_functionality_again2_a_b' with alternatives ['_requirement_1', '_requirement_2', '_requirement_1_', '_requirement_2_'] Creating final test function wrapper with signature test_functionality_again2(self, test_functionality_again2_a_b) Case function case_a > Creating fixture 'a_' in Case function case_a > fixture_ref('a_') with marks () Case function case_b > Creating fixture 'b_' in Case function case_b > fixture_ref('b_') with marks () Case function CaseA.case_a > Creating fixture 'a__' in Case function CaseA.case_a > fixture_ref('a__') with marks () Case function CaseA.case_b > Creating fixture 'b__' in Case function CaseA.case_b > fixture_ref('b__') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'a_' - Creating reference to existing fixture 'b_' - Creating reference to existing fixture 'a__' - Creating reference to existing fixture 'b__' Creating final union fixture 'test_foo_nested_o' with alternatives ['a_', 'b_', 'a__', 'b__'] Creating final test function wrapper with signature test_foo_nested(self, test_foo_nested_o) Case function case_a > Reusing fixture 'a_' and marks () Case function case_a > fixture_ref('a_') with marks () Case function case_b > Reusing fixture 'b_' and marks () Case function case_b > fixture_ref('b_') with marks () Case function CaseA.case_a > Reusing fixture 'a__' and marks () Case function CaseA.case_a > fixture_ref('a__') with marks () Case function CaseA.case_b > Reusing fixture 'b__' and marks () Case function CaseA.case_b > fixture_ref('b__') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'a_' - Creating reference to existing fixture 'b_' - Creating reference to existing fixture 'a__' - Creating reference to existing fixture 'b__' Creating final union fixture 'test_foo_nested2_o' with alternatives ['a_', 'b_', 'a__', 'b__'] Creating final test function wrapper with signature test_foo_nested2(self, test_foo_nested2_o) Case function case_a > Reusing fixture 'a_' and marks () Case function case_a > fixture_ref('a_') with marks () Case function case_b > Reusing fixture 'b_' and marks () Case function case_b > fixture_ref('b_') with marks () Case function CaseA.case_a > Reusing fixture 'a__' and marks () Case function CaseA.case_a > fixture_ref('a__') with marks () Case function CaseA.case_b > Reusing fixture 'b__' and marks () Case function CaseA.case_b > fixture_ref('b__') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'a_' - Creating reference to existing fixture 'b_' - Creating reference to existing fixture 'a__' - Creating reference to existing fixture 'b__' Creating final union fixture 'test_foo_o' with alternatives ['a_', 'b_', 'a__', 'b__'] Creating final test function wrapper with signature test_foo(test_foo_o) Case function case_a > Reusing fixture 'a_' and marks () Case function case_a > fixture_ref('a_') with marks () Case function case_b > Reusing fixture 'b_' and marks () Case function case_b > fixture_ref('b_') with marks () Case function CaseA.case_a > Reusing fixture 'a__' and marks () Case function CaseA.case_a > fixture_ref('a__') with marks () Case function CaseA.case_b > Reusing fixture 'b__' and marks () Case function CaseA.case_b > fixture_ref('b__') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'a_' - Creating reference to existing fixture 'b_' - Creating reference to existing fixture 'a__' - Creating reference to existing fixture 'b__' Creating final union fixture 'test_foo2_o' with alternatives ['a_', 'b_', 'a__', 'b__'] Creating final test function wrapper with signature test_foo2(test_foo2_o) Case function CaseX.case_one > Creating fixture 'one' in Case function CaseX.case_one > fixture_ref('one') with marks () Case function CaseX.case_two > Creating fixture 'two' in Case function CaseX.case_two > fixture_ref('two') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'one' - Creating reference to existing fixture 'two' Creating final union fixture 'case_x_one_x' with alternatives ['one', 'two'] Creating final test function wrapper with signature case_x_one(self, db_dep, case_x_one_x) Case function CaseX.case_one > Reusing fixture 'one' and marks () Case function CaseX.case_one > fixture_ref('one') with marks () Case function CaseX.case_two > Reusing fixture 'two' and marks () Case function CaseX.case_two > fixture_ref('two') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'one' - Creating reference to existing fixture 'two' Creating final union fixture 'case_x_two_x' with alternatives ['one', 'two'] Creating final test function wrapper with signature case_x_two(self, db_dep, case_x_two_x) Case function CaseY.case_x_one > Creating fixture 'x_one' in Case function CaseY.case_x_one > fixture_ref('x_one') with marks () Case function CaseY.case_x_two > Creating fixture 'x_two' in Case function CaseY.case_x_two > fixture_ref('x_two') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'x_one' - Creating reference to existing fixture 'x_two' Creating final union fixture 'test_nested_parametrize_x_y' with alternatives ['x_one', 'x_two'] Creating final test function wrapper with signature test_nested_parametrize(test_nested_parametrize_x_y) Case function case_two_positive_ints > Creating fixture 'two_positive_ints_' in Case function case_two_positive_ints > fixture_ref('two_positive_ints_') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'two_positive_ints_' Creating final union fixture 'test_bar_x' with alternatives ['two_positive_ints_'] Creating final test function wrapper with signature test_bar(test_bar_x) Case function case_two_positive_ints2 > Creating fixture 'two_positive_ints2' in Case function case_two_positive_ints2 > fixture_ref('two_positive_ints2') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'two_positive_ints2' Creating final union fixture 'test_bar_x_1' with alternatives ['two_positive_ints2'] Creating final test function wrapper with signature test_bar(test_bar_x_1) Case function case_two_positive_ints > Reusing fixture 'two_positive_ints_' and marks () Case function case_two_positive_ints > fixture_ref('two_positive_ints_') with marks () Case function case_two_positive_ints2 > Reusing fixture 'two_positive_ints2' and marks () Case function case_two_positive_ints2 > fixture_ref('two_positive_ints2') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'two_positive_ints_' - Creating reference to existing fixture 'two_positive_ints2' Creating final union fixture 'test_foo_x' with alternatives ['two_positive_ints_', 'two_positive_ints2'] Creating final test function wrapper with signature test_foo(test_foo_x) Case function case_two_positive_ints > Reusing fixture 'two_positive_ints_' and marks () Case function case_two_positive_ints > fixture_ref('two_positive_ints_') with marks () Case function case_two_positive_ints2 > Reusing fixture 'two_positive_ints2' and marks () Case function case_two_positive_ints2 > fixture_ref('two_positive_ints2') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'two_positive_ints_' - Creating reference to existing fixture 'two_positive_ints2' Creating final union fixture 'test_bar_x_2' with alternatives ['two_positive_ints_', 'two_positive_ints2'] Creating final test function wrapper with signature test_bar(test_bar_x_2) Case function case_two_positive_ints > Creating fixture 'two_positive_ints_' in Case function case_two_positive_ints > fixture_ref('two_positive_ints_') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'two_positive_ints_' Creating final union fixture 'test_bar_x' with alternatives ['two_positive_ints_'] Creating final test function wrapper with signature test_bar(test_bar_x) Case function case_two_positive_ints2 > Creating fixture 'two_positive_ints2' in Case function case_two_positive_ints2 > fixture_ref('two_positive_ints2') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'two_positive_ints2' Creating final union fixture 'test_bar_x_1' with alternatives ['two_positive_ints2'] Creating final test function wrapper with signature test_bar(test_bar_x_1) Case function DataCases.data_dummy > 1 lazy_value() with id dummy and additional marks None Case function DataCases.data_dummy2 > 1 lazy_value() with id dummy2 and additional marks None Case function DataCases.data_dummy3 > Creating fixture 'dummy3' in Case function DataCases.data_dummy3 > fixture_ref('dummy3') with marks () Fixture references found. Creating references and fixtures... - Creating new fixture 'dataset_dset_is_P0toP1' to handle parameters 0 to 1 Creating parametrized fixture 'dataset_dset_is_P0toP1' returning [_LazyValueCaseParamValue(valuegetter=functools.partial(, ), _id='dummy', _marks=(), cached_value_context=None, cached_value=None), _LazyValueCaseParamValue(valuegetter=functools.partial(, ), _id='dummy2', _marks=(), cached_value_context=None, cached_value=None)] - Creating reference to existing fixture 'dummy3' Creating final union fixture 'dataset_dset' with alternatives ['dataset_dset_is_P0toP1', 'dummy3'] Creating final test function wrapper with signature dataset(dataset_dset) Case function MyCases.case_x0 > Creating fixture 'x0' in Case function MyCases.case_x0 > fixture_ref('x0') with marks () Case function MyCases.case_x1 > 1 lazy_value() with id x1 and additional marks None Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'x0' - Creating new fixture 'case_y_c_P1' to handle parameter 1 Creating unparametrized fixture 'case_y_c_P1' returning _LazyValueCaseParamValue(valuegetter=functools.partial(, ), _id='x1', _marks=(), cached_value_context=None, cached_value=None) Creating final union fixture 'case_y_c' with alternatives ['x0', 'case_y_c_P1'] Creating final test function wrapper with signature case_y(case_y_c) Fixture references found. Creating references and fixtures... - Creating new fixture 'test_id_tuple_arg1_arg2_is_P0toP1' to handle parameters 0 to 1 Creating parametrized fixture 'test_id_tuple_arg1_arg2_is_P0toP1' returning [ParameterSet(values=(('a', 1),), marks=(), id='testID'), ('b', 1)] - Creating new fixture 'test_id_tuple_arg1_arg2_P2' to handle parameter 2 that is a cross-product - Creating new fixture 'test_id_tuple_arg1_arg2_P3' to handle parameter 3 Creating unparametrized fixture 'test_id_tuple_arg1_arg2_P3' returning ('c', 1) - Creating new fixture 'test_id_tuple_arg1_arg2_P4' to handle parameter 4 that is a cross-product - Creating new fixture 'test_id_tuple_arg1_arg2_P5' to handle parameter 5 Creating unparametrized fixture 'test_id_tuple_arg1_arg2_P5' returning ('c', 1) Creating final union fixture 'test_id_tuple_arg1_arg2' with alternatives ['test_id_tuple_arg1_arg2_is_P0toP1', 'test_id_tuple_arg1_arg2_P2', 'test_id_tuple_arg1_arg2_P3', 'test_id_tuple_arg1_arg2_P4', 'test_id_tuple_arg1_arg2_P5'] Creating final test function wrapper with signature test_id_tuple(test_id_tuple_arg1_arg2) Fixture references found. Creating references and fixtures... - Creating new fixture 'test_foo_multi_a_b_is_P0toP2' to handle parameters 0 to 2 Creating parametrized fixture 'test_foo_multi_a_b_is_P0toP2' returning [LazyTuple(_lazyvalue=LazyValue(valuegetter=, _id=None, _marks=(), cached_value_context=None, cached_value=None), theoretical_size=2), LazyTuple(_lazyvalue=LazyValue(valuegetter=, _id='A', _marks=(), cached_value_context=None, cached_value=None), theoretical_size=2), ParameterSet(values=(LazyTuple(_lazyvalue=LazyValue(valuegetter=, _id=None, _marks=(), cached_value_context=None, cached_value=None), theoretical_size=2),), marks=(MarkDecorator(mark=Mark(name='skip', args=(), kwargs={})),), id='Wrong')] - Creating reference to existing fixture 'tfix' - Creating new fixture 'test_foo_multi_a_b_P4' to handle parameter 4 that is a cross-product - Creating new fixture 'test_foo_multi_a_b_P5' to handle parameter 5 that is a cross-product - Creating new fixture 'test_foo_multi_a_b_P6' to handle parameter 6 that is a cross-product Creating final union fixture 'test_foo_multi_a_b' with alternatives ['test_foo_multi_a_b_is_P0toP2', 'tfix', 'test_foo_multi_a_b_P4', 'test_foo_multi_a_b_P5', 'test_foo_multi_a_b_P6'] Creating final test function wrapper with signature test_foo_multi(test_foo_multi_a_b) Fixture references found. Creating references and fixtures... - Creating new fixture 'test_foo_multi_a_b_is_P0toP2' to handle parameters 0 to 2 Creating parametrized fixture 'test_foo_multi_a_b_is_P0toP2' returning [LazyTuple(_lazyvalue=LazyValue(valuegetter=, _id=None, _marks=(), cached_value_context=None, cached_value=None), theoretical_size=2), LazyTuple(_lazyvalue=LazyValue(valuegetter=, _id='A', _marks=(), cached_value_context=None, cached_value=None), theoretical_size=2), ParameterSet(values=(LazyTuple(_lazyvalue=LazyValue(valuegetter=, _id=None, _marks=(), cached_value_context=None, cached_value=None), theoretical_size=2),), marks=(MarkDecorator(mark=Mark(name='skip', args=(), kwargs={})),), id='Wrong')] - Creating reference to existing fixture 'tfix' - Creating new fixture 'test_foo_multi_a_b_P4' to handle parameter 4 that is a cross-product - Creating new fixture 'test_foo_multi_a_b_P5' to handle parameter 5 that is a cross-product - Creating new fixture 'test_foo_multi_a_b_P6' to handle parameter 6 that is a cross-product Creating final union fixture 'test_foo_multi_a_b' with alternatives ['test_foo_multi_a_b_is_P0toP2', 'tfix', 'test_foo_multi_a_b_P4', 'test_foo_multi_a_b_P5', 'test_foo_multi_a_b_P6'] Creating final test function wrapper with signature test_foo_multi(test_foo_multi_a_b) collected 1481 items tests/test_plugin_installed.py . [ 0%] tests/cases/doc/test_doc.py ..............s.....s.....s.s....s....... [ 2%] tests/cases/doc/test_doc_alternate.py ...s.s.. [ 3%] tests/cases/doc/test_doc_cache.py ..... [ 3%] tests/cases/doc/test_doc_debug.py .......... [ 4%] tests/cases/doc/test_doc_filters_n_tags.py .......... [ 5%] tests/cases/doc/test_doc_filters_n_tags2.py ...... [ 5%] tests/cases/doc/test_doc_get_current_case_id.py .... [ 5%] tests/cases/doc/test_doc_get_current_cases.py . [ 5%] tests/cases/doc/test_doc_ids.py ..... [ 6%] tests/cases/doc/test_fixtures.py .... [ 6%] tests/cases/doc/test_generators.py ..s..ss... [ 7%] tests/cases/doc/test_get_current_cases.py .............................. [ 9%] ........................................................................ [ 13%] ........................................................................ [ 18%] ........................................................................ [ 23%] .................................................................. [ 28%] tests/cases/doc/test_get_current_cases_negative.py ..................... [ 29%] .. [ 29%] tests/cases/doc/test_get_current_cases_params.py .... [ 29%] tests/cases/doc/test_indirect.py ....... [ 30%] tests/cases/doc/test_joss.py ... [ 30%] tests/cases/doc/test_nested.py ........ [ 31%] tests/cases/doc/test_parametrize_alt.py .... [ 31%] tests/cases/issues/test_issue_117.py . [ 31%] tests/cases/issues/test_issue_125.py ... [ 31%] tests/cases/issues/test_issue_126.py ............. [ 32%] tests/cases/issues/test_issue_126_2.py ........................... [ 34%] tests/cases/issues/test_issue_128.py . [ 34%] tests/cases/issues/test_issue_128_2.py .. [ 34%] tests/cases/issues/test_issue_142.py ...... [ 35%] tests/cases/issues/test_issue_142_2.py ....... [ 35%] tests/cases/issues/test_issue_151.py ............ [ 36%] tests/cases/issues/test_issue_152.py .. [ 36%] tests/cases/issues/test_issue_154.py ..ss.s..ss..ss.s..ss..ss.s..ss..ss. [ 38%] s..ss..ss.s..ss..ss.s..ss..ss.s..ss..ss.s..ss..ss.s..ss..ss.s..ss..ss.s. [ 43%] .ss..ss.s..ss..ss.s..ss..ss.s..ss..ss.s..ss..ss.s..ss. [ 47%] tests/cases/issues/test_issue_158.py . [ 47%] tests/cases/issues/test_issue_158_2.py .. [ 47%] tests/cases/issues/test_issue_159.py ..... [ 47%] tests/cases/issues/test_issue_165.py s [ 47%] tests/cases/issues/test_issue_168.py ...s.. [ 48%] tests/cases/issues/test_issue_171.py ........... [ 49%] tests/cases/issues/test_issue_179.py ..... [ 49%] tests/cases/issues/test_issue_191.py .. [ 49%] tests/cases/issues/test_issue_193.py .... [ 49%] tests/cases/issues/test_issue_193_bis.py . [ 49%] tests/cases/issues/test_issue_202.py .. [ 50%] tests/cases/issues/test_issue_211.py s... [ 50%] tests/cases/issues/test_issue_212.py .... [ 50%] tests/cases/issues/test_issue_230.py ... [ 50%] tests/cases/issues/test_issue_238.py .. [ 50%] tests/cases/issues/test_issue_242.py ... [ 51%] tests/cases/issues/test_issue_246.py ....... [ 51%] tests/cases/issues/test_issue_274.py .... [ 51%] tests/cases/issues/test_issue_286.py .. [ 51%] tests/cases/issues/test_py35_issue_176.py ... [ 52%] tests/cases/issues/test_py35_issue_243.py .. [ 52%] tests/cases/issues/test_py35_issue_286.py .. [ 52%] tests/cases/issues/test_py35_issue_287.py . [ 52%] tests/cases/issues/test_py36_issue_286.py .. [ 52%] tests/cases/issues/issue_196/test_issue_196.py . [ 52%] tests/cases/issues/issue_225/test_sth.py .. [ 52%] tests/cases/issues/issue_258/test_issue_258.py ................ [ 53%] tests/cases/issues/issue_311/test_issue_311/test_issue_311.py ..... [ 54%] tests/cases/others/test_bound_methods.py ........................... [ 56%] tests/cases/others/test_glob_low_level.py . [ 56%] tests/cases/so/test_so2.py loading file file1 .loading file file2 ..loading file file3 .... [ 56%] tests/cases/so/test_so3.py . [ 56%] tests/pytest_extension/doc/test_doc_fixture_graph.py ................ [ 57%] tests/pytest_extension/doc/test_doc_fixture_graph_union.py ............. [ 58%] ...........FF [ 59%] tests/pytest_extension/doc/test_doc_fixture_graph_union_normal.py ...... [ 59%] ........... [ 60%] tests/pytest_extension/doc/test_doc_fixture_graph_union_union.py ....... [ 61%] .................. [ 62%] tests/pytest_extension/doc/test_doc_parametrize.py ............. [ 63%] tests/pytest_extension/doc/test_doc_parametrize_customids.py ........... [ 64%] . [ 64%] tests/pytest_extension/fixtures/test_hook.py ..... [ 64%] tests/pytest_extension/fixtures/test_issue_github_54.py . [ 64%] tests/pytest_extension/fixtures/test_so3.py . [ 64%] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixture_unpacking.py . [ 64%] .. [ 64%] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixture_unpacking2.py . [ 64%] ...... [ 65%] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixture_unpacking_cls.py . [ 65%] . [ 65%] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixtures_parametrize.py . [ 65%] ......s..s. [ 66%] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixtures_parametrize_stereo.py . [ 66%] ........... [ 66%] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixtures_paramfixtures.py . [ 67%] ................ [ 68%] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixtures_paramfixtures_marks.py . [ 68%] .s. [ 68%] tests/pytest_extension/fixtures/fixture_plus_and_others/test_skip_on_paramz_fixture.py . [ 68%] s.s.s. [ 68%] tests/pytest_extension/fixtures/fixture_unions/test_fixture_closure_edits.py . [ 68%] ..F [ 69%] tests/pytest_extension/fixtures/fixture_unions/test_fixture_union_custom_mark.py . [ 69%] .sss. [ 69%] tests/pytest_extension/fixtures/fixture_unions/test_fixture_union_ids.py . [ 69%] .................... [ 70%] tests/pytest_extension/fixtures/fixture_unions/test_fixture_union_setup_teardown.py . [ 71%] .. [ 71%] tests/pytest_extension/fixtures/fixture_unions/test_fixture_union_setup_teardown2.py . [ 71%] ..... [ 71%] tests/pytest_extension/fixtures/fixture_unions/test_fixture_union_setup_teardown3.py . [ 71%] .... [ 71%] tests/pytest_extension/fixtures/fixture_unions/test_fixtures_union_0simplest.py . [ 71%] ... [ 72%] tests/pytest_extension/fixtures/fixture_unions/test_fixtures_union_1simple.py . [ 72%] ...... [ 72%] tests/pytest_extension/fixtures/fixture_unions/test_fixtures_union_2hard.py . [ 72%] ..............F [ 73%] tests/pytest_extension/fixtures/fixture_unions/test_fixtures_union_3parametrize_plus.py . [ 73%] .... [ 74%] tests/pytest_extension/fixtures/fixture_unions/test_so.py ...... [ 74%] tests/pytest_extension/issues/test_issue_114.py .. [ 74%] tests/pytest_extension/issues/test_issue_115.py .......... [ 75%] tests/pytest_extension/issues/test_issue_124.py ..... [ 75%] tests/pytest_extension/issues/test_issue_138.py .... [ 75%] tests/pytest_extension/issues/test_issue_148.py ......... [ 76%] tests/pytest_extension/issues/test_issue_149.py .. [ 76%] tests/pytest_extension/issues/test_issue_177.py ....ss..s... [ 77%] tests/pytest_extension/issues/test_issue_182.py ... [ 77%] tests/pytest_extension/issues/test_issue_199.py .......... [ 78%] tests/pytest_extension/issues/test_issue_201.py . [ 78%] tests/pytest_extension/issues/test_issue_234.py ... [ 78%] tests/pytest_extension/issues/test_issue_classes.py ...... [ 79%] tests/pytest_extension/issues/test_issue_doctests.py . [ 79%] tests/pytest_extension/issues/test_issue_fixture_union1.py ... [ 79%] tests/pytest_extension/issues/test_issue_fixture_union2.py ....... [ 79%] tests/pytest_extension/issues/test_issue_indirect_fixture_param.py . [ 79%] tests/pytest_extension/issues/test_issue_pytest_70.py ...... [ 80%] tests/pytest_extension/issues/test_issue_python2_str.py ... [ 80%] tests/pytest_extension/issues/test_issue_so_76.py ...................... [ 81%] ........................... [ 83%] tests/pytest_extension/issues/test_parametrize_with_lists.py ..... [ 84%] tests/pytest_extension/issues/test_pytest_py35_asyncio.py . [ 84%] tests/pytest_extension/meta/test_all.py ... [ 84%] tests/pytest_extension/order/test_fixture_order_respects_scope.py . [ 84%] tests/pytest_extension/order/session_optim/test_reorder_default_normal.py . [ 84%] ......... [ 85%] tests/pytest_extension/others/test_assert_exception.py . [ 85%] tests/pytest_extension/parametrize_plus/test_basics_misc.py ............ [ 85%] ...... [ 86%] tests/pytest_extension/parametrize_plus/test_filter.py ................ [ 87%] tests/pytest_extension/parametrize_plus/test_fixture_ref_basic1.py ..... [ 87%] ........ [ 88%] tests/pytest_extension/parametrize_plus/test_fixture_ref_basic2.py ..... [ 88%] . [ 88%] tests/pytest_extension/parametrize_plus/test_fixture_ref_basic3_tuples.py . [ 88%] ........... [ 89%] tests/pytest_extension/parametrize_plus/test_fixture_ref_basic4_ids.py . [ 89%] ........................ [ 91%] tests/pytest_extension/parametrize_plus/test_fixture_ref_custom1.py .... [ 91%] ....... [ 91%] tests/pytest_extension/parametrize_plus/test_fixture_ref_custom2.py s... [ 92%] . [ 92%] tests/pytest_extension/parametrize_plus/test_fixture_ref_custom3.py .... [ 92%] ..... [ 92%] tests/pytest_extension/parametrize_plus/test_fixture_ref_custom4_tuples.py . [ 92%] ...... [ 93%] tests/pytest_extension/parametrize_plus/test_getcallspecs.py .. [ 93%] tests/pytest_extension/parametrize_plus/test_lazy_value.py .s.....ss.s.. [ 94%] . [ 94%] tests/pytest_extension/parametrize_plus/test_lazy_value__custom_ids.py . [ 94%] s.....ss.s... [ 95%] tests/pytest_extension/parametrize_plus/test_lazy_value_and_fixture_ref.py . [ 95%] ...... [ 95%] tests/pytest_extension/parametrize_plus/test_lazy_value_and_fixture_ref2.py . [ 95%] .s......... [ 96%] tests/pytest_extension/parametrize_plus/test_lazy_value_and_fixture_ref3.py . [ 96%] .s......... [ 97%] tests/pytest_extension/parametrize_plus/test_lazy_value_low_level.py ... [ 97%] [ 97%] tests/pytest_extension/parametrize_plus/test_lazy_value_so.py .......... [ 98%] [ 98%] tests/pytest_extension/parametrize_plus/test_parametrizing_a_class.py .. [ 98%] . [ 98%] tests/pytest_extension/parametrize_plus/test_so2.py ...... [ 98%] tests/pytest_extension/parametrize_plus/test_so2_dynamic.py ..... [ 99%] tests/pytest_extension/parametrize_plus/test_so2_new.py ..... [ 99%] tests/pytest_extension/parametrize_plus/test_so2_simplified.py ..... =================================== FAILURES =================================== _____________________________ test_closure[ie=-1] ______________________________ def test_closure(): # make sure that the closure tree looks good global super_closure > assert str(super_closure) == """SuperClosure with 3 alternative closures: - ['environment', 'e', 'request', 'u', 'a', 'c', 'd'] (filters: u=u[0]=a) - ['environment', 'e', 'request', 'u', 'b', 'b_ub', 'a', 'c', 'd'] (filters: u=u[1]=b, b_ub=b_ub[0]=a) - ['environment', 'e', 'request', 'u', 'b', 'b_ub', 'c'] (filters: u=u[1]=b, b_ub=b_ub[1]=c) The 'super closure list' is ['environment', 'e', 'request', 'u', 'a', 'c', 'd', 'b', 'b_ub'] The fixture tree is : (environment,e,request,u) split: u - (a,c,d) - (b,b_ub) split: b_ub - (a,c,d) - (c) """ E AssertionError: assert 'SuperClosure...\n - (c)\n' == 'SuperClosure...\n - (c)\n' E Skipping 38 identical leading characters in diff, use -v to show E es: E - - ['environment', 'e', 'request', 'u', 'a', 'c', 'd'] (filters: u=u[0]=a) E + - ['event_loop_policy', 'environment', 'e', 'request', 'u', 'a', 'c', 'd'] (filters: u=u[0]=a) E ? +++++++++++++++++++++ E - - ['environment', 'e', 'request', 'u', 'b', 'b_ub', 'a', 'c', 'd'] (filters: u=u[1]=b, b_ub=b_ub[0]=a) E + - ['event_loop_policy', 'environment', 'e', 'request', 'u', 'b', 'b_ub', 'a', 'c', 'd'] (filters: u=u[1]=b, b_ub=b_ub[0]=a)... E E ...Full output truncated (16 lines hidden), use '-vv' to show tests/pytest_extension/doc/test_doc_fixture_graph_union.py:61: AssertionError ______________________________ test_closure[ie=1] ______________________________ def test_closure(): # make sure that the closure tree looks good global super_closure > assert str(super_closure) == """SuperClosure with 3 alternative closures: - ['environment', 'e', 'request', 'u', 'a', 'c', 'd'] (filters: u=u[0]=a) - ['environment', 'e', 'request', 'u', 'b', 'b_ub', 'a', 'c', 'd'] (filters: u=u[1]=b, b_ub=b_ub[0]=a) - ['environment', 'e', 'request', 'u', 'b', 'b_ub', 'c'] (filters: u=u[1]=b, b_ub=b_ub[1]=c) The 'super closure list' is ['environment', 'e', 'request', 'u', 'a', 'c', 'd', 'b', 'b_ub'] The fixture tree is : (environment,e,request,u) split: u - (a,c,d) - (b,b_ub) split: b_ub - (a,c,d) - (c) """ E AssertionError: assert 'SuperClosure...\n - (c)\n' == 'SuperClosure...\n - (c)\n' E Skipping 38 identical leading characters in diff, use -v to show E es: E - - ['environment', 'e', 'request', 'u', 'a', 'c', 'd'] (filters: u=u[0]=a) E + - ['event_loop_policy', 'environment', 'e', 'request', 'u', 'a', 'c', 'd'] (filters: u=u[0]=a) E ? +++++++++++++++++++++ E - - ['environment', 'e', 'request', 'u', 'b', 'b_ub', 'a', 'c', 'd'] (filters: u=u[1]=b, b_ub=b_ub[0]=a) E + - ['event_loop_policy', 'environment', 'e', 'request', 'u', 'b', 'b_ub', 'a', 'c', 'd'] (filters: u=u[1]=b, b_ub=b_ub[0]=a)... E E ...Full output truncated (16 lines hidden), use '-vv' to show tests/pytest_extension/doc/test_doc_fixture_graph_union.py:61: AssertionError __________________________ test_super_closure_edits2 ___________________________ def test_super_closure_edits2(): global super_closure assert isinstance(super_closure, SuperClosure) super_closure = copy(super_closure) > assert len(super_closure) == 4 E AssertionError: assert 5 == 4 E + where 5 = len(SuperClosure with 2 alternative closures:\n - ['event_loop_policy', 'environment', 'a', 'request', 'b'] (filters: b=b[0...nment', 'a', 'request', 'b']\n\nThe fixture tree is :\n(event_loop_policy,environment,a,request,b) split: b\n - ()\n - ()\n) tests/pytest_extension/fixtures/fixture_unions/test_fixture_closure_edits.py:45: AssertionError ______________________________ test_super_closure ______________________________ def test_super_closure(): global super_closure # make sure that the closure tree looks good assert isinstance(super_closure, SuperClosure) > assert str(super_closure) == """SuperClosure with 4 alternative closures: - ['environment', 'c', 'a', 'request', 'd', 'b'] (filters: c=c[0]=a, d=d[0]=b) - ['environment', 'c', 'a', 'request', 'd'] (filters: c=c[0]=a, d=d[1]=a) - ['environment', 'c', 'b', 'request', 'a', 'd'] (filters: c=c[1]=b, d=d[0]=b) - ['environment', 'c', 'b', 'request', 'a', 'd'] (filters: c=c[1]=b, d=d[1]=a) The 'super closure list' is ['environment', 'c', 'a', 'request', 'd', 'b'] The fixture tree is : (environment,c) split: c - (a,request,d) split: d - (b) - () - (b,request,a,d) split: d - () - () """ E AssertionError: assert 'SuperClosure...)\n - ()\n' == 'SuperClosure...)\n - ()\n' E Skipping 38 identical leading characters in diff, use -v to show E es: E - - ['environment', 'c', 'a', 'request', 'd', 'b'] (filters: c=c[0]=a, d=d[0]=b) E + - ['event_loop_policy', 'environment', 'c', 'a', 'request', 'd', 'b'] (filters: c=c[0]=a, d=d[0]=b) E ? +++++++++++++++++++++ E - - ['environment', 'c', 'a', 'request', 'd'] (filters: c=c[0]=a, d=d[1]=a) E + - ['event_loop_policy', 'environment', 'c', 'a', 'request', 'd'] (filters: c=c[0]=a, d=d[1]=a)... E E ...Full output truncated (20 lines hidden), use '-vv' to show tests/pytest_extension/fixtures/fixture_unions/test_fixtures_union_2hard.py:51: AssertionError =============================== warnings summary =============================== tests/pytest_extension/meta/test_all.py::test_run_all_tests[reorder_skip] tests/pytest_extension/meta/test_all.py::test_run_all_tests[session_optim] tests/pytest_extension/meta/test_all.py::test_run_all_tests[xfail_marker] /usr/lib/python3.8/site-packages/pytest_harvest/newhooks.py:35: PytestDeprecationWarning: The hookspec pytest_harvest_xdist_cleanup uses old-style configuration options (marks or attributes). Please use the pytest.hookspec(firstresult=True) decorator instead to configure the hooks. See https://docs.pytest.org/en/latest/deprecations.html#configuring-hook-specs-impls-using-markers @pytest.mark.firstresult tests/pytest_extension/meta/test_all.py::test_run_all_tests[reorder_skip] tests/pytest_extension/meta/test_all.py::test_run_all_tests[session_optim] tests/pytest_extension/meta/test_all.py::test_run_all_tests[xfail_marker] /usr/lib/python3.8/site-packages/pytest_harvest/newhooks.py:17: PytestDeprecationWarning: The hookspec pytest_harvest_xdist_init uses old-style configuration options (marks or attributes). Please use the pytest.hookspec(firstresult=True) decorator instead to configure the hooks. See https://docs.pytest.org/en/latest/deprecations.html#configuring-hook-specs-impls-using-markers @pytest.mark.firstresult tests/pytest_extension/meta/test_all.py::test_run_all_tests[reorder_skip] tests/pytest_extension/meta/test_all.py::test_run_all_tests[session_optim] tests/pytest_extension/meta/test_all.py::test_run_all_tests[xfail_marker] /usr/lib/python3.8/site-packages/pytest_harvest/newhooks.py:29: PytestDeprecationWarning: The hookspec pytest_harvest_xdist_load uses old-style configuration options (marks or attributes). Please use the pytest.hookspec(firstresult=True) decorator instead to configure the hooks. See https://docs.pytest.org/en/latest/deprecations.html#configuring-hook-specs-impls-using-markers @pytest.mark.firstresult tests/pytest_extension/meta/test_all.py::test_run_all_tests[reorder_skip] tests/pytest_extension/meta/test_all.py::test_run_all_tests[session_optim] tests/pytest_extension/meta/test_all.py::test_run_all_tests[xfail_marker] /usr/lib/python3.8/site-packages/pytest_harvest/newhooks.py:23: PytestDeprecationWarning: The hookspec pytest_harvest_xdist_worker_dump uses old-style configuration options (marks or attributes). Please use the pytest.hookspec(firstresult=True) decorator instead to configure the hooks. See https://docs.pytest.org/en/latest/deprecations.html#configuring-hook-specs-impls-using-markers @pytest.mark.firstresult tests/pytest_extension/meta/test_all.py::test_run_all_tests[reorder_skip] tests/pytest_extension/meta/test_all.py::test_run_all_tests[session_optim] tests/pytest_extension/meta/test_all.py::test_run_all_tests[xfail_marker] /usr/lib/python3.8/site-packages/pytest_harvest/plugin.py:433: PytestDeprecationWarning: The hookimpl pytest_configure uses old-style configuration options (marks or attributes). Please use the pytest.hookimpl(trylast=True) decorator instead to configure the hooks. See https://docs.pytest.org/en/latest/deprecations.html#configuring-hook-specs-impls-using-markers @pytest.mark.trylast -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ SKIPPED [1] tests/cases/doc/test_doc.py:100: unconditional skip SKIPPED [4] tests/cases/doc/test_doc.py:123: unconditional skip SKIPPED [2] tests/cases/doc/test_doc_alternate.py:14: unconditional skip SKIPPED [3] tests/cases/doc/test_generators.py: unconditional skip SKIPPED [80] tests/cases/issues/test_issue_154.py: unconditional skip SKIPPED [1] tests/cases/issues/test_issue_165.py: got empty parameter set ['empty'], function test_empty_parameter_set at /home/tkloczko/rpmbuild/BUILD/python-pytest-cases-3.8.1/tests/cases/issues/test_issue_165.py:8 SKIPPED [1] tests/cases/issues/test_issue_168.py: unconditional skip SKIPPED [1] tests/cases/issues/test_issue_211.py:31: joe skipped SKIPPED [2] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixtures_parametrize.py: unconditional skip SKIPPED [1] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixtures_paramfixtures_marks.py: unconditional skip SKIPPED [1] tests/pytest_extension/fixtures/fixture_plus_and_others/test_skip_on_paramz_fixture.py:7: unconditional skip SKIPPED [2] tests/pytest_extension/fixtures/fixture_plus_and_others/test_skip_on_paramz_fixture.py: unconditional skip SKIPPED [3] tests/pytest_extension/fixtures/fixture_unions/test_fixture_union_custom_mark.py: unconditional skip SKIPPED [2] tests/pytest_extension/issues/test_issue_177.py:18: unconditional skip SKIPPED [1] tests/pytest_extension/issues/test_issue_177.py:37: unconditional skip SKIPPED [1] tests/pytest_extension/parametrize_plus/test_fixture_ref_custom2.py:24: condition: 5>4 SKIPPED [1] tests/pytest_extension/parametrize_plus/test_lazy_value.py:51: unconditional skip SKIPPED [3] tests/pytest_extension/parametrize_plus/test_lazy_value.py:73: unconditional skip SKIPPED [1] tests/pytest_extension/parametrize_plus/test_lazy_value__custom_ids.py:63: unconditional skip SKIPPED [3] tests/pytest_extension/parametrize_plus/test_lazy_value__custom_ids.py:85: unconditional skip SKIPPED [1] tests/pytest_extension/parametrize_plus/test_lazy_value_and_fixture_ref2.py: unconditional skip SKIPPED [1] tests/pytest_extension/parametrize_plus/test_lazy_value_and_fixture_ref3.py: unconditional skip FAILED tests/pytest_extension/doc/test_doc_fixture_graph_union.py::test_closure[ie=-1] FAILED tests/pytest_extension/doc/test_doc_fixture_graph_union.py::test_closure[ie=1] FAILED tests/pytest_extension/fixtures/fixture_unions/test_fixture_closure_edits.py::test_super_closure_edits2 FAILED tests/pytest_extension/fixtures/fixture_unions/test_fixtures_union_2hard.py::test_super_closure =========== 4 failed, 1361 passed, 116 skipped, 15 warnings in 6.38s =========== /usr/lib/python3.8/site-packages/_pytest/pathlib.py:95: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-2f19aed5-24d8-4213-8489-4d7da3d3871d/test_safe_get_no_perms0 : [Errno 39] Directory not empty: 'test_safe_get_no_perms0' warnings.warn( /usr/lib/python3.8/site-packages/_pytest/pathlib.py:95: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-2f19aed5-24d8-4213-8489-4d7da3d3871d/test_safe_set_no_perms0 : [Errno 39] Directory not empty: 'test_safe_set_no_perms0' warnings.warn( /usr/lib/python3.8/site-packages/_pytest/pathlib.py:95: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-2f19aed5-24d8-4213-8489-4d7da3d3871d/test_safe_delete_no_perms0 : [Errno 39] Directory not empty: 'test_safe_delete_no_perms0' warnings.warn( /usr/lib/python3.8/site-packages/_pytest/pathlib.py:95: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-2f19aed5-24d8-4213-8489-4d7da3d3871d/test_rmtree_errorhandler_reado0 : [Errno 39] Directory not empty: 'test_rmtree_errorhandler_reado0' warnings.warn( /usr/lib/python3.8/site-packages/_pytest/pathlib.py:95: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-2f19aed5-24d8-4213-8489-4d7da3d3871d/test_rmtree_errorhandler_rerai0 : [Errno 39] Directory not empty: 'test_rmtree_errorhandler_rerai0' warnings.warn( /usr/lib/python3.8/site-packages/_pytest/pathlib.py:95: PytestWarning: (rm_rf) error removing /tmp/pytest-of-tkloczko/garbage-2f19aed5-24d8-4213-8489-4d7da3d3871d : [Errno 39] Directory not empty: '/tmp/pytest-of-tkloczko/garbage-2f19aed5-24d8-4213-8489-4d7da3d3871d' warnings.warn( ```console ```
List of installed modules in build env: ```console Package Version ------------------ ------- build 1.0.3 cppclean 0.13 decopatch 1.4.10 distro 1.8.0 dnf 4.18.2 exceptiongroup 1.1.3 gpg 1.23.2 importlib-metadata 7.0.0 iniconfig 2.0.0 installer 0.7.0 libdnf 0.72.0 makefun 1.15.2 packaging 23.2 pluggy 1.3.0 pyproject_hooks 1.0.0 pytest 7.4.3 pytest-asyncio 0.23.2 pytest-harvest 1.10.4 pytest-steps 1.8.0 python-dateutil 2.8.2 setuptools 69.0.2 setuptools-scm 8.0.4 six 1.16.0 tomli 2.0.1 typing_extensions 4.9.0 wheel 0.42.0 wrapt 1.16.0 zipp 3.17.0 ```

Please let me know if you need more details or want me to perform some diagnostics.

smarie commented 9 months ago

Thanks @kloczek ! The error does not seem obvious to me, we'll have to investigate. Hopefully someone else will have the same error and therefore will be willing to spend some time trying to investigate. Otherwise that will be done when I find coding bandwidth..

smarie commented 9 months ago

I finally found the issue: pytest-asyncio 0.23 introduces a new fixture, and since we install this plugin for some of our tests, the fixture is present and makes some of our tests fail. I fixed this hopefully in #324 , I'll release a 3.8.2.

I leave this open to remember also to fix deprecation warnings at a later time.

Thanks again for reporting !

kloczek commented 9 months ago

Please hold one sec new release .. I'll try ASP test that 😋

kloczek commented 9 months ago
Here is pytest output with added two patches generated from recent two commits ```console + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-pytest-cases-3.8.2-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-pytest-cases-3.8.2-2.fc35.x86_64/usr/lib/python3.8/site-packages + /usr/bin/pytest -ra -m 'not network' -q ==================================================================================== test session starts ==================================================================================== platform linux -- Python 3.8.18, pytest-7.4.4, pluggy-1.3.0 rootdir: /home/tkloczko/rpmbuild/BUILD/python-pytest-cases-3.8.2 configfile: setup.cfg testpaths: tests/ plugins: cases-3.8.2, anyio-4.2.0, asyncio-0.23.3, steps-1.8.0, harvest-1.10.4 asyncio: mode=strict collecting ... Case function Foo.case_requirement_1 > Creating fixture '_requirement_1' in Case function Foo.case_requirement_1 > fixture_ref('_requirement_1') with marks () Case function Foo.case_requirement_2 > Creating fixture '_requirement_2' in Case function Foo.case_requirement_2 > fixture_ref('_requirement_2') with marks () Case function case_requirement_1 > Creating fixture '_requirement_1_' in Case function case_requirement_1 > fixture_ref('_requirement_1_') with marks () Case function case_requirement_2 > Creating fixture '_requirement_2_' in Case function case_requirement_2 > fixture_ref('_requirement_2_') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture '_requirement_1' - Creating reference to existing fixture '_requirement_2' - Creating reference to existing fixture '_requirement_1_' - Creating reference to existing fixture '_requirement_2_' Creating final union fixture 'test_functionality_a_b' with alternatives ['_requirement_1', '_requirement_2', '_requirement_1_', '_requirement_2_'] Creating final test function wrapper with signature test_functionality(test_functionality_a_b) Case function case_requirement_1 > Reusing fixture '_requirement_1_' and marks () Case function case_requirement_1 > fixture_ref('_requirement_1_') with marks () Case function case_requirement_2 > Reusing fixture '_requirement_2_' and marks () Case function case_requirement_2 > fixture_ref('_requirement_2_') with marks () Case function Foo.case_requirement_1 > Reusing fixture '_requirement_1' and marks () Case function Foo.case_requirement_1 > fixture_ref('_requirement_1') with marks () Case function Foo.case_requirement_2 > Reusing fixture '_requirement_2' and marks () Case function Foo.case_requirement_2 > fixture_ref('_requirement_2') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture '_requirement_1_' - Creating reference to existing fixture '_requirement_2_' - Creating reference to existing fixture '_requirement_1' - Creating reference to existing fixture '_requirement_2' Creating final union fixture 'test_functionality_again_a_b' with alternatives ['_requirement_1_', '_requirement_2_', '_requirement_1', '_requirement_2'] Creating final test function wrapper with signature test_functionality_again(test_functionality_again_a_b) Case function Foo.case_requirement_1 > Reusing fixture '_requirement_1' and marks () Case function Foo.case_requirement_1 > fixture_ref('_requirement_1') with marks () Case function Foo.case_requirement_2 > Reusing fixture '_requirement_2' and marks () Case function Foo.case_requirement_2 > fixture_ref('_requirement_2') with marks () Case function case_requirement_1 > Reusing fixture '_requirement_1_' and marks () Case function case_requirement_1 > fixture_ref('_requirement_1_') with marks () Case function case_requirement_2 > Reusing fixture '_requirement_2_' and marks () Case function case_requirement_2 > fixture_ref('_requirement_2_') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture '_requirement_1' - Creating reference to existing fixture '_requirement_2' - Creating reference to existing fixture '_requirement_1_' - Creating reference to existing fixture '_requirement_2_' Creating final union fixture 'test_functionality_again2_a_b' with alternatives ['_requirement_1', '_requirement_2', '_requirement_1_', '_requirement_2_'] Creating final test function wrapper with signature test_functionality_again2(self, test_functionality_again2_a_b) collecting 474 items Case function case_a > Creating fixture 'a_' in Case function case_a > fixture_ref('a_') with marks () Case function case_b > Creating fixture 'b_' in Case function case_b > fixture_ref('b_') with marks () Case function CaseA.case_a > Creating fixture 'a__' in Case function CaseA.case_a > fixture_ref('a__') with marks () Case function CaseA.case_b > Creating fixture 'b__' in Case function CaseA.case_b > fixture_ref('b__') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'a_' - Creating reference to existing fixture 'b_' - Creating reference to existing fixture 'a__' - Creating reference to existing fixture 'b__' Creating final union fixture 'test_foo_nested_o' with alternatives ['a_', 'b_', 'a__', 'b__'] Creating final test function wrapper with signature test_foo_nested(self, test_foo_nested_o) Case function case_a > Reusing fixture 'a_' and marks () Case function case_a > fixture_ref('a_') with marks () Case function case_b > Reusing fixture 'b_' and marks () Case function case_b > fixture_ref('b_') with marks () Case function CaseA.case_a > Reusing fixture 'a__' and marks () Case function CaseA.case_a > fixture_ref('a__') with marks () Case function CaseA.case_b > Reusing fixture 'b__' and marks () Case function CaseA.case_b > fixture_ref('b__') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'a_' - Creating reference to existing fixture 'b_' - Creating reference to existing fixture 'a__' - Creating reference to existing fixture 'b__' Creating final union fixture 'test_foo_nested2_o' with alternatives ['a_', 'b_', 'a__', 'b__'] Creating final test function wrapper with signature test_foo_nested2(self, test_foo_nested2_o) Case function case_a > Reusing fixture 'a_' and marks () Case function case_a > fixture_ref('a_') with marks () Case function case_b > Reusing fixture 'b_' and marks () Case function case_b > fixture_ref('b_') with marks () Case function CaseA.case_a > Reusing fixture 'a__' and marks () Case function CaseA.case_a > fixture_ref('a__') with marks () Case function CaseA.case_b > Reusing fixture 'b__' and marks () Case function CaseA.case_b > fixture_ref('b__') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'a_' - Creating reference to existing fixture 'b_' - Creating reference to existing fixture 'a__' - Creating reference to existing fixture 'b__' Creating final union fixture 'test_foo_o' with alternatives ['a_', 'b_', 'a__', 'b__'] Creating final test function wrapper with signature test_foo(test_foo_o) Case function case_a > Reusing fixture 'a_' and marks () Case function case_a > fixture_ref('a_') with marks () Case function case_b > Reusing fixture 'b_' and marks () Case function case_b > fixture_ref('b_') with marks () Case function CaseA.case_a > Reusing fixture 'a__' and marks () Case function CaseA.case_a > fixture_ref('a__') with marks () Case function CaseA.case_b > Reusing fixture 'b__' and marks () Case function CaseA.case_b > fixture_ref('b__') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'a_' - Creating reference to existing fixture 'b_' - Creating reference to existing fixture 'a__' - Creating reference to existing fixture 'b__' Creating final union fixture 'test_foo2_o' with alternatives ['a_', 'b_', 'a__', 'b__'] Creating final test function wrapper with signature test_foo2(test_foo2_o) Case function CaseX.case_one > Creating fixture 'one' in Case function CaseX.case_one > fixture_ref('one') with marks () Case function CaseX.case_two > Creating fixture 'two' in Case function CaseX.case_two > fixture_ref('two') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'one' - Creating reference to existing fixture 'two' Creating final union fixture 'case_x_one_x' with alternatives ['one', 'two'] Creating final test function wrapper with signature case_x_one(self, db_dep, case_x_one_x) Case function CaseX.case_one > Reusing fixture 'one' and marks () Case function CaseX.case_one > fixture_ref('one') with marks () Case function CaseX.case_two > Reusing fixture 'two' and marks () Case function CaseX.case_two > fixture_ref('two') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'one' - Creating reference to existing fixture 'two' Creating final union fixture 'case_x_two_x' with alternatives ['one', 'two'] Creating final test function wrapper with signature case_x_two(self, db_dep, case_x_two_x) Case function CaseY.case_x_one > Creating fixture 'x_one' in Case function CaseY.case_x_one > fixture_ref('x_one') with marks () Case function CaseY.case_x_two > Creating fixture 'x_two' in Case function CaseY.case_x_two > fixture_ref('x_two') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'x_one' - Creating reference to existing fixture 'x_two' Creating final union fixture 'test_nested_parametrize_x_y' with alternatives ['x_one', 'x_two'] Creating final test function wrapper with signature test_nested_parametrize(test_nested_parametrize_x_y) Case function case_two_positive_ints > Creating fixture 'two_positive_ints_' in Case function case_two_positive_ints > fixture_ref('two_positive_ints_') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'two_positive_ints_' Creating final union fixture 'test_bar_x' with alternatives ['two_positive_ints_'] Creating final test function wrapper with signature test_bar(test_bar_x) Case function case_two_positive_ints2 > Creating fixture 'two_positive_ints2' in Case function case_two_positive_ints2 > fixture_ref('two_positive_ints2') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'two_positive_ints2' Creating final union fixture 'test_bar_x_1' with alternatives ['two_positive_ints2'] Creating final test function wrapper with signature test_bar(test_bar_x_1) Case function case_two_positive_ints > Reusing fixture 'two_positive_ints_' and marks () Case function case_two_positive_ints > fixture_ref('two_positive_ints_') with marks () Case function case_two_positive_ints2 > Reusing fixture 'two_positive_ints2' and marks () Case function case_two_positive_ints2 > fixture_ref('two_positive_ints2') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'two_positive_ints_' - Creating reference to existing fixture 'two_positive_ints2' Creating final union fixture 'test_foo_x' with alternatives ['two_positive_ints_', 'two_positive_ints2'] Creating final test function wrapper with signature test_foo(test_foo_x) Case function case_two_positive_ints > Reusing fixture 'two_positive_ints_' and marks () Case function case_two_positive_ints > fixture_ref('two_positive_ints_') with marks () Case function case_two_positive_ints2 > Reusing fixture 'two_positive_ints2' and marks () Case function case_two_positive_ints2 > fixture_ref('two_positive_ints2') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'two_positive_ints_' - Creating reference to existing fixture 'two_positive_ints2' Creating final union fixture 'test_bar_x_2' with alternatives ['two_positive_ints_', 'two_positive_ints2'] Creating final test function wrapper with signature test_bar(test_bar_x_2) Case function case_two_positive_ints > Creating fixture 'two_positive_ints_' in Case function case_two_positive_ints > fixture_ref('two_positive_ints_') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'two_positive_ints_' Creating final union fixture 'test_bar_x' with alternatives ['two_positive_ints_'] Creating final test function wrapper with signature test_bar(test_bar_x) Case function case_two_positive_ints2 > Creating fixture 'two_positive_ints2' in Case function case_two_positive_ints2 > fixture_ref('two_positive_ints2') with marks () Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'two_positive_ints2' Creating final union fixture 'test_bar_x_1' with alternatives ['two_positive_ints2'] Creating final test function wrapper with signature test_bar(test_bar_x_1) collecting 745 items Case function DataCases.data_dummy > 1 lazy_value() with id dummy and additional marks None Case function DataCases.data_dummy2 > 1 lazy_value() with id dummy2 and additional marks None Case function DataCases.data_dummy3 > Creating fixture 'dummy3' in Case function DataCases.data_dummy3 > fixture_ref('dummy3') with marks () Fixture references found. Creating references and fixtures... - Creating new fixture 'dataset_dset_is_P0toP1' to handle parameters 0 to 1 Creating parametrized fixture 'dataset_dset_is_P0toP1' returning [_LazyValueCaseParamValue(valuegetter=functools.partial(, ), _id='dummy', _marks=(), cached_value_context=None, cached_value=None), _LazyValueCaseParamValue(valuegetter=functools.partial(, ), _id='dummy2', _marks=(), cached_value_context=None, cached_value=None)] - Creating reference to existing fixture 'dummy3' Creating final union fixture 'dataset_dset' with alternatives ['dataset_dset_is_P0toP1', 'dummy3'] Creating final test function wrapper with signature dataset(dataset_dset) Case function MyCases.case_x0 > Creating fixture 'x0' in Case function MyCases.case_x0 > fixture_ref('x0') with marks () Case function MyCases.case_x1 > 1 lazy_value() with id x1 and additional marks None Fixture references found. Creating references and fixtures... - Creating reference to existing fixture 'x0' - Creating new fixture 'case_y_c_P1' to handle parameter 1 Creating unparametrized fixture 'case_y_c_P1' returning _LazyValueCaseParamValue(valuegetter=functools.partial(, ), _id='x1', _marks=(), cached_value_context=None, cached_value=None) Creating final union fixture 'case_y_c' with alternatives ['x0', 'case_y_c_P1'] Creating final test function wrapper with signature case_y(case_y_c) collecting 1241 items Fixture references found. Creating references and fixtures... - Creating new fixture 'test_id_tuple_arg1_arg2_is_P0toP1' to handle parameters 0 to 1 Creating parametrized fixture 'test_id_tuple_arg1_arg2_is_P0toP1' returning [ParameterSet(values=(('a', 1),), marks=(), id='testID'), ('b', 1)] - Creating new fixture 'test_id_tuple_arg1_arg2_P2' to handle parameter 2 that is a cross-product - Creating new fixture 'test_id_tuple_arg1_arg2_P3' to handle parameter 3 Creating unparametrized fixture 'test_id_tuple_arg1_arg2_P3' returning ('c', 1) - Creating new fixture 'test_id_tuple_arg1_arg2_P4' to handle parameter 4 that is a cross-product - Creating new fixture 'test_id_tuple_arg1_arg2_P5' to handle parameter 5 Creating unparametrized fixture 'test_id_tuple_arg1_arg2_P5' returning ('c', 1) Creating final union fixture 'test_id_tuple_arg1_arg2' with alternatives ['test_id_tuple_arg1_arg2_is_P0toP1', 'test_id_tuple_arg1_arg2_P2', 'test_id_tuple_arg1_arg2_P3', 'test_id_tuple_arg1_arg2_P4', 'test_id_tuple_arg1_arg2_P5'] Creating final test function wrapper with signature test_id_tuple(test_id_tuple_arg1_arg2) collecting 1414 items Fixture references found. Creating references and fixtures... - Creating new fixture 'test_foo_multi_a_b_is_P0toP2' to handle parameters 0 to 2 Creating parametrized fixture 'test_foo_multi_a_b_is_P0toP2' returning [LazyTuple(_lazyvalue=LazyValue(valuegetter=, _id=None, _marks=(), cached_value_context=None, cached_value=None), theoretical_size=2), LazyTuple(_lazyvalue=LazyValue(valuegetter=, _id='A', _marks=(), cached_value_context=None, cached_value=None), theoretical_size=2), ParameterSet(values=(LazyTuple(_lazyvalue=LazyValue(valuegetter=, _id=None, _marks=(), cached_value_context=None, cached_value=None), theoretical_size=2),), marks=(MarkDecorator(mark=Mark(name='skip', args=(), kwargs={})),), id='Wrong')] - Creating reference to existing fixture 'tfix' - Creating new fixture 'test_foo_multi_a_b_P4' to handle parameter 4 that is a cross-product - Creating new fixture 'test_foo_multi_a_b_P5' to handle parameter 5 that is a cross-product - Creating new fixture 'test_foo_multi_a_b_P6' to handle parameter 6 that is a cross-product Creating final union fixture 'test_foo_multi_a_b' with alternatives ['test_foo_multi_a_b_is_P0toP2', 'tfix', 'test_foo_multi_a_b_P4', 'test_foo_multi_a_b_P5', 'test_foo_multi_a_b_P6'] Creating final test function wrapper with signature test_foo_multi(test_foo_multi_a_b) Fixture references found. Creating references and fixtures... - Creating new fixture 'test_foo_multi_a_b_is_P0toP2' to handle parameters 0 to 2 Creating parametrized fixture 'test_foo_multi_a_b_is_P0toP2' returning [LazyTuple(_lazyvalue=LazyValue(valuegetter=, _id=None, _marks=(), cached_value_context=None, cached_value=None), theoretical_size=2), LazyTuple(_lazyvalue=LazyValue(valuegetter=, _id='A', _marks=(), cached_value_context=None, cached_value=None), theoretical_size=2), ParameterSet(values=(LazyTuple(_lazyvalue=LazyValue(valuegetter=, _id=None, _marks=(), cached_value_context=None, cached_value=None), theoretical_size=2),), marks=(MarkDecorator(mark=Mark(name='skip', args=(), kwargs={})),), id='Wrong')] - Creating reference to existing fixture 'tfix' - Creating new fixture 'test_foo_multi_a_b_P4' to handle parameter 4 that is a cross-product - Creating new fixture 'test_foo_multi_a_b_P5' to handle parameter 5 that is a cross-product - Creating new fixture 'test_foo_multi_a_b_P6' to handle parameter 6 that is a cross-product Creating final union fixture 'test_foo_multi_a_b' with alternatives ['test_foo_multi_a_b_is_P0toP2', 'tfix', 'test_foo_multi_a_b_P4', 'test_foo_multi_a_b_P5', 'test_foo_multi_a_b_P6'] Creating final test function wrapper with signature test_foo_multi(test_foo_multi_a_b) collected 1482 items tests/test_plugin_installed.py . [ 0%] tests/cases/doc/test_doc.py ..............s.....s.....s.s....s....... [ 2%] tests/cases/doc/test_doc_alternate.py ...s.s.. [ 3%] tests/cases/doc/test_doc_cache.py ..... [ 3%] tests/cases/doc/test_doc_debug.py .......... [ 4%] tests/cases/doc/test_doc_filters_n_tags.py .......... [ 5%] tests/cases/doc/test_doc_filters_n_tags2.py ...... [ 5%] tests/cases/doc/test_doc_get_current_case_id.py .... [ 5%] tests/cases/doc/test_doc_get_current_cases.py . [ 5%] tests/cases/doc/test_doc_ids.py ..... [ 6%] tests/cases/doc/test_fixtures.py .... [ 6%] tests/cases/doc/test_generators.py ..s..ss... [ 7%] tests/cases/doc/test_get_current_cases.py ........................................................................................................................................... [ 16%] ............................................................................................................................................................................. [ 28%] tests/cases/doc/test_get_current_cases_negative.py ....................... [ 29%] tests/cases/doc/test_get_current_cases_params.py .... [ 29%] tests/cases/doc/test_indirect.py ....... [ 30%] tests/cases/doc/test_joss.py ... [ 30%] tests/cases/doc/test_nested.py ........ [ 31%] tests/cases/doc/test_parametrize_alt.py .... [ 31%] tests/cases/issues/test_issue_117.py . [ 31%] tests/cases/issues/test_issue_125.py ... [ 31%] tests/cases/issues/test_issue_126.py ............. [ 32%] tests/cases/issues/test_issue_126_2.py ........................... [ 34%] tests/cases/issues/test_issue_128.py . [ 34%] tests/cases/issues/test_issue_128_2.py .. [ 34%] tests/cases/issues/test_issue_142.py ...... [ 35%] tests/cases/issues/test_issue_142_2.py ....... [ 35%] tests/cases/issues/test_issue_151.py ............ [ 36%] tests/cases/issues/test_issue_152.py .. [ 36%] tests/cases/issues/test_issue_154.py ..ss.s..ss..ss.s..ss..ss.s..ss..ss.s..ss..ss.s..ss..ss.s..ss..ss.s..ss..ss.s..ss..ss.s..ss..ss.s..ss..ss.s..ss..ss.s..ss..ss.s..ss..ss.s..ss..ss [ 46%] .s..ss..ss.s..ss. [ 47%] tests/cases/issues/test_issue_158.py . [ 47%] tests/cases/issues/test_issue_158_2.py .. [ 47%] tests/cases/issues/test_issue_159.py ..... [ 47%] tests/cases/issues/test_issue_165.py s [ 47%] tests/cases/issues/test_issue_168.py ...s.. [ 48%] tests/cases/issues/test_issue_171.py ........... [ 49%] tests/cases/issues/test_issue_179.py ..... [ 49%] tests/cases/issues/test_issue_191.py .. [ 49%] tests/cases/issues/test_issue_193.py .... [ 49%] tests/cases/issues/test_issue_193_bis.py . [ 49%] tests/cases/issues/test_issue_202.py .. [ 50%] tests/cases/issues/test_issue_211.py s... [ 50%] tests/cases/issues/test_issue_212.py .... [ 50%] tests/cases/issues/test_issue_230.py ... [ 50%] tests/cases/issues/test_issue_238.py .. [ 50%] tests/cases/issues/test_issue_242.py ... [ 51%] tests/cases/issues/test_issue_246.py ....... [ 51%] tests/cases/issues/test_issue_274.py .... [ 51%] tests/cases/issues/test_issue_286.py .. [ 51%] tests/cases/issues/test_py35_issue_176.py ... [ 52%] tests/cases/issues/test_py35_issue_243.py .. [ 52%] tests/cases/issues/test_py35_issue_286.py .. [ 52%] tests/cases/issues/test_py35_issue_287.py . [ 52%] tests/cases/issues/test_py36_issue_286.py .. [ 52%] tests/cases/issues/issue_196/test_issue_196.py . [ 52%] tests/cases/issues/issue_225/test_sth.py .. [ 52%] tests/cases/issues/issue_258/test_issue_258.py ................ [ 53%] tests/cases/issues/issue_309/test_issue_309.py . [ 53%] tests/cases/issues/issue_311/test_issue_311/test_issue_311.py ..... [ 54%] tests/cases/others/test_bound_methods.py ........................... [ 56%] tests/cases/others/test_glob_low_level.py . [ 56%] tests/cases/so/test_so2.py loading file file1 .loading file file2 ..loading file file3 .... [ 56%] tests/cases/so/test_so3.py . [ 56%] tests/pytest_extension/doc/test_doc_fixture_graph.py ................ [ 57%] tests/pytest_extension/doc/test_doc_fixture_graph_union.py .......................... [ 59%] tests/pytest_extension/doc/test_doc_fixture_graph_union_normal.py ................. [ 60%] tests/pytest_extension/doc/test_doc_fixture_graph_union_union.py ......................... [ 62%] tests/pytest_extension/doc/test_doc_parametrize.py ............. [ 63%] tests/pytest_extension/doc/test_doc_parametrize_customids.py ............ [ 64%] tests/pytest_extension/fixtures/test_hook.py ..... [ 64%] tests/pytest_extension/fixtures/test_issue_github_54.py . [ 64%] tests/pytest_extension/fixtures/test_so3.py . [ 64%] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixture_unpacking.py ... [ 64%] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixture_unpacking2.py ....... [ 65%] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixture_unpacking_cls.py .. [ 65%] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixtures_parametrize.py .......s..s. [ 66%] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixtures_parametrize_stereo.py ............ [ 67%] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixtures_paramfixtures.py ................. [ 68%] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixtures_paramfixtures_marks.py ..s. [ 68%] tests/pytest_extension/fixtures/fixture_plus_and_others/test_skip_on_paramz_fixture.py .s.s.s. [ 68%] tests/pytest_extension/fixtures/fixture_unions/test_fixture_closure_edits.py .... [ 69%] tests/pytest_extension/fixtures/fixture_unions/test_fixture_union_custom_mark.py ..sss. [ 69%] tests/pytest_extension/fixtures/fixture_unions/test_fixture_union_ids.py ..................... [ 70%] tests/pytest_extension/fixtures/fixture_unions/test_fixture_union_setup_teardown.py ... [ 71%] tests/pytest_extension/fixtures/fixture_unions/test_fixture_union_setup_teardown2.py ...... [ 71%] tests/pytest_extension/fixtures/fixture_unions/test_fixture_union_setup_teardown3.py ..... [ 71%] tests/pytest_extension/fixtures/fixture_unions/test_fixtures_union_0simplest.py .... [ 72%] tests/pytest_extension/fixtures/fixture_unions/test_fixtures_union_1simple.py ....... [ 72%] tests/pytest_extension/fixtures/fixture_unions/test_fixtures_union_2hard.py ................ [ 73%] tests/pytest_extension/fixtures/fixture_unions/test_fixtures_union_3parametrize_plus.py ..... [ 74%] tests/pytest_extension/fixtures/fixture_unions/test_so.py ...... [ 74%] tests/pytest_extension/issues/test_issue_114.py .. [ 74%] tests/pytest_extension/issues/test_issue_115.py .......... [ 75%] tests/pytest_extension/issues/test_issue_124.py ..... [ 75%] tests/pytest_extension/issues/test_issue_138.py .... [ 75%] tests/pytest_extension/issues/test_issue_148.py ......... [ 76%] tests/pytest_extension/issues/test_issue_149.py .. [ 76%] tests/pytest_extension/issues/test_issue_177.py ....ss..s... [ 77%] tests/pytest_extension/issues/test_issue_182.py ... [ 77%] tests/pytest_extension/issues/test_issue_199.py .......... [ 78%] tests/pytest_extension/issues/test_issue_201.py . [ 78%] tests/pytest_extension/issues/test_issue_234.py ... [ 78%] tests/pytest_extension/issues/test_issue_classes.py ...... [ 79%] tests/pytest_extension/issues/test_issue_doctests.py . [ 79%] tests/pytest_extension/issues/test_issue_fixture_union1.py ... [ 79%] tests/pytest_extension/issues/test_issue_fixture_union2.py ....... [ 79%] tests/pytest_extension/issues/test_issue_indirect_fixture_param.py . [ 79%] tests/pytest_extension/issues/test_issue_pytest_70.py ...... [ 80%] tests/pytest_extension/issues/test_issue_python2_str.py ... [ 80%] tests/pytest_extension/issues/test_issue_so_76.py ................................................. [ 83%] tests/pytest_extension/issues/test_parametrize_with_lists.py ..... [ 84%] tests/pytest_extension/issues/test_pytest_py35_asyncio.py . [ 84%] tests/pytest_extension/meta/test_all.py ... [ 84%] tests/pytest_extension/order/test_fixture_order_respects_scope.py . [ 84%] tests/pytest_extension/order/session_optim/test_reorder_default_normal.py .......... [ 85%] tests/pytest_extension/others/test_assert_exception.py . [ 85%] tests/pytest_extension/parametrize_plus/test_basics_misc.py .................. [ 86%] tests/pytest_extension/parametrize_plus/test_filter.py ................ [ 87%] tests/pytest_extension/parametrize_plus/test_fixture_ref_basic1.py ............. [ 88%] tests/pytest_extension/parametrize_plus/test_fixture_ref_basic2.py ...... [ 88%] tests/pytest_extension/parametrize_plus/test_fixture_ref_basic3_tuples.py ............ [ 89%] tests/pytest_extension/parametrize_plus/test_fixture_ref_basic4_ids.py ......................... [ 91%] tests/pytest_extension/parametrize_plus/test_fixture_ref_custom1.py ........... [ 91%] tests/pytest_extension/parametrize_plus/test_fixture_ref_custom2.py s.... [ 92%] tests/pytest_extension/parametrize_plus/test_fixture_ref_custom3.py ......... [ 92%] tests/pytest_extension/parametrize_plus/test_fixture_ref_custom4_tuples.py ....... [ 93%] tests/pytest_extension/parametrize_plus/test_getcallspecs.py .. [ 93%] tests/pytest_extension/parametrize_plus/test_lazy_value.py .s.....ss.s... [ 94%] tests/pytest_extension/parametrize_plus/test_lazy_value__custom_ids.py .s.....ss.s... [ 95%] tests/pytest_extension/parametrize_plus/test_lazy_value_and_fixture_ref.py ....... [ 95%] tests/pytest_extension/parametrize_plus/test_lazy_value_and_fixture_ref2.py ..s......... [ 96%] tests/pytest_extension/parametrize_plus/test_lazy_value_and_fixture_ref3.py ..s......... [ 97%] tests/pytest_extension/parametrize_plus/test_lazy_value_low_level.py ... [ 97%] tests/pytest_extension/parametrize_plus/test_lazy_value_so.py .......... [ 98%] tests/pytest_extension/parametrize_plus/test_parametrizing_a_class.py ... [ 98%] tests/pytest_extension/parametrize_plus/test_so2.py ...... [ 98%] tests/pytest_extension/parametrize_plus/test_so2_dynamic.py ..... [ 99%] tests/pytest_extension/parametrize_plus/test_so2_new.py ..... [ 99%] tests/pytest_extension/parametrize_plus/test_so2_simplified.py ..... ===================================================================================== warnings summary ====================================================================================== tests/pytest_extension/meta/test_all.py::test_run_all_tests[reorder_skip] tests/pytest_extension/meta/test_all.py::test_run_all_tests[session_optim] tests/pytest_extension/meta/test_all.py::test_run_all_tests[xfail_marker] /usr/lib/python3.8/site-packages/pytest_harvest/newhooks.py:35: PytestDeprecationWarning: The hookspec pytest_harvest_xdist_cleanup uses old-style configuration options (marks or attributes). Please use the pytest.hookspec(firstresult=True) decorator instead to configure the hooks. See https://docs.pytest.org/en/latest/deprecations.html#configuring-hook-specs-impls-using-markers @pytest.mark.firstresult tests/pytest_extension/meta/test_all.py::test_run_all_tests[reorder_skip] tests/pytest_extension/meta/test_all.py::test_run_all_tests[session_optim] tests/pytest_extension/meta/test_all.py::test_run_all_tests[xfail_marker] /usr/lib/python3.8/site-packages/pytest_harvest/newhooks.py:17: PytestDeprecationWarning: The hookspec pytest_harvest_xdist_init uses old-style configuration options (marks or attributes). Please use the pytest.hookspec(firstresult=True) decorator instead to configure the hooks. See https://docs.pytest.org/en/latest/deprecations.html#configuring-hook-specs-impls-using-markers @pytest.mark.firstresult tests/pytest_extension/meta/test_all.py::test_run_all_tests[reorder_skip] tests/pytest_extension/meta/test_all.py::test_run_all_tests[session_optim] tests/pytest_extension/meta/test_all.py::test_run_all_tests[xfail_marker] /usr/lib/python3.8/site-packages/pytest_harvest/newhooks.py:29: PytestDeprecationWarning: The hookspec pytest_harvest_xdist_load uses old-style configuration options (marks or attributes). Please use the pytest.hookspec(firstresult=True) decorator instead to configure the hooks. See https://docs.pytest.org/en/latest/deprecations.html#configuring-hook-specs-impls-using-markers @pytest.mark.firstresult tests/pytest_extension/meta/test_all.py::test_run_all_tests[reorder_skip] tests/pytest_extension/meta/test_all.py::test_run_all_tests[session_optim] tests/pytest_extension/meta/test_all.py::test_run_all_tests[xfail_marker] /usr/lib/python3.8/site-packages/pytest_harvest/newhooks.py:23: PytestDeprecationWarning: The hookspec pytest_harvest_xdist_worker_dump uses old-style configuration options (marks or attributes). Please use the pytest.hookspec(firstresult=True) decorator instead to configure the hooks. See https://docs.pytest.org/en/latest/deprecations.html#configuring-hook-specs-impls-using-markers @pytest.mark.firstresult tests/pytest_extension/meta/test_all.py::test_run_all_tests[reorder_skip] tests/pytest_extension/meta/test_all.py::test_run_all_tests[session_optim] tests/pytest_extension/meta/test_all.py::test_run_all_tests[xfail_marker] /usr/lib/python3.8/site-packages/pytest_harvest/plugin.py:433: PytestDeprecationWarning: The hookimpl pytest_configure uses old-style configuration options (marks or attributes). Please use the pytest.hookimpl(trylast=True) decorator instead to configure the hooks. See https://docs.pytest.org/en/latest/deprecations.html#configuring-hook-specs-impls-using-markers @pytest.mark.trylast -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ================================================================================== short test summary info ================================================================================== SKIPPED [1] tests/cases/doc/test_doc.py:100: unconditional skip SKIPPED [4] tests/cases/doc/test_doc.py:123: unconditional skip SKIPPED [2] tests/cases/doc/test_doc_alternate.py:14: unconditional skip SKIPPED [3] tests/cases/doc/test_generators.py: unconditional skip SKIPPED [80] tests/cases/issues/test_issue_154.py: unconditional skip SKIPPED [1] tests/cases/issues/test_issue_165.py: got empty parameter set ['empty'], function test_empty_parameter_set at /home/tkloczko/rpmbuild/BUILD/python-pytest-cases-3.8.2/tests/cases/issues/test_issue_165.py:8 SKIPPED [1] tests/cases/issues/test_issue_168.py: unconditional skip SKIPPED [1] tests/cases/issues/test_issue_211.py:31: joe skipped SKIPPED [2] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixtures_parametrize.py: unconditional skip SKIPPED [1] tests/pytest_extension/fixtures/fixture_plus_and_others/test_fixtures_paramfixtures_marks.py: unconditional skip SKIPPED [1] tests/pytest_extension/fixtures/fixture_plus_and_others/test_skip_on_paramz_fixture.py:7: unconditional skip SKIPPED [2] tests/pytest_extension/fixtures/fixture_plus_and_others/test_skip_on_paramz_fixture.py: unconditional skip SKIPPED [3] tests/pytest_extension/fixtures/fixture_unions/test_fixture_union_custom_mark.py: unconditional skip SKIPPED [2] tests/pytest_extension/issues/test_issue_177.py:18: unconditional skip SKIPPED [1] tests/pytest_extension/issues/test_issue_177.py:37: unconditional skip SKIPPED [1] tests/pytest_extension/parametrize_plus/test_fixture_ref_custom2.py:24: condition: 5>4 SKIPPED [1] tests/pytest_extension/parametrize_plus/test_lazy_value.py:51: unconditional skip SKIPPED [3] tests/pytest_extension/parametrize_plus/test_lazy_value.py:73: unconditional skip SKIPPED [1] tests/pytest_extension/parametrize_plus/test_lazy_value__custom_ids.py:63: unconditional skip SKIPPED [3] tests/pytest_extension/parametrize_plus/test_lazy_value__custom_ids.py:85: unconditional skip SKIPPED [1] tests/pytest_extension/parametrize_plus/test_lazy_value_and_fixture_ref2.py: unconditional skip SKIPPED [1] tests/pytest_extension/parametrize_plus/test_lazy_value_and_fixture_ref3.py: unconditional skip ====================================================================== 1366 passed, 116 skipped, 15 warnings in 6.96s ======================================================================= ```

As you see there are some warnings however pytest is no longer failing 😄 👍

smarie commented 9 months ago

Great ! Thanks @kloczek . I see that all warnings come from pytest-harvest so this issue will be solved directly there (I saw I opened an issue for pytest-harvest too)

Thanks again !