Coverage report: 86.43%

Files Functions Classes

coverage.py v7.13.5, created at 2026-05-31 15:10 +0200

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
src / ocarina / aggregates / tests_layers.py is_test_result_ok   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / aggregates / tests_layers.py is_test_result_fail   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / aggregates / tests_layers.py is_test_result_skipped   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / aggregates / tests_layers.py (no function)   100.00% 5 0 2   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_campaigns_names.py _campaigns_names   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_campaigns_names.py _campaigns_names.get_campaign_name   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_campaigns_names.py validate_campaigns_names   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_campaigns_names.py (no function)   100.00% 5 0 4   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_cycles_names.py _test_cycle_name_chain   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_cycles_names.py validate_test_cycle_name   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_cycles_names.py (no function)   100.00% 5 0 2   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_runners_ids.py _test_runners_ids_chain   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_runners_ids.py _test_runners_ids_chain.get_runner_id   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_runners_ids.py validate_test_runners_ids   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_runners_ids.py (no function)   100.00% 5 0 4   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_runners_names.py _test_runners_names_chain   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_runners_names.py _test_runners_names_chain.get_runner_name   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_runners_names.py validate_test_runners_names   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_runners_names.py (no function)   100.00% 5 0 4   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_suites_names.py _test_suites_names_chain   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_suites_names.py _test_suites_names_chain.get_suite_name   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_suites_names.py validate_test_suites_names   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / oc_test_suites_names.py (no function)   100.00% 5 0 4   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / workers.py _workers_amount_chain   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / workers.py validate_workers_amount   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / custom_invariants / testing / workers.py (no function)   100.00% 5 0 2   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / assertions.py is_str   100.00% 3 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / invariants / assertions.py is_none   0.00% 3 3 0   0.00% 2 0   0.00%
src / ocarina / dsl / invariants / assertions.py is_not_none   100.00% 3 0 0   50.00% 2 1   80.00%
src / ocarina / dsl / invariants / assertions.py is_equal_to   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / assertions.py is_equal_to.unwrapped   100.00% 3 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / invariants / assertions.py is_less_than_or_equal_to   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / assertions.py is_less_than_or_equal_to.unwrapped   100.00% 3 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / invariants / assertions.py is_positive   100.00% 3 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / invariants / assertions.py is_not_zero   100.00% 3 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / invariants / assertions.py is_in   100.00% 3 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / assertions.py is_in.unwrapped   100.00% 4 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / invariants / assertions.py is_file   0.00% 3 3 0   0.00% 2 0   0.00%
src / ocarina / dsl / invariants / assertions.py is_dir   0.00% 3 3 0   0.00% 2 0   0.00%
src / ocarina / dsl / invariants / assertions.py is_iso_date_string   0.00% 5 5 0   100.00% 0 0   0.00%
src / ocarina / dsl / invariants / assertions.py is_iso_utc_date_string   0.00% 8 8 0   0.00% 2 0   0.00%
src / ocarina / dsl / invariants / assertions.py is_email   53.85% 13 6 0   62.50% 8 3   57.14%
src / ocarina / dsl / invariants / assertions.py has_unique_elements   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / assertions.py has_unique_elements.unwrapped   100.00% 18 0 0   91.67% 12 1   96.67%
src / ocarina / dsl / invariants / assertions.py is_empty   0.00% 3 3 0   0.00% 2 0   0.00%
src / ocarina / dsl / invariants / assertions.py is_truthy   0.00% 3 3 0   0.00% 2 0   0.00%
src / ocarina / dsl / invariants / assertions.py is_valid_filename   37.50% 16 10 0   50.00% 10 5   42.31%
src / ocarina / dsl / invariants / assertions.py each   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / assertions.py each.unwrapped   100.00% 2 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / invariants / assertions.py (no function)   100.00% 25 0 3   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / errors.py DuplicatesError.__init__   100.00% 3 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / errors.py AggregateInvariantViolationError.__init__   100.00% 7 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / invariants / errors.py (no function)   100.00% 6 0 5   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py _with_msg   100.00% 3 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py _PredicateWithMsg.__init__   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py _PredicateWithMsg.__call__   100.00% 6 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py _any_of   100.00% 3 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py _any_of._try_predicate   100.00% 5 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py _any_of.combined   100.00% 9 0 0   100.00% 4 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py _ValidationResult.__init__   100.00% 3 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py _ValidationResult.raise_if_invalid   100.00% 2 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py _ValidationChain.__init__   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py _ValidationChain._merge_chain   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py _ValidationChain.add_assertion   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py _ValidationChain.execute   100.00% 9 0 0   100.00% 4 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py _ValidationChain.execute.run_step   100.00% 5 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py ValidationStartBlock.__init__   100.00% 3 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py ValidationStartBlock.assert_that   100.00% 3 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py ValidationAssertBlock.__init__   100.00% 5 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py ValidationAssertBlock.assert_that   100.00% 5 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py ValidationAssertBlock.otherwise   100.00% 7 0 4   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py ValidationAssertBlock.then   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py ValidationAssertBlock.execute   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py chain_validations   100.00% 5 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / invariants / internals / validation_chain.py (no function)   100.00% 32 0 2   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / validate.py _create_business_invariant_validator   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / validate.py validate   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / validate.py _BaseCustomInvariantValidator.create   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / invariants / validate.py (no function)   100.00% 14 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing / filter_tests_by_ids.py filter_tests_by_ids   100.00% 21 0 0   80.00% 10 2   93.55%
src / ocarina / dsl / testing / filter_tests_by_ids.py (no function)   100.00% 2 0 4   100.00% 0 0   100.00%
src / ocarina / dsl / testing / oc_test.py Test.__init__   100.00% 8 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / testing / oc_test.py Test.spawn   75.00% 8 2 0   50.00% 4 2   66.67%
src / ocarina / dsl / testing / oc_test.py (no function)   100.00% 6 0 5   100.00% 0 0   100.00%
src / ocarina / dsl / testing / oc_test_campaign.py TestCampaign.__init__   100.00% 8 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / testing / oc_test_campaign.py TestCampaign.run_all   100.00% 9 0 0   100.00% 6 0   100.00%
src / ocarina / dsl / testing / oc_test_campaign.py campaign_has_failed   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing / oc_test_campaign.py (no function)   100.00% 7 0 4   100.00% 0 0   100.00%
src / ocarina / dsl / testing / oc_test_cycle.py TestCycle.__init__   100.00% 18 0 0   100.00% 14 0   100.00%
src / ocarina / dsl / testing / oc_test_cycle.py TestCycle.run_all   100.00% 7 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / testing / oc_test_cycle.py TestCycle.run_all._run_smoke   100.00% 7 0 0   100.00% 4 0   100.00%
src / ocarina / dsl / testing / oc_test_cycle.py has_test_cycle_failed   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing / oc_test_cycle.py (no function)   100.00% 15 0 4   100.00% 0 0   100.00%
src / ocarina / dsl / testing / oc_test_suite.py TestSuite._guards_with_mounted_tests   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing / oc_test_suite.py TestSuite._guards_on_invoke   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing / oc_test_suite.py TestSuite.__init__   100.00% 16 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing / oc_test_suite.py TestSuite._build_flow   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing / oc_test_suite.py TestSuite._prepare_tests_for_saturated_threading   0.00% 14 14 0   0.00% 4 0   0.00%
src / ocarina / dsl / testing / oc_test_suite.py TestSuite.test_names_and_ids   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing / oc_test_suite.py TestSuite.run   63.33% 30 11 0   90.00% 10 1   70.00%
src / ocarina / dsl / testing / oc_test_suite.py (no function)   100.00% 24 0 9   100.00% 0 0   100.00%
src / ocarina / dsl / testing / watcher.py Watcher.__init__   100.00% 9 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing / watcher.py Watcher.driver   100.00% 4 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / testing / watcher.py Watcher.cache   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing / watcher.py Watcher.report   100.00% 7 0 0   100.00% 4 0   100.00%
src / ocarina / dsl / testing / watcher.py Watcher.start   100.00% 9 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / testing / watcher.py Watcher.stop   100.00% 4 0 0   100.00% 4 0   100.00%
src / ocarina / dsl / testing / watcher.py Watcher._loop   100.00% 4 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / testing / watcher.py (no function)   100.00% 14 0 5   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / chain_actions.py ChainRunner.__init__   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / chain_actions.py ChainRunner.run   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / chain_actions.py chain_actions   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / chain_actions.py chain_actions.thunk   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / chain_actions.py chain_actions.thunk.reducer   100.00% 3 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / testing_with_railway / chain_actions.py (no function)   100.00% 7 0 3   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / constructors / create_act.py create_act   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / constructors / create_act.py create_act.run_action   83.33% 12 2 0   66.67% 6 2   77.78%
src / ocarina / dsl / testing_with_railway / constructors / create_act.py (no function)   100.00% 5 0 5   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py ActionStart.__init__   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py ActionStart.failure   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py ActionFailure.__init__   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py ActionFailure.success   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py ActionSuccess.__init__   100.00% 3 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py ActionSuccess.execute   100.00% 6 0 0   100.00% 2 0   100.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py NeutralActionStart.__init__   0.00% 1 1 0   100.00% 0 0   0.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py NeutralActionStart.failure   0.00% 1 1 0   100.00% 0 0   0.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py NeutralActionFailure.__init__   0.00% 1 1 0   100.00% 0 0   0.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py NeutralActionFailure.success   0.00% 1 1 0   100.00% 0 0   0.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py NeutralActionSuccess.__init__   0.00% 1 1 0   100.00% 0 0   0.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py NeutralActionSuccess.execute   0.00% 1 1 0   100.00% 0 0   0.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py ActionChain.__init__   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py ActionChain.result   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py ActionChain.then   66.67% 6 2 0   50.00% 4 2   60.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py ActionChain.has_failed   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py ActionChain.is_ok   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / internals / action_chain.py (no function)   100.00% 42 0 1   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / match_page.py _run_branch   77.78% 9 2 0   66.67% 6 2   73.33%
src / ocarina / dsl / testing_with_railway / match_page.py _match_page_builder   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / match_page.py _match_page_builder._match_page   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / match_page.py _match_page_builder._match_page._thunk   100.00% 18 0 0   100.00% 4 0   100.00%
src / ocarina / dsl / testing_with_railway / match_page.py create_match_page   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / match_page.py create_match_page._match_page   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / dsl / testing_with_railway / match_page.py (no function)   100.00% 15 0 6   100.00% 0 0   100.00%
src / ocarina / infra / act_counter.py (no function)   100.00% 10 0 0   100.00% 0 0   100.00%
src / ocarina / infra / driver_builder.py DriverBuilder.__init__   100.00% 4 0 0   100.00% 0 0   100.00%
src / ocarina / infra / driver_builder.py DriverBuilder.build   100.00% 4 0 0   100.00% 0 0   100.00%
src / ocarina / infra / driver_builder.py DriverBuilder.build.dispose   100.00% 4 0 0   100.00% 0 0   100.00%
src / ocarina / infra / driver_builder.py DriverBuilder._prepare_profile   50.00% 10 5 0   100.00% 2 0   58.33%
src / ocarina / infra / driver_builder.py (no function)   100.00% 9 0 3   100.00% 0 0   100.00%
src / ocarina / infra / drivers_pool.py WebDriversPool.__init__   100.00% 4 0 0   100.00% 0 0   100.00%
src / ocarina / infra / drivers_pool.py WebDriversPool.acquire   78.57% 14 3 0   100.00% 0 0   78.57%
src / ocarina / infra / drivers_pool.py WebDriversPool.warmup   100.00% 21 0 0   100.00% 6 0   100.00%
src / ocarina / infra / drivers_pool.py WebDriversPool.warmup.worker   63.64% 11 4 0   75.00% 4 1   66.67%
src / ocarina / infra / drivers_pool.py WebDriversPool.shutdown   100.00% 5 0 0   100.00% 2 0   100.00%
src / ocarina / infra / drivers_pool.py (no function)   100.00% 14 0 4   100.00% 0 0   100.00%
src / ocarina / infra / screenshotter.py Screenshotter.__init__   100.00% 5 0 0   100.00% 0 0   100.00%
src / ocarina / infra / screenshotter.py Screenshotter._generate_unique_file_path   90.91% 11 1 0   50.00% 4 2   80.00%
src / ocarina / infra / screenshotter.py Screenshotter.take_screenshot   85.29% 34 5 0   90.00% 20 2   87.04%
src / ocarina / infra / screenshotter.py Screenshotter.take_screenshot._check_driver_health   100.00% 7 0 0   100.00% 2 0   100.00%
src / ocarina / infra / screenshotter.py (no function)   100.00% 30 0 4   100.00% 0 0   100.00%
src / ocarina / opinionated / dsl / drive_page.py drive_page   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / dsl / drive_page.py (no function)   100.00% 3 0 3   100.00% 0 0   100.00%
src / ocarina / opinionated / infra / act_counter.py ActCounter.get   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / infra / act_counter.py ActCounter.reset   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / infra / act_counter.py ActCounter.incr_act_call_count   100.00% 3 0 0   100.00% 2 0   100.00%
src / ocarina / opinionated / infra / act_counter.py (no function)   100.00% 9 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / infra / env.py EnvGetters.__init__   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / infra / env.py EnvGetters.get_credentials   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / infra / env.py EnvGetters.get_value   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / infra / env.py (no function)   100.00% 9 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / launcher / bootstrap.py run_plugins   75.00% 8 2 2   75.00% 4 1   75.00%
src / ocarina / opinionated / launcher / bootstrap.py run_plugins._run_plugin   100.00% 4 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / launcher / bootstrap.py bootstrap   100.00% 4 0 0   50.00% 2 1   83.33%
src / ocarina / opinionated / launcher / bootstrap.py (no function)   100.00% 4 0 6   100.00% 0 0   100.00%
src / ocarina / opinionated / loggers / file_logger.py FileLogger.__init__   100.00% 4 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / loggers / file_logger.py FileLogger._has_taxonomy   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / loggers / file_logger.py FileLogger._log_file_path   71.43% 7 2 0   50.00% 2 1   66.67%
src / ocarina / opinionated / loggers / file_logger.py FileLogger._print_log   100.00% 3 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / loggers / file_logger.py FileLogger._write_log_hook   66.67% 6 2 0   25.00% 4 1   50.00%
src / ocarina / opinionated / loggers / file_logger.py FileLogger.cleanup   0.00% 12 12 0   0.00% 8 0   0.00%
src / ocarina / opinionated / loggers / file_logger.py (no function)   100.00% 12 0 3   100.00% 0 0   100.00%
src / ocarina / opinionated / plugins / reports / docx_tests_proofs.py _replace_utc_date   100.00% 2 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / plugins / reports / docx_tests_proofs.py _replace_utc_date._repl   100.00% 3 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / plugins / reports / docx_tests_proofs.py _shorten_docx_path   90.00% 10 1 2   50.00% 4 2   78.57%
src / ocarina / opinionated / plugins / reports / docx_tests_proofs.py _create_unique_output_dir   60.00% 10 4 0   50.00% 2 1   58.33%
src / ocarina / opinionated / plugins / reports / docx_tests_proofs.py _safe_iter_lines   50.00% 6 3 0   100.00% 0 0   50.00%
src / ocarina / opinionated / plugins / reports / docx_tests_proofs.py _save_docx   50.00% 6 3 0   100.00% 0 0   50.00%
src / ocarina / opinionated / plugins / reports / docx_tests_proofs.py _DocxProofGenerator.__init__   100.00% 4 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / plugins / reports / docx_tests_proofs.py _DocxProofGenerator._iter_test_cases   76.92% 13 3 0   91.67% 12 1   84.00%
src / ocarina / opinionated / plugins / reports / docx_tests_proofs.py _DocxProofGenerator._create_docx_from_case   92.31% 39 3 0   87.50% 8 1   91.49%
src / ocarina / opinionated / plugins / reports / docx_tests_proofs.py _DocxProofGenerator.generate_docx_proofs   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / plugins / reports / docx_tests_proofs.py generate_docx_proof   100.00% 15 0 0   83.33% 6 1   95.24%
src / ocarina / opinionated / plugins / reports / docx_tests_proofs.py (no function)   100.00% 24 0 4   100.00% 0 0   100.00%
src / ocarina / opinionated / plugins / reports / pretty_print_results.py _color_text   0.00% 1 1 0   100.00% 0 0   0.00%
src / ocarina / opinionated / plugins / reports / pretty_print_results.py _muted_color_text   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / plugins / reports / pretty_print_results.py _upcase   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / opinionated / plugins / reports / pretty_print_results.py pretty_print_results   96.00% 50 2 0   94.12% 34 2   95.24%
src / ocarina / opinionated / plugins / reports / pretty_print_results.py (no function)   100.00% 15 0 2   100.00% 0 0   100.00%
src / ocarina / opinionated / plugins / reports / results_to_json.py _result_to_serializable   66.67% 6 2 0   75.00% 4 1   70.00%
src / ocarina / opinionated / plugins / reports / results_to_json.py generate_json_results   73.91% 23 6 0   66.67% 6 2   72.41%
src / ocarina / opinionated / plugins / reports / results_to_json.py (no function)   100.00% 6 0 4   100.00% 0 0   100.00%
src / ocarina / opinionated / plugins / reports / timing.py format_elapsed   75.00% 16 4 0   50.00% 10 5   65.38%
src / ocarina / opinionated / plugins / reports / timing.py timing   76.92% 13 3 0   100.00% 2 0   80.00%
src / ocarina / opinionated / plugins / reports / timing.py (no function)   100.00% 6 0 0   100.00% 0 0   100.00%
src / ocarina / pom / base.py (no function)   100.00% 7 0 3   100.00% 0 0   100.00%
src / ocarina / railway / result.py is_ok   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / railway / result.py is_fail   100.00% 1 0 0   100.00% 0 0   100.00%
src / ocarina / railway / result.py (no function)   100.00% 15 0 1   100.00% 0 0   100.00%
Total     88.55% 1345 154 129   77.50% 320 46   86.43%

No items found using the specified filter.

6 empty functions skipped.