Coverage report: 81%

Files Functions Classes

coverage.py v7.13.4, created at 2026-03-02 23:01 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
src / pytest_cases / __init__.py (no function)   100% 12 0 4   100% 0 0   100%
src / pytest_cases / _version.py (no function)   78% 18 4 0   50% 2 1   75%
src / pytest_cases / case_funcs.py _CaseInfo.__init__   100% 4 0 0   100% 0 0   100%
src / pytest_cases / case_funcs.py _CaseInfo.__repr__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / case_funcs.py _CaseInfo.get_from   60% 5 2 0   50% 2 1   57%
src / pytest_cases / case_funcs.py _CaseInfo.attach_to   100% 1 0 0   100% 0 0   100%
src / pytest_cases / case_funcs.py _CaseInfo.add_tags   100% 4 0 0   100% 4 0   100%
src / pytest_cases / case_funcs.py _CaseInfo.matches_tag_query   0% 1 1 0   100% 0 0   0%
src / pytest_cases / case_funcs.py _CaseInfo.copy_info   100% 4 0 0   100% 2 0   100%
src / pytest_cases / case_funcs.py _tags_match_query   80% 5 1 0   75% 4 1   78%
src / pytest_cases / case_funcs.py copy_case_info   100% 1 0 0   100% 0 0   100%
src / pytest_cases / case_funcs.py set_case_id   0% 2 2 0   100% 0 0   0%
src / pytest_cases / case_funcs.py get_case_id   100% 9 0 0   100% 6 0   100%
src / pytest_cases / case_funcs.py get_case_marks   100% 8 0 0   100% 4 0   100%
src / pytest_cases / case_funcs.py get_case_tags   100% 2 0 0   100% 0 0   100%
src / pytest_cases / case_funcs.py matches_tag_query   73% 15 4 0   70% 10 3   72%
src / pytest_cases / case_funcs.py case   100% 4 0 0   100% 0 0   100%
src / pytest_cases / case_funcs.py is_case_class   100% 1 0 0   100% 0 0   100%
src / pytest_cases / case_funcs.py is_case_function   80% 10 2 0   100% 6 0   88%
src / pytest_cases / case_funcs.py with_case_tags   0% 2 2 0   100% 0 0   0%
src / pytest_cases / case_funcs.py with_case_tags._decorator   0% 16 16 0   0% 8 0   0%
src / pytest_cases / case_funcs.py (no function)   95% 42 2 4   100% 0 0   95%
src / pytest_cases / case_parametrizer_new.py parametrize_with_cases   100% 3 0 0   100% 0 0   100%
src / pytest_cases / case_parametrizer_new.py parametrize_with_cases._apply_parametrization   100% 12 0 0   100% 4 0   100%
src / pytest_cases / case_parametrizer_new.py _get_original_case_func   100% 3 0 0   100% 0 0   100%
src / pytest_cases / case_parametrizer_new.py create_glob_name_filter   100% 4 0 0   100% 0 0   100%
src / pytest_cases / case_parametrizer_new.py create_glob_name_filter._glob_name_filter   100% 3 0 0   100% 0 0   100%
src / pytest_cases / case_parametrizer_new.py get_all_cases   89% 44 5 0   84% 32 5   87%
src / pytest_cases / case_parametrizer_new.py get_parametrize_args   100% 1 0 0   100% 0 0   100%
src / pytest_cases / case_parametrizer_new.py CaseParamValue.get_case_id   0% 1 1 0   100% 0 0   0%
src / pytest_cases / case_parametrizer_new.py CaseParamValue.get_case_function   0% 1 1 0   100% 0 0   0%
src / pytest_cases / case_parametrizer_new.py _LazyValueCaseParamValue.get_case_id   100% 1 0 0   100% 0 0   100%
src / pytest_cases / case_parametrizer_new.py _LazyValueCaseParamValue.get_case_function   100% 1 0 0   100% 0 0   100%
src / pytest_cases / case_parametrizer_new.py _LazyValueCaseParamValue.as_lazy_tuple   100% 1 0 0   100% 0 0   100%
src / pytest_cases / case_parametrizer_new.py _LazyTupleCaseParamValue.get_case_id   0% 1 1 0   100% 0 0   0%
src / pytest_cases / case_parametrizer_new.py _LazyTupleCaseParamValue.get_case_function   0% 1 1 0   100% 0 0   0%
src / pytest_cases / case_parametrizer_new.py _FixtureRefCaseParamValue.get_case_id   100% 1 0 0   100% 0 0   100%
src / pytest_cases / case_parametrizer_new.py _FixtureRefCaseParamValue.get_case_function   100% 2 0 0   100% 0 0   100%
src / pytest_cases / case_parametrizer_new.py case_to_argvalues   100% 14 0 0   100% 6 0   100%
src / pytest_cases / case_parametrizer_new.py get_or_create_case_fixture   93% 59 4 0   87% 30 4   91%
src / pytest_cases / case_parametrizer_new.py get_or_create_case_fixture.name_changer   100% 1 0 0   100% 0 0   100%
src / pytest_cases / case_parametrizer_new.py _get_fixture_cases   57% 14 6 0   50% 2 1   56%
src / pytest_cases / case_parametrizer_new.py import_default_cases_module   83% 12 2 0   100% 0 0   83%
src / pytest_cases / case_parametrizer_new.py hasinit   100% 3 0 0   50% 2 1   80%
src / pytest_cases / case_parametrizer_new.py hasnew   100% 3 0 0   50% 2 1   80%
src / pytest_cases / case_parametrizer_new.py extract_cases_from_class   44% 9 5 0   50% 6 3   47%
src / pytest_cases / case_parametrizer_new.py extract_cases_from_module   67% 6 2 0   100% 2 0   75%
src / pytest_cases / case_parametrizer_new.py _extract_cases_from_module_or_class   87% 47 6 0   83% 24 4   86%
src / pytest_cases / case_parametrizer_new.py _extract_cases_from_module_or_class._of_interest   100% 4 0 0   100% 0 0   100%
src / pytest_cases / case_parametrizer_new.py get_current_params   90% 52 5 0   90% 30 3   90%
src / pytest_cases / case_parametrizer_new.py _is_same_parametrized_target   100% 1 0 0   100% 0 0   100%
src / pytest_cases / case_parametrizer_new.py _find_fixture_name   100% 5 0 0   50% 2 1   86%
src / pytest_cases / case_parametrizer_new.py get_current_param   94% 16 1 0   83% 6 1   91%
src / pytest_cases / case_parametrizer_new.py get_current_cases   100% 24 0 0   93% 14 1   97%
src / pytest_cases / case_parametrizer_new.py get_current_cases._do   100% 25 0 0   100% 16 0   100%
src / pytest_cases / case_parametrizer_new.py _get_place_as   100% 5 0 0   100% 0 0   100%
src / pytest_cases / case_parametrizer_new.py get_current_case_id   100% 5 0 0   100% 2 0   100%
src / pytest_cases / case_parametrizer_new.py (no function)   95% 73 4 4   100% 0 0   95%
src / pytest_cases / common_mini_six.py (no function)   83% 6 1 0   50% 2 1   75%
src / pytest_cases / common_others.py get_code_first_line   67% 9 3 0   75% 4 1   69%
src / pytest_cases / common_others.py unfold_expected_err   67% 9 3 0   62% 8 1   65%
src / pytest_cases / common_others.py assert_exception   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_others.py AssertException.__init__   100% 6 0 0   100% 0 0   100%
src / pytest_cases / common_others.py AssertException.__enter__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_others.py AssertException.__exit__   71% 14 4 0   69% 16 3   70%
src / pytest_cases / common_others.py get_host_module   100% 3 0 0   100% 2 0   100%
src / pytest_cases / common_others.py in_same_module   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_others.py get_function_host   89% 9 1 0   75% 4 1   85%
src / pytest_cases / common_others.py needs_binding   62% 45 17 0   62% 32 4   62%
src / pytest_cases / common_others.py is_static_method   0% 3 3 0   0% 2 0   0%
src / pytest_cases / common_others.py is_class_method   0% 3 3 0   0% 2 0   0%
src / pytest_cases / common_others.py is_bound_builtin_method   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_others.py get_class_that_defined_method   90% 20 2 0   88% 16 2   89%
src / pytest_cases / common_others.py qname   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_others.py funcopy   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_others.py robust_isinstance   50% 4 2 0   100% 0 0   50%
src / pytest_cases / common_others.py isidentifier   50% 4 2 0   100% 0 0   50%
src / pytest_cases / common_others.py make_identifier   92% 12 1 0   90% 10 1   91%
src / pytest_cases / common_others.py replace_list_contents   100% 2 0 0   100% 0 0   100%
src / pytest_cases / common_others.py (no function)   67% 73 24 3   25% 12 3   61%
src / pytest_cases / common_pytest.py pytest_fixture   100% 2 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py pytest_fixture._decorate   100% 3 0 0   100% 2 0   100%
src / pytest_cases / common_pytest.py pytest_is_running   0% 4 4 0   0% 2 0   0%
src / pytest_cases / common_pytest.py remove_duplicates   100% 2 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py is_fixture   100% 2 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py list_all_fixtures_in   60% 5 2 0   50% 2 1   57%
src / pytest_cases / common_pytest.py safe_isclass   50% 4 2 0   100% 0 0   50%
src / pytest_cases / common_pytest.py safe_isinstance   50% 4 2 0   100% 0 0   50%
src / pytest_cases / common_pytest.py assert_is_fixture   100% 2 0 0   100% 2 0   100%
src / pytest_cases / common_pytest.py get_fixture_name   83% 6 1 0   75% 4 1   80%
src / pytest_cases / common_pytest.py get_fixture_scope   100% 2 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py is_function_node   100% 5 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py get_parametrization_markers   67% 3 1 0   50% 2 1   60%
src / pytest_cases / common_pytest.py get_param_names   100% 6 0 0   100% 2 0   100%
src / pytest_cases / common_pytest.py combine_ids   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py make_test_ids   73% 11 3 0   70% 10 1   71%
src / pytest_cases / common_pytest.py resolve_ids   93% 15 1 0   75% 4 1   89%
src / pytest_cases / common_pytest.py make_test_ids_from_param_values   82% 17 3 0   75% 12 3   79%
src / pytest_cases / common_pytest.py extract_parameterset_info   86% 14 2 0   67% 6 2   80%
src / pytest_cases / common_pytest.py extract_pset_info_single   100% 6 0 0   100% 2 0   100%
src / pytest_cases / common_pytest.py is_marked_parameter_value   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py get_marked_parameter_marks   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py get_marked_parameter_values   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py get_marked_parameter_id   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py get_pytest_nodeid   0% 4 4 0   100% 0 0   0%
src / pytest_cases / common_pytest.py get_pytest_function_scopeval   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py has_function_scope   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py set_callspec_arg_scope_to_function   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py in_callspec_explicit_args   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py mini_idval   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py mini_idvalset   100% 4 0 0   100% 2 0   100%
src / pytest_cases / common_pytest.py FakeSession.__init__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py MiniFuncDef.__init__   100% 3 0 0   50% 2 1   80%
src / pytest_cases / common_pytest.py MiniMetafunc.__init__   100% 18 0 0   83% 6 1   96%
src / pytest_cases / common_pytest.py MiniMetafunc.is_parametrized   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py MiniMetafunc.requires_fixtures   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py MiniMetafunc.update_callspecs   44% 16 9 0   43% 14 2   43%
src / pytest_cases / common_pytest.py add_fixture_params   89% 9 1 0   75% 4 1   85%
src / pytest_cases / common_pytest.py add_fixture_params.wrapped_func   100% 3 0 0   100% 2 0   100%
src / pytest_cases / common_pytest.py get_callspecs   100% 2 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py cart_product_pytest   100% 5 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py _cart_product_pytest   94% 18 1 0   92% 12 1   93%
src / pytest_cases / common_pytest.py inject_host   100% 2 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py inject_host.apply   100% 2 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py get_pytest_request_and_item   100% 7 0 0   100% 0 0   100%
src / pytest_cases / common_pytest.py (no function)   63% 129 48 89   20% 30 6   55%
src / pytest_cases / common_pytest_lazy_values.py Lazy.get_id   0% 1 1 0   100% 0 0   0%
src / pytest_cases / common_pytest_lazy_values.py Lazy.get   0% 1 1 0   100% 0 0   0%
src / pytest_cases / common_pytest_lazy_values.py Lazy.__str__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py Lazy.__eq__   100% 4 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py Lazy.__repr__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py Lazy.__name__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py Lazy.copy_from   0% 1 1 0   100% 0 0   0%
src / pytest_cases / common_pytest_lazy_values.py Lazy.clone   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py _unwrap   75% 8 2 0   50% 4 2   67%
src / pytest_cases / common_pytest_lazy_values.py partial_to_str   71% 7 2 0   50% 4 2   64%
src / pytest_cases / common_pytest_lazy_values.py _LazyValue.copy_from   100% 4 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py _LazyValue.__init__   100% 5 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py _LazyValue.__hash__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py _LazyValue.get_marks   86% 7 1 0   75% 4 1   82%
src / pytest_cases / common_pytest_lazy_values.py _LazyValue.get_id   89% 9 1 0   83% 6 1   87%
src / pytest_cases / common_pytest_lazy_values.py _LazyValue.get   100% 5 0 0   100% 2 0   100%
src / pytest_cases / common_pytest_lazy_values.py _LazyValue.has_cached_value   89% 9 1 0   88% 8 1   88%
src / pytest_cases / common_pytest_lazy_values.py _LazyValue.as_lazy_tuple   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py _LazyValue.as_lazy_items_list   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py _LazyTupleItem.copy_from   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py _LazyTupleItem.__init__   100% 2 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py _LazyTupleItem.__hash__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py _LazyTupleItem.__repr__   80% 5 1 0   50% 2 1   71%
src / pytest_cases / common_pytest_lazy_values.py _LazyTupleItem.get_id   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py _LazyTupleItem.get   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py LazyTuple.copy_from   100% 2 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py LazyTuple.__init__   100% 2 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py LazyTuple.__hash__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py LazyTuple.__len__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py LazyTuple.get_id   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py LazyTuple.get   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py LazyTuple.has_cached_value   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py LazyTuple.cached_value   0% 1 1 0   100% 0 0   0%
src / pytest_cases / common_pytest_lazy_values.py LazyTuple.__getitem__   100% 3 0 0   100% 2 0   100%
src / pytest_cases / common_pytest_lazy_values.py LazyTuple.force_getitem   60% 5 2 0   100% 0 0   60%
src / pytest_cases / common_pytest_lazy_values.py lazy_value   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py is_lazy_value   50% 4 2 0   100% 0 0   50%
src / pytest_cases / common_pytest_lazy_values.py is_lazy   50% 4 2 0   100% 0 0   50%
src / pytest_cases / common_pytest_lazy_values.py get_lazy_args   71% 7 2 0   100% 2 0   78%
src / pytest_cases / common_pytest_lazy_values.py get_test_node   100% 4 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_lazy_values.py (no function)   77% 98 23 6   30% 10 3   72%
src / pytest_cases / common_pytest_marks.py get_param_argnames_as_list   100% 3 0 0   100% 2 0   100%
src / pytest_cases / common_pytest_marks.py _pytest_mark_parametrize   0% 1 1 0   100% 0 0   0%
src / pytest_cases / common_pytest_marks.py get_parametrize_signature   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_marks.py _ParametrizationMark.__init__   71% 14 4 0   0% 2 0   62%
src / pytest_cases / common_pytest_marks.py _LegacyMark.__init__   0% 2 2 0   100% 0 0   0%
src / pytest_cases / common_pytest_marks.py copy_pytest_marks   100% 3 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_marks.py filter_marks   100% 1 0 0   100% 0 0   100%
src / pytest_cases / common_pytest_marks.py get_pytest_marks_on_function   80% 10 2 0   100% 2 0   83%
src / pytest_cases / common_pytest_marks.py get_pytest_marks_on_item   67% 3 1 0   50% 2 1   60%
src / pytest_cases / common_pytest_marks.py get_pytest_usefixture_marks   86% 7 1 0   75% 4 1   82%
src / pytest_cases / common_pytest_marks.py remove_pytest_mark   56% 9 4 0   50% 2 1   55%
src / pytest_cases / common_pytest_marks.py get_pytest_parametrize_marks   40% 20 12 0   36% 14 1   38%
src / pytest_cases / common_pytest_marks.py make_marked_parameter_value   0% 6 6 0   0% 4 0   0%
src / pytest_cases / common_pytest_marks.py markinfos_to_markdecorators   55% 20 9 0   62% 8 1   57%
src / pytest_cases / common_pytest_marks.py markdecorators_as_tuple   100% 6 0 0   100% 2 0   100%
src / pytest_cases / common_pytest_marks.py markdecorators_to_markinfos   40% 5 3 0   25% 4 1   33%
src / pytest_cases / common_pytest_marks.py (no function)   97% 58 2 6   50% 4 2   94%
src / pytest_cases / filters.py CaseFilter.__init__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / filters.py CaseFilter.__call__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / filters.py CaseFilter.__and__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / filters.py CaseFilter.__rand__   0% 1 1 0   100% 0 0   0%
src / pytest_cases / filters.py CaseFilter.__or__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / filters.py CaseFilter.__ror__   0% 1 1 0   100% 0 0   0%
src / pytest_cases / filters.py CaseFilter.__invert__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / filters.py has_tags   100% 2 0 0   100% 0 0   100%
src / pytest_cases / filters.py has_tags._filter   100% 1 0 0   100% 0 0   100%
src / pytest_cases / filters.py has_tag   100% 2 0 0   100% 0 0   100%
src / pytest_cases / filters.py has_tag._filter   100% 1 0 0   100% 0 0   100%
src / pytest_cases / filters.py id_has_prefix   100% 2 0 0   100% 0 0   100%
src / pytest_cases / filters.py id_has_prefix._filter   100% 1 0 0   100% 0 0   100%
src / pytest_cases / filters.py id_has_suffix   100% 2 0 0   100% 0 0   100%
src / pytest_cases / filters.py id_has_suffix._filter   100% 1 0 0   100% 0 0   100%
src / pytest_cases / filters.py id_match_regex   0% 2 2 0   100% 0 0   0%
src / pytest_cases / filters.py id_match_regex._filter   0% 1 1 0   100% 0 0   0%
src / pytest_cases / filters.py (no function)   100% 15 0 0   100% 0 0   100%
src / pytest_cases / fixture__creation.py ExistingFixtureNameError.__init__   0% 3 3 0   100% 0 0   0%
src / pytest_cases / fixture__creation.py ExistingFixtureNameError.__str__   0% 1 1 0   100% 0 0   0%
src / pytest_cases / fixture__creation.py check_name_available   81% 26 5 0   75% 20 5   78%
src / pytest_cases / fixture__creation.py check_name_available.name_changer   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture__creation.py get_caller_module   100% 2 0 0   100% 0 0   100%
src / pytest_cases / fixture__creation.py _get_callerframe   100% 4 0 0   100% 2 0   100%
src / pytest_cases / fixture__creation.py (no function)   100% 16 0 2   100% 0 0   100%
src / pytest_cases / fixture_core1_unions.py _NotUsed.__repr__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_core1_unions.py _Used.__repr__   0% 1 1 0   100% 0 0   0%
src / pytest_cases / fixture_core1_unions.py UnionIdMakers.nostyle   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_core1_unions.py UnionIdMakers.compact   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_core1_unions.py UnionIdMakers.explicit   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_core1_unions.py UnionIdMakers.get   71% 7 2 0   100% 2 0   78%
src / pytest_cases / fixture_core1_unions.py UnionFixtureAlternative.__init__   100% 3 0 0   100% 0 0   100%
src / pytest_cases / fixture_core1_unions.py UnionFixtureAlternative.get_union_id   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_core1_unions.py UnionFixtureAlternative.get_alternative_idx   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_core1_unions.py UnionFixtureAlternative.get_alternative_id   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_core1_unions.py UnionFixtureAlternative.__str__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_core1_unions.py UnionFixtureAlternative.__repr__   0% 1 1 0   100% 0 0   0%
src / pytest_cases / fixture_core1_unions.py UnionFixtureAlternative.to_list_of_fixture_names   100% 6 0 0   100% 4 0   100%
src / pytest_cases / fixture_core1_unions.py InvalidParamsList.__init__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_core1_unions.py InvalidParamsList.__str__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_core1_unions.py is_fixture_union_params   73% 11 3 0   83% 6 1   76%
src / pytest_cases / fixture_core1_unions.py is_used_request   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_core1_unions.py ignore_unused   76% 29 7 0   69% 16 1   73%
src / pytest_cases / fixture_core1_unions.py fixture_union   95% 19 1 0   90% 10 1   93%
src / pytest_cases / fixture_core1_unions.py _fixture_union   92% 12 1 0   75% 4 1   88%
src / pytest_cases / fixture_core1_unions.py _fixture_union._new_fixture   86% 7 1 0   75% 4 1   82%
src / pytest_cases / fixture_core1_unions.py unpack_fixture   100% 4 0 0   100% 2 0   100%
src / pytest_cases / fixture_core1_unions.py _unpack_fixture   100% 19 0 0   100% 8 0   100%
src / pytest_cases / fixture_core1_unions.py _unpack_fixture._create_fixture   100% 2 0 0   100% 0 0   100%
src / pytest_cases / fixture_core1_unions.py _unpack_fixture._create_fixture._param_fixture   100% 4 0 0   100% 2 0   100%
src / pytest_cases / fixture_core1_unions.py (no function)   100% 60 0 10   100% 0 0   100%
src / pytest_cases / fixture_core2.py param_fixture   67% 6 2 0   50% 4 2   60%
src / pytest_cases / fixture_core2.py _create_param_fixture   94% 18 1 0   88% 8 1   92%
src / pytest_cases / fixture_core2.py _create_param_fixture.__param_fixture   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_core2.py param_fixtures   100% 5 0 0   100% 2 0   100%
src / pytest_cases / fixture_core2.py _create_params_fixture   94% 18 1 0   75% 4 1   91%
src / pytest_cases / fixture_core2.py _create_params_fixture._root_fixture   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_core2.py _create_params_fixture._create_fixture   83% 6 1 0   50% 2 1   75%
src / pytest_cases / fixture_core2.py _create_params_fixture._create_fixture._param_fixture   100% 2 0 0   100% 0 0   100%
src / pytest_cases / fixture_core2.py pytest_fixture_plus   0% 6 6 0   0% 4 0   0%
src / pytest_cases / fixture_core2.py pytest_fixture_plus._fixture_plus   0% 1 1 0   100% 0 0   0%
src / pytest_cases / fixture_core2.py fixture   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_core2.py FixtureParam.__init__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_core2.py FixtureParam.__repr__   0% 1 1 0   100% 0 0   0%
src / pytest_cases / fixture_core2.py CombinedFixtureParamValue.__init__   100% 2 0 0   100% 0 0   100%
src / pytest_cases / fixture_core2.py CombinedFixtureParamValue.iterparams   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_core2.py CombinedFixtureParamValue.__repr__   0% 2 2 0   100% 0 0   0%
src / pytest_cases / fixture_core2.py _decorate_fixture_plus   79% 82 17 0   71% 52 9   76%
src / pytest_cases / fixture_core2.py _decorate_fixture_plus._map_arguments   100% 10 0 0   100% 8 0   100%
src / pytest_cases / fixture_core2.py (no function)   100% 42 0 10   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py _fixture_product   88% 24 3 0   60% 10 4   79%
src / pytest_cases / fixture_parametrize_plus.py _fixture_product._tuple_generator   100% 5 0 0   100% 4 0   100%
src / pytest_cases / fixture_parametrize_plus.py _fixture_product._new_fixture   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py fixture_ref.__init__   100% 3 0 0   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py fixture_ref.get_name_for_id   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py fixture_ref.__str__   0% 1 1 0   100% 0 0   0%
src / pytest_cases / fixture_parametrize_plus.py fixture_ref.__repr__   67% 3 1 0   50% 2 1   60%
src / pytest_cases / fixture_parametrize_plus.py fixture_ref._check_iterable   75% 4 1 0   75% 4 1   75%
src / pytest_cases / fixture_parametrize_plus.py fixture_ref.__len__   50% 2 1 0   100% 0 0   50%
src / pytest_cases / fixture_parametrize_plus.py fixture_ref.__getitem__   100% 2 0 0   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py FixtureRefItem.__init__   100% 2 0 0   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py FixtureRefItem.__repr__   0% 1 1 0   100% 0 0   0%
src / pytest_cases / fixture_parametrize_plus.py pytest_parametrize_plus   0% 2 2 0   100% 0 0   0%
src / pytest_cases / fixture_parametrize_plus.py ParamAlternative.__init__   100% 3 0 0   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py ParamAlternative.get_union_id   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py ParamAlternative.get_alternative_idx   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py ParamAlternative.get_alternative_id   0% 1 1 0   100% 0 0   0%
src / pytest_cases / fixture_parametrize_plus.py SingleParamAlternative.__init__   100% 3 0 0   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py SingleParamAlternative.get_alternative_id   100% 3 0 0   100% 2 0   100%
src / pytest_cases / fixture_parametrize_plus.py SingleParamAlternative.create   100% 19 0 0   100% 8 0   100%
src / pytest_cases / fixture_parametrize_plus.py MultiParamAlternative.__init__   100% 3 0 0   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py MultiParamAlternative.__str__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py MultiParamAlternative.get_alternative_idx   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py MultiParamAlternative.get_alternative_id   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py MultiParamAlternative.create   93% 27 2 0   83% 12 2   90%
src / pytest_cases / fixture_parametrize_plus.py FixtureParamAlternative.__init__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py FixtureParamAlternative.get_alternative_idx   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py FixtureParamAlternative.get_alternative_id   100% 3 0 0   100% 2 0   100%
src / pytest_cases / fixture_parametrize_plus.py ProductParamAlternative.get_alternative_idx   0% 1 1 0   100% 0 0   0%
src / pytest_cases / fixture_parametrize_plus.py ProductParamAlternative.get_alternative_id   75% 4 1 0   50% 2 1   67%
src / pytest_cases / fixture_parametrize_plus.py remove_empty_ids   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py ParamIdMakers.nostyle   100% 3 0 0   100% 2 0   100%
src / pytest_cases / fixture_parametrize_plus.py parametrize   100% 6 0 0   100% 2 0   100%
src / pytest_cases / fixture_parametrize_plus.py parametrize._apply_parametrize_plus   100% 1 0 0   100% 0 0   100%
src / pytest_cases / fixture_parametrize_plus.py InvalidIdTemplateException.__init__   0% 4 4 0   100% 0 0   0%
src / pytest_cases / fixture_parametrize_plus.py InvalidIdTemplateException.__str__   0% 1 1 0   100% 0 0   0%
src / pytest_cases / fixture_parametrize_plus.py InvalidIdTemplateException.__repr__   0% 1 1 0   100% 0 0   0%
src / pytest_cases / fixture_parametrize_plus.py _parametrize_plus   88% 172 20 0   86% 94 9   88%
src / pytest_cases / fixture_parametrize_plus.py _parametrize_plus._make_ids   100% 2 0 0   100% 2 0   100%
src / pytest_cases / fixture_parametrize_plus.py _get_argnames_argvalues   92% 26 2 0   89% 18 2   91%
src / pytest_cases / fixture_parametrize_plus.py _gen_ids   91% 11 1 0   83% 6 1   88%
src / pytest_cases / fixture_parametrize_plus.py _gen_ids.gen_id_using_str_formatter   50% 4 2 0   100% 0 0   50%
src / pytest_cases / fixture_parametrize_plus.py _process_argvalues   93% 84 6 0   88% 66 6   91%
src / pytest_cases / fixture_parametrize_plus.py (no function)   98% 89 2 12   50% 2 1   97%
src / pytest_cases / pep380.py _ignore_unused_generator_pep380   100% 2 0 0   100% 0 0   100%
src / pytest_cases / pep380.py _ignore_unused_generator_pep380.wrapped_fixture_func   100% 4 0 0   100% 2 0   100%
src / pytest_cases / pep380.py _decorate_fixture_plus_generator_pep380   100% 2 0 0   100% 0 0   100%
src / pytest_cases / pep380.py _decorate_fixture_plus_generator_pep380.wrapped_fixture_func   100% 4 0 0   100% 2 0   100%
src / pytest_cases / pep380.py _parametrize_plus_decorate_generator_pep380   100% 2 0 0   100% 0 0   100%
src / pytest_cases / pep380.py _parametrize_plus_decorate_generator_pep380.wrapped_test_func   75% 4 1 0   50% 2 1   67%
src / pytest_cases / pep380.py (no function)   100% 8 0 0   100% 0 0   100%
src / pytest_cases / pep492.py _ignore_unused_coroutine_pep492   100% 2 0 0   100% 0 0   100%
src / pytest_cases / pep492.py _ignore_unused_coroutine_pep492.wrapped_fixture_func   0% 4 4 0   0% 2 0   0%
src / pytest_cases / pep492.py _decorate_fixture_plus_coroutine_pep492   0% 2 2 0   100% 0 0   0%
src / pytest_cases / pep492.py _decorate_fixture_plus_coroutine_pep492.wrapped_fixture_func   0% 4 4 0   0% 2 0   0%
src / pytest_cases / pep492.py _parametrize_plus_decorate_coroutine_pep492   100% 2 0 0   100% 0 0   100%
src / pytest_cases / pep492.py _parametrize_plus_decorate_coroutine_pep492.wrapped_test_func   75% 4 1 0   50% 2 1   67%
src / pytest_cases / pep492.py (no function)   88% 8 1 0   100% 0 0   88%
src / pytest_cases / pep525.py _ignore_unused_asyncgen_pep525   100% 2 0 0   100% 0 0   100%
src / pytest_cases / pep525.py _ignore_unused_asyncgen_pep525.wrapped_fixture_func   0% 5 5 0   0% 4 0   0%
src / pytest_cases / pep525.py _decorate_fixture_plus_asyncgen_pep525   0% 2 2 0   100% 0 0   0%
src / pytest_cases / pep525.py _decorate_fixture_plus_asyncgen_pep525.wrapped_fixture_func   0% 5 5 0   0% 4 0   0%
src / pytest_cases / pep525.py _parametrize_plus_decorate_asyncgen_pep525   0% 2 2 0   100% 0 0   0%
src / pytest_cases / pep525.py _parametrize_plus_decorate_asyncgen_pep525.wrapped_test_func   0% 5 5 0   0% 4 0   0%
src / pytest_cases / pep525.py (no function)   75% 8 2 0   100% 0 0   75%
src / pytest_cases / plugin.py pytest_runtest_setup   100% 3 0 0   50% 2 1   80%
src / pytest_cases / plugin.py pytest_collection   100% 1 0 0   100% 0 0   100%
src / pytest_cases / plugin.py FixtureDefsCache.__init__   100% 3 0 0   100% 0 0   100%
src / pytest_cases / plugin.py FixtureDefsCache.get_fixture_defs   88% 8 1 0   50% 2 1   80%
src / pytest_cases / plugin.py FixtureClosureNode.__init__   91% 11 1 0   75% 4 1   87%
src / pytest_cases / plugin.py FixtureClosureNode.get_leaves   100% 3 0 0   100% 2 0   100%
src / pytest_cases / plugin.py FixtureClosureNode.to_str   89% 9 1 0   75% 4 1   85%
src / pytest_cases / plugin.py FixtureClosureNode.__repr__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / plugin.py FixtureClosureNode.get_all_fixture_names   67% 3 1 0   50% 2 1   60%
src / pytest_cases / plugin.py FixtureClosureNode.get_all_fixture_defs   54% 13 6 0   33% 6 2   47%
src / pytest_cases / plugin.py FixtureClosureNode.get_all_fixture_defs.sort_by_scope   100% 2 0 0   100% 0 0   100%
src / pytest_cases / plugin.py FixtureClosureNode.gen_all_fixture_defs   100% 6 0 0   88% 8 1   93%
src / pytest_cases / plugin.py FixtureClosureNode.build_closure   100% 1 0 0   100% 0 0   100%
src / pytest_cases / plugin.py FixtureClosureNode.is_closure_built   100% 1 0 0   100% 0 0   100%
src / pytest_cases / plugin.py FixtureClosureNode.already_knows_fixture   100% 5 0 0   100% 4 0   100%
src / pytest_cases / plugin.py FixtureClosureNode._build_closure   97% 33 1 0   89% 18 2   94%
src / pytest_cases / plugin.py FixtureClosureNode.remove_fixtures   100% 11 0 0   100% 8 0   100%
src / pytest_cases / plugin.py FixtureClosureNode.add_required_fixture   100% 7 0 0   88% 8 1   93%
src / pytest_cases / plugin.py FixtureClosureNode.split_and_build   90% 10 1 0   75% 4 1   86%
src / pytest_cases / plugin.py FixtureClosureNode.has_split   100% 1 0 0   100% 0 0   100%
src / pytest_cases / plugin.py FixtureClosureNode.get_not_always_used   100% 11 0 0   100% 6 0   100%
src / pytest_cases / plugin.py FixtureClosureNode.gather_all_required   100% 7 0 0   100% 6 0   100%
src / pytest_cases / plugin.py FixtureClosureNode.requires   100% 1 0 0   100% 0 0   100%
src / pytest_cases / plugin.py FixtureClosureNode.get_alternatives   100% 4 0 0   100% 2 0   100%
src / pytest_cases / plugin.py FixtureClosureNode._get_alternatives   100% 10 0 0   100% 6 0   100%
src / pytest_cases / plugin.py SuperClosure.__init__   100% 2 0 0   100% 0 0   100%
src / pytest_cases / plugin.py SuperClosure._update_fixture_defs   100% 2 0 0   100% 0 0   100%
src / pytest_cases / plugin.py SuperClosure.nb_alternative_closures   0% 2 2 0   100% 0 0   0%
src / pytest_cases / plugin.py SuperClosure.__repr__   100% 3 0 0   100% 0 0   100%
src / pytest_cases / plugin.py SuperClosure.get_all_fixture_defs   67% 3 1 0   50% 2 1   60%
src / pytest_cases / plugin.py SuperClosure.__len__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / plugin.py SuperClosure.__getitem__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / plugin.py SuperClosure.__setitem__   88% 16 2 0   75% 8 2   83%
src / pytest_cases / plugin.py SuperClosure.__delitem__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / plugin.py SuperClosure.insert   92% 12 1 0   83% 6 1   89%
src / pytest_cases / plugin.py SuperClosure.append_all   0% 2 2 0   100% 0 0   0%
src / pytest_cases / plugin.py SuperClosure.remove   100% 2 0 0   100% 0 0   100%
src / pytest_cases / plugin.py SuperClosure.remove_all   100% 2 0 0   100% 0 0   100%
src / pytest_cases / plugin.py _getfixtureclosure   71% 14 4 0   38% 8 3   59%
src / pytest_cases / plugin.py getfixtureclosure   100% 1 0 0   100% 0 0   100%
src / pytest_cases / plugin.py create_super_closure   79% 24 5 0   70% 10 3   76%
src / pytest_cases / plugin.py create_super_closure._merge   100% 3 0 0   100% 4 0   100%
src / pytest_cases / plugin.py pytest_generate_tests   100% 2 0 0   100% 0 0   100%
src / pytest_cases / plugin.py UnionParamz.__str__   0% 1 1 0   100% 0 0   0%
src / pytest_cases / plugin.py NormalParamz.__str__   0% 1 1 0   100% 0 0   0%
src / pytest_cases / plugin.py parametrize   81% 16 3 0   75% 12 3   79%
src / pytest_cases / plugin.py CallsReactor.__init__   100% 3 0 0   100% 0 0   100%
src / pytest_cases / plugin.py CallsReactor.append   100% 1 0 0   100% 0 0   100%
src / pytest_cases / plugin.py CallsReactor.print_parametrization_list   0% 1 1 0   100% 0 0   0%
src / pytest_cases / plugin.py CallsReactor.__iter__   100% 1 0 0   100% 0 0   100%
src / pytest_cases / plugin.py CallsReactor.__getitem__   0% 1 1 0   100% 0 0   0%
src / pytest_cases / plugin.py CallsReactor.calls_list   100% 3 0 0   50% 2 1   80%
src / pytest_cases / plugin.py CallsReactor.create_call_list_from_pending_parametrizations   76% 21 5 0   75% 8 2   76%
src / pytest_cases / plugin.py get_calls_for_tree   100% 4 0 0   100% 0 0   100%
src / pytest_cases / plugin.py _cleanup_calls_list   88% 34 4 0   91% 22 2   89%
src / pytest_cases / plugin.py id   0% 1 1 0   100% 0 0   0%
src / pytest_cases / plugin.py _parametrize_calls   100% 9 0 0   100% 4 0   100%
src / pytest_cases / plugin.py _process_node   81% 36 7 0   67% 18 6   76%
src / pytest_cases / plugin.py flatten_list   100% 1 0 0   100% 0 0   100%
src / pytest_cases / plugin.py sort_according_to_ref_list   100% 11 0 0   100% 4 0   100%
src / pytest_cases / plugin.py pytest_addoption   100% 3 0 0   100% 0 0   100%
src / pytest_cases / plugin.py pytest_load_initial_conftests   100% 1 0 0   100% 0 0   100%
src / pytest_cases / plugin.py pytest_configure   75% 4 1 0   50% 2 1   67%
src / pytest_cases / plugin.py pytest_collection_modifyitems   100% 13 0 0   100% 6 0   100%
src / pytest_cases / plugin.py current_cases   100% 1 0 0   100% 0 0   100%
src / pytest_cases / plugin.py (no function)   97% 113 3 4   50% 2 1   97%
Total     84% 3226 528 154   75% 1190 181   81%

No items found using the specified filter.