Coverage report: 61%

Files Functions Classes

coverage.py v7.16.1, created at 2026-10-04 09:01 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
deb_materialization.py (no function)   0% 3 3 4   100% 0 0   0%
deb_packer.py (no function)   0% 3 3 4   100% 0 0   0%
debputy/plugins/gnome.py gnome_versions   97% 29 1 0   92% 12 1   95%
debputy/plugins/gnome.py (no function)   100% 10 0 0   100% 0 0   100%
debputy/plugins/grantlee.py detect_grantlee_dependencies   95% 22 1 0   93% 14 1   94%
debputy/plugins/grantlee.py (no function)   100% 8 0 0   100% 0 0   100%
debputy/plugins/numpy3.py _parse_numpy3_versions   67% 18 6 0   100% 4 0   73%
debputy/plugins/numpy3.py numpy_depends   100% 6 0 0   100% 2 0   100%
debputy/plugins/numpy3.py (no function)   100% 10 0 0   100% 0 0   100%
debputy/plugins/perl_openssl.py _resolve_libssl_abi   33% 6 4 0   100% 0 0   33%
debputy/plugins/perl_openssl.py perl_openssl_abi   100% 3 0 0   100% 0 0   100%
debputy/plugins/perl_openssl.py (no function)   100% 11 0 0   100% 0 0   100%
self-hosting-plugins/debputy_self_hosting.py _maintscript_generator   67% 6 2 0   100% 0 0   67%
self-hosting-plugins/debputy_self_hosting.py _rtupdate_generator   0% 7 7 0   100% 0 0   0%
self-hosting-plugins/debputy_self_hosting.py initializer   100% 3 0 0   100% 0 0   100%
self-hosting-plugins/debputy_self_hosting.py (no function)   100% 8 0 3   100% 0 0   100%
self-hosting-plugins/debputy_self_hosting_test.py test_plugin   100% 3 0 0   100% 0 0   100%
self-hosting-plugins/debputy_self_hosting_test.py (no function)   100% 2 0 0   100% 0 0   100%
src/debputy/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/_deb_options_profiles.py _parse_profiles   100% 1 0 0   100% 0 0   100%
src/debputy/_deb_options_profiles.py _parse_deb_build_options   100% 7 0 0   100% 4 0   100%
src/debputy/_deb_options_profiles.py DebBuildOptionsAndProfiles.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/_deb_options_profiles.py DebBuildOptionsAndProfiles.deb_build_profiles   100% 1 0 0   100% 0 0   100%
src/debputy/_deb_options_profiles.py DebBuildOptionsAndProfiles.deb_build_options   100% 1 0 1   100% 0 0   100%
src/debputy/_deb_options_profiles.py (no function)   100% 13 0 0   100% 0 0   100%
src/debputy/_manifest_constants.py (no function)   100% 42 0 0   100% 0 0   100%
src/debputy/analysis/__init__.py (no function)   100% 3 0 0   100% 0 0   100%
src/debputy/analysis/analysis_util.py flatten_ppfs   100% 4 0 0   100% 4 0   100%
src/debputy/analysis/analysis_util.py (no function)   100% 4 0 0   100% 0 0   100%
src/debputy/analysis/debian_dir.py _perl_json_bool   27% 11 8 0   20% 10 2   24%
src/debputy/analysis/debian_dir.py scan_debian_dir   0% 64 64 0   0% 32 0   0%
src/debputy/analysis/debian_dir.py _skip_path   0% 10 10 0   0% 6 0   0%
src/debputy/analysis/debian_dir.py _fake_PPFClassSpec   83% 6 1 0   50% 4 2   70%
src/debputy/analysis/debian_dir.py _relevant_dh_compat_rules   0% 10 10 0   0% 8 0   0%
src/debputy/analysis/debian_dir.py _kpf_install_pattern   0% 5 5 0   0% 4 0   0%
src/debputy/analysis/debian_dir.py resolve_debhelper_config_files   59% 103 42 0   48% 52 13   55%
src/debputy/analysis/debian_dir.py _fake_plugin_feature_set   100% 1 0 0   100% 0 0   100%
src/debputy/analysis/debian_dir.py _merge_list   0% 6 6 0   0% 2 0   0%
src/debputy/analysis/debian_dir.py _merge_ppfs   0% 46 46 0   0% 30 0   0%
src/debputy/analysis/debian_dir.py _relevant_dh_commands   67% 24 8 0   50% 14 3   61%
src/debputy/analysis/debian_dir.py _add_known_packaging_data   0% 19 19 0   0% 12 0   0%
src/debputy/analysis/debian_dir.py _scan_debian_dir   0% 4 4 0   0% 4 0   0%
src/debputy/analysis/debian_dir.py (no function)   100% 35 0 0   100% 0 0   100%
src/debputy/architecture_support.py _initial_cache   100% 4 0 0   100% 4 0   100%
src/debputy/architecture_support.py DpkgArchitectureBuildProcessValuesTable.__init__   100% 5 0 0   100% 2 0   100%
src/debputy/architecture_support.py DpkgArchitectureBuildProcessValuesTable.__getitem__   93% 14 1 0   90% 10 1   92%
src/debputy/architecture_support.py DpkgArchitectureBuildProcessValuesTable.__len__   0% 1 1 0   100% 0 0   0%
src/debputy/architecture_support.py DpkgArchitectureBuildProcessValuesTable.__iter__   0% 1 1 0   100% 0 0   0%
src/debputy/architecture_support.py DpkgArchitectureBuildProcessValuesTable.current_host_arch   100% 1 0 0   100% 0 0   100%
src/debputy/architecture_support.py DpkgArchitectureBuildProcessValuesTable.current_host_multiarch   100% 1 0 0   100% 0 0   100%
src/debputy/architecture_support.py DpkgArchitectureBuildProcessValuesTable.is_cross_compiling   100% 1 0 0   100% 0 0   100%
src/debputy/architecture_support.py _parse_dpkg_arch_output   100% 4 0 0   100% 2 0   100%
src/debputy/architecture_support.py _ensure_in_fake   76% 25 6 0   62% 16 4   71%
src/debputy/architecture_support.py (no function)   100% 20 0 0   100% 0 0   100%
src/debputy/build_support/__init__.py (no function)   100% 3 0 0   100% 0 0   100%
src/debputy/build_support/build_context.py BuildContext.from_command_context   0% 1 1 0   100% 0 0   0%
src/debputy/build_support/build_context.py BuildContext.deb_build_options   100% 0 0 1   100% 0 0   100%
src/debputy/build_support/build_context.py BuildContext.parallelization_limit   0% 10 10 0   0% 4 0   0%
src/debputy/build_support/build_context.py BuildContext.is_terse_build   0% 1 1 0   100% 0 0   0%
src/debputy/build_support/build_context.py BuildContext.is_cross_compiling   0% 1 1 0   100% 0 0   0%
src/debputy/build_support/build_context.py BuildContext.cross_tool   0% 4 4 0   0% 2 0   0%
src/debputy/build_support/build_context.py BuildContext.dpkg_architecture_variables   100% 0 0 1   100% 0 0   100%
src/debputy/build_support/build_context.py BuildContext.should_run_tests   0% 1 1 0   100% 0 0   0%
src/debputy/build_support/build_context.py BuildContextImpl.__init__   0% 1 1 0   100% 0 0   0%
src/debputy/build_support/build_context.py BuildContextImpl.deb_build_options   0% 1 1 0   100% 0 0   0%
src/debputy/build_support/build_context.py BuildContextImpl.dpkg_architecture_variables   0% 1 1 0   100% 0 0   0%
src/debputy/build_support/build_context.py (no function)   100% 25 0 4   100% 0 0   100%
src/debputy/build_support/build_logic.py in_build_env   0% 2 2 0   100% 0 0   0%
src/debputy/build_support/build_logic.py _set_stem_if_absent   0% 2 2 0   0% 2 0   0%
src/debputy/build_support/build_logic.py assign_stems   0% 38 38 0   0% 26 0   0%
src/debputy/build_support/build_logic.py perform_builds   0% 41 41 0   0% 18 0   0%
src/debputy/build_support/build_logic.py prune_unnecessary_env   0% 5 5 0   0% 4 0   0%
src/debputy/build_support/build_logic.py _setup_build_env   0% 22 22 0   0% 6 0   0%
src/debputy/build_support/build_logic.py _set_env   0% 9 9 0   0% 4 0   0%
src/debputy/build_support/build_logic.py (no function)   100% 22 0 2   100% 0 0   100%
src/debputy/build_support/buildsystem_detection.py default_build_environment_only   0% 6 6 0   0% 2 0   0%
src/debputy/build_support/buildsystem_detection.py auto_detect_buildsystem   0% 37 37 0   0% 16 0   0%
src/debputy/build_support/buildsystem_detection.py (no function)   100% 9 0 2   100% 0 0   100%
src/debputy/build_support/clean_logic.py _debhelper_left_overs   0% 7 7 0   0% 6 0   0%
src/debputy/build_support/clean_logic.py CleanHelperImpl.__init__   0% 2 2 0   100% 0 0   0%
src/debputy/build_support/clean_logic.py CleanHelperImpl.schedule_removal_of_files   0% 1 1 0   100% 0 0   0%
src/debputy/build_support/clean_logic.py CleanHelperImpl.schedule_removal_of_directories   0% 3 3 0   0% 2 0   0%
src/debputy/build_support/clean_logic.py _scan_for_standard_removals   0% 17 17 0   0% 14 0   0%
src/debputy/build_support/clean_logic.py _apply_remove_during_clean_rules   0% 14 14 0   0% 10 0   0%
src/debputy/build_support/clean_logic.py perform_clean   0% 68 68 0   0% 30 0   0%
src/debputy/build_support/clean_logic.py _remove_files_if_exists   0% 9 9 0   0% 4 0   0%
src/debputy/build_support/clean_logic.py (no function)   100% 24 0 0   100% 0 0   100%
src/debputy/builtin_manifest_rules.py _UsrShareDocMatchRule.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/builtin_manifest_rules.py _UsrShareDocMatchRule.finditer   71% 14 4 0   71% 14 4   71%
src/debputy/builtin_manifest_rules.py _UsrShareDocMatchRule.describe_match_short   0% 1 1 0   100% 0 0   0%
src/debputy/builtin_manifest_rules.py _UsrShareDocMatchRule.describe_match_exact   0% 1 1 0   100% 0 0   0%
src/debputy/builtin_manifest_rules.py _ShebangScriptFiles.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/builtin_manifest_rules.py _ShebangScriptFiles.finditer   100% 10 0 0   100% 6 0   100%
src/debputy/builtin_manifest_rules.py _ShebangScriptFiles.path_type   0% 1 1 0   100% 0 0   0%
src/debputy/builtin_manifest_rules.py _ShebangScriptFiles._full_pattern   0% 1 1 0   100% 0 0   0%
src/debputy/builtin_manifest_rules.py _ShebangScriptFiles.describe_match_short   0% 1 1 0   100% 0 0   0%
src/debputy/builtin_manifest_rules.py _ShebangScriptFiles.describe_match_exact   0% 1 1 0   100% 0 0   0%
src/debputy/builtin_manifest_rules.py builtin_mode_normalization_rules   100% 13 0 0   100% 0 0   100%
src/debputy/builtin_manifest_rules.py (no function)   100% 36 0 0   100% 0 0   100%
src/debputy/commands/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/commands/deb_materialization.py parse_args   0% 33 33 0   0% 2 0   0%
src/debputy/commands/deb_materialization.py _run   0% 7 7 0   100% 0 0   0%
src/debputy/commands/deb_materialization.py strip_path_prefix   0% 3 3 0   0% 2 0   0%
src/debputy/commands/deb_materialization.py _perform_data_tar_materialization   0% 47 47 0   0% 26 0   0%
src/debputy/commands/deb_materialization.py materialize_deb   0% 23 23 0   0% 8 0   0%
src/debputy/commands/deb_materialization.py apply_fs_metadata   0% 9 9 0   0% 8 0   0%
src/debputy/commands/deb_materialization.py _dpkg_deb_root_requirements   0% 11 11 0   0% 4 0   0%
src/debputy/commands/deb_materialization.py maybe_with_materialized_manifest   0% 6 6 0   0% 2 0   0%
src/debputy/commands/deb_materialization.py _prep_assembled_deb_output_path   0% 10 10 0   0% 6 0   0%
src/debputy/commands/deb_materialization.py _apply_env   0% 7 7 0   0% 4 0   0%
src/debputy/commands/deb_materialization.py assemble_deb   0% 39 39 0   0% 14 0   0%
src/debputy/commands/deb_materialization.py parse_manifest   0% 3 3 0   0% 2 0   0%
src/debputy/commands/deb_materialization.py main   0% 17 17 0   0% 10 0   0%
src/debputy/commands/deb_materialization.py (no function)   100% 30 0 2   100% 0 0   100%
src/debputy/commands/deb_packer.py ArMember.__init__   100% 4 0 0   100% 0 0   100%
src/debputy/commands/deb_packer.py ArMember.is_fixed_binary   100% 1 0 0   100% 0 0   100%
src/debputy/commands/deb_packer.py ArMember.mtime   0% 1 1 0   100% 0 0   0%
src/debputy/commands/deb_packer.py ArMember.write_to   100% 3 0 0   100% 0 0   100%
src/debputy/commands/deb_packer.py write_header   100% 2 0 0   100% 0 0   100%
src/debputy/commands/deb_packer.py generate_ar_archive   64% 28 10 0   33% 12 0   55%
src/debputy/commands/deb_packer.py _generate_tar_file   90% 10 1 0   83% 6 1   88%
src/debputy/commands/deb_packer.py generate_tar_file_member   100% 2 0 0   100% 0 0   100%
src/debputy/commands/deb_packer.py generate_tar_file_member._impl   100% 1 0 0   100% 0 0   100%
src/debputy/commands/deb_packer.py _xz_cmdline   90% 10 1 0   50% 4 2   79%
src/debputy/commands/deb_packer.py _gzip_cmdline   0% 6 6 0   0% 2 0   0%
src/debputy/commands/deb_packer.py _uncompressed_cmdline   0% 1 1 0   100% 0 0   0%
src/debputy/commands/deb_packer.py Compression.__init__   100% 4 0 0   100% 0 0   100%
src/debputy/commands/deb_packer.py Compression.__repr__   0% 1 1 0   100% 0 0   0%
src/debputy/commands/deb_packer.py Compression.effective_compression_level   67% 3 1 0   50% 2 1   60%
src/debputy/commands/deb_packer.py Compression.as_cmdline   100% 1 0 0   100% 0 0   100%
src/debputy/commands/deb_packer.py Compression.with_extension   100% 1 0 0   100% 0 0   100%
src/debputy/commands/deb_packer.py _normalize_compression_args   0% 8 8 0   0% 4 0   0%
src/debputy/commands/deb_packer.py parse_args   0% 31 31 0   100% 0 0   0%
src/debputy/commands/deb_packer.py _ctrl_member   50% 4 2 0   50% 2 1   50%
src/debputy/commands/deb_packer.py _ctrl_tar_members   91% 11 1 0   75% 4 1   87%
src/debputy/commands/deb_packer.py parse_manifest   67% 3 1 0   50% 2 1   60%
src/debputy/commands/deb_packer.py main   0% 16 16 0   0% 4 0   0%
src/debputy/commands/deb_packer.py pack   100% 3 0 0   100% 0 0   100%
src/debputy/commands/deb_packer.py (no function)   100% 44 0 2   100% 0 0   100%
src/debputy/commands/debputy_cmd/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/commands/debputy_cmd/context.py add_arg   100% 2 0 0   100% 0 0   100%
src/debputy/commands/debputy_cmd/context.py add_arg._configurator   0% 1 1 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/context.py _host_dpo_to_dbo   0% 4 4 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.__init__   0% 15 15 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.package_set   0% 1 1 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.package_set   0% 3 3 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.debian_dir   0% 1 1 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.mtime   0% 3 3 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.dctrl_parser   0% 11 11 0   0% 4 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.source_package   0% 2 2 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.binary_packages   0% 2 2 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.dpkg_architecture_variables   0% 1 1 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.requested_plugins   0% 3 3 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.required_plugins   0% 1 1 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.deb_build_options_and_profiles   0% 1 1 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.deb_build_options   0% 1 1 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext._create_substitution   0% 9 9 0   0% 6 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.load_plugins   0% 9 9 0   0% 4 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext._plugin_from_dependency_field   0% 10 10 0   0% 4 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext._resolve_requested_plugins   0% 10 10 0   0% 6 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.substitution   0% 3 3 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.must_be_called_in_source_root   0% 2 2 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext._parse_dctrl   0% 11 11 0   0% 4 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.has_dctrl_file   0% 2 2 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.resolve_integration_mode   0% 10 10 0   0% 4 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.set_log_level_for_build_subcommand   0% 9 9 0   0% 6 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.manifest_parser   0% 8 8 0   0% 4 0   0%
src/debputy/commands/debputy_cmd/context.py CommandContext.parse_manifest   0% 14 14 0   0% 8 0   0%
src/debputy/commands/debputy_cmd/context.py CommandBase.configure   0% 1 1 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/context.py CommandBase.__call__   100% 0 0 1   100% 0 0   100%
src/debputy/commands/debputy_cmd/context.py SubcommandBase.__init__   100% 3 0 0   100% 0 0   100%
src/debputy/commands/debputy_cmd/context.py SubcommandBase.add_subcommand_to_subparser   0% 3 3 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/context.py GenericSubCommand.__init__   100% 7 0 0   100% 0 0   100%
src/debputy/commands/debputy_cmd/context.py GenericSubCommand.configure_handler   67% 3 1 0   50% 2 1   60%
src/debputy/commands/debputy_cmd/context.py GenericSubCommand.configure   0% 3 3 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/context.py GenericSubCommand.__call__   0% 14 14 0   0% 8 0   0%
src/debputy/commands/debputy_cmd/context.py DispatchingCommandMixin.add_subcommand   100% 0 0 1   100% 0 0   100%
src/debputy/commands/debputy_cmd/context.py DispatchingCommandMixin.add_dispatching_subcommand   100% 3 0 0   100% 0 0   100%
src/debputy/commands/debputy_cmd/context.py DispatchingCommandMixin.register_subcommand   100% 11 0 0   100% 4 0   100%
src/debputy/commands/debputy_cmd/context.py DispatchingCommandMixin.register_subcommand._wrapper   0% 2 2 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/context.py DispatchingCommandMixin.register_subcommand._annotation_impl   100% 5 0 0   100% 2 0   100%
src/debputy/commands/debputy_cmd/context.py DispatcherCommand.__init__   100% 7 0 0   100% 0 0   100%
src/debputy/commands/debputy_cmd/context.py DispatcherCommand.add_subcommand   89% 9 1 0   83% 6 1   87%
src/debputy/commands/debputy_cmd/context.py DispatcherCommand.configure   0% 13 13 0   0% 8 0   0%
src/debputy/commands/debputy_cmd/context.py DispatcherCommand.has_command   0% 1 1 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/context.py DispatcherCommand.__call__   0% 11 11 0   0% 4 0   0%
src/debputy/commands/debputy_cmd/context.py (no function)   100% 96 0 5   100% 0 0   100%
src/debputy/commands/debputy_cmd/lint_and_lsp_cmds.py lsp_server_cmd   0% 20 20 0   0% 6 0   0%
src/debputy/commands/debputy_cmd/lint_and_lsp_cmds.py lsp_editor_glue   0% 21 21 0   0% 10 0   0%
src/debputy/commands/debputy_cmd/lint_and_lsp_cmds.py lsp_describe_features   0% 6 6 1   100% 0 0   0%
src/debputy/commands/debputy_cmd/lint_and_lsp_cmds.py lint_cmd   0% 9 9 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/lint_and_lsp_cmds.py reformat_cmd   0% 9 9 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/lint_and_lsp_cmds.py lsp_test_semantic_tokens_cmd   0% 20 20 0   0% 4 0   0%
src/debputy/commands/debputy_cmd/lint_and_lsp_cmds.py _load_test_lsp   0% 12 12 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/lint_and_lsp_cmds.py _fake_initialize   0% 3 3 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/lint_and_lsp_cmds.py ensure_lint_and_lsp_commands_are_loaded   0% 3 3 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/lint_and_lsp_cmds.py (no function)   100% 27 0 2   100% 0 0   100%
src/debputy/commands/debputy_cmd/output.py _pager   0% 6 6 0   0% 4 0   0%
src/debputy/commands/debputy_cmd/output.py OutputStyle.colored   0% 4 4 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/output.py OutputStyle.supports_colors   0% 1 1 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/output.py OutputStyle._check_color   0% 2 2 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/output.py OutputStyle._check_text_style   0% 2 2 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/output.py OutputStyle.heading   100% 1 0 0   100% 0 0   100%
src/debputy/commands/debputy_cmd/output.py OutputStyle.render_url   100% 1 0 0   100% 0 0   100%
src/debputy/commands/debputy_cmd/output.py OutputStyle.bts   100% 1 0 0   100% 0 0   100%
src/debputy/commands/debputy_cmd/output.py MarkdownOutputStyle.colored   0% 4 4 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/output.py MarkdownOutputStyle.heading   0% 2 2 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/output.py MarkdownOutputStyle.render_url   0% 7 7 0   0% 4 0   0%
src/debputy/commands/debputy_cmd/output.py IOBasedOutputStyling.__init__   100% 4 0 0   100% 0 0   100%
src/debputy/commands/debputy_cmd/output.py IOBasedOutputStyling.print_list_table   0% 38 38 0   0% 18 0   0%
src/debputy/commands/debputy_cmd/output.py IOBasedOutputStyling.print   0% 3 3 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/output.py IOBasedOutputStyling.print_visual_formatting   0% 3 3 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/output.py IOBasedOutputStyling.print_for_screen_reader   0% 3 3 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/output.py IOBasedOutputStyling.heading   0% 2 2 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/output.py ANSIOutputStylingBase.__init__   0% 5 5 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/output.py ANSIOutputStylingBase.supports_colors   0% 1 1 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/output.py ANSIOutputStylingBase.colored   0% 22 22 0   0% 10 0   0%
src/debputy/commands/debputy_cmd/output.py ANSIOutputStylingBase.render_url   0% 9 9 0   0% 6 0   0%
src/debputy/commands/debputy_cmd/output.py ANSIOutputStylingBase.heading   0% 1 1 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/output.py ANSIOutputStylingBase.bts   0% 3 3 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/output.py no_fancy_output   100% 3 0 0   50% 2 1   80%
src/debputy/commands/debputy_cmd/output.py _output_styling   0% 7 7 0   0% 4 0   0%
src/debputy/commands/debputy_cmd/output.py _stream_to_pager   0% 26 26 0   0% 6 0   0%
src/debputy/commands/debputy_cmd/output.py (no function)   95% 56 3 0   50% 2 1   93%
src/debputy/commands/debputy_cmd/plugin_cmds.py format_output_arg   75% 4 1 0   50% 2 1   67%
src/debputy/commands/debputy_cmd/plugin_cmds.py format_output_arg._configurator   0% 1 1 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _plugin_cmd_list_plugins   0% 5 5 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _path   0% 3 3 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _ppf_flags   0% 12 12 0   0% 10 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _plugin_cmd_list_uppf   0% 19 19 0   0% 8 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _plugin_cmd_list_ppf   0% 7 7 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _plugin_cmd_list_metadata_detectors   0% 4 4 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _plugin_cmd_list_metadata_detectors._sort_key   0% 1 1 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _resolve_variable_for_list   0% 6 6 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _render_manifest_variable_flag   0% 6 6 0   0% 4 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _render_list_filter   0% 3 3 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py plugin_cmd_list_manifest_variables   0% 12 12 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py plugin_cmd_list_manifest_variables._include_var   0% 9 9 0   0% 8 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py list_manifest_variable_arg_parser   0% 4 4 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _plugin_cmd_list_manifest_rules   0% 8 8 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _plugin_cmd_list_automatic_discard_rules   0% 3 3 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _render_manifest_variable_value   0% 4 4 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _plugin_cmd_show_manifest_variables   0% 43 43 0   0% 18 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _determine_ppf   0% 28 28 0   0% 18 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _plugin_cmd_show_ppf   0% 63 63 0   0% 28 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py lookup_pmr_rule   0% 37 37 0   0% 16 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _plugin_cmd_show_manifest_rule   0% 17 17 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _render_discard_rule_example   0% 53 53 0   0% 38 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _render_discard_rule   0% 22 22 0   0% 8 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _plugin_cmd_show_automatic_discard_rules   0% 6 6 0   0% 2 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _plugin_cmd_list_type_mappings   0% 3 3 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py _plugin_cmd_show_type_mappings   0% 33 33 0   0% 18 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py ensure_plugin_commands_are_loaded   0% 1 1 0   100% 0 0   0%
src/debputy/commands/debputy_cmd/plugin_cmds.py (no function)   100% 74 0 0   100% 0 0   100%
src/debputy/deb_packaging_support.py generate_md5sums_file   100% 21 0 0   100% 12 0   100%
src/debputy/deb_packaging_support.py install_or_generate_conffiles   83% 6 1 0   75% 4 1   80%
src/debputy/deb_packaging_support.py _dpkg_perl_version   0% 8 8 0   0% 4 0   0%
src/debputy/deb_packaging_support.py handle_perl_code   0% 38 38 0   0% 32 0   0%
src/debputy/deb_packaging_support.py usr_local_transformation   0% 3 3 0   0% 2 0   0%
src/debputy/deb_packaging_support.py _find_and_analyze_systemd_service_files   0% 16 16 0   0% 10 0   0%
src/debputy/deb_packaging_support.py detect_systemd_user_service_files   0% 2 2 0   0% 2 0   0%
src/debputy/deb_packaging_support.py _prune_dch_file   0% 47 47 0   0% 26 0   0%
src/debputy/deb_packaging_support.py fixup_debian_changelog_and_news_file   0% 18 18 0   0% 12 0   0%
src/debputy/deb_packaging_support.py _detect_upstream_changelog   100% 8 0 0   100% 6 0   100%
src/debputy/deb_packaging_support.py install_upstream_changelog   100% 23 0 0   94% 16 1   97%
src/debputy/deb_packaging_support.py _elf_static_lib_walk_filter   0% 10 10 0   0% 10 0   0%
src/debputy/deb_packaging_support.py _all_elf_files   0% 9 9 0   0% 2 0   0%
src/debputy/deb_packaging_support.py _find_all_static_libs   0% 17 17 0   0% 14 0   0%
src/debputy/deb_packaging_support.py _all_static_libs   0% 7 7 0   0% 2 0   0%
src/debputy/deb_packaging_support.py _resolve_build_ids   0% 14 14 0   0% 8 0   0%
src/debputy/deb_packaging_support.py _make_debug_file   0% 15 15 0   0% 2 0   0%
src/debputy/deb_packaging_support.py _strip_binary   0% 12 12 0   0% 4 0   0%
src/debputy/deb_packaging_support.py _attach_debug   0% 7 7 0   100% 0 0   0%
src/debputy/deb_packaging_support.py _has_tool   0% 1 1 0   100% 0 0   0%
src/debputy/deb_packaging_support.py _run_dwz   0% 22 22 0   0% 6 0   0%
src/debputy/deb_packaging_support.py relocate_dwarves_into_dbgsym_packages   0% 22 22 0   0% 10 0   0%
src/debputy/deb_packaging_support.py run_package_processors   0% 6 6 0   0% 4 0   0%
src/debputy/deb_packaging_support.py cross_package_control_files   0% 44 44 0   0% 22 0   0%
src/debputy/deb_packaging_support.py _relevant_service_definitions   0% 15 15 0   0% 10 0   0%
src/debputy/deb_packaging_support.py handle_service_management   0% 43 43 0   0% 28 0   0%
src/debputy/deb_packaging_support.py setup_control_files   0% 65 65 1   0% 28 0   0%
src/debputy/deb_packaging_support.py _generate_snippet   0% 16 16 0   0% 6 0   0%
src/debputy/deb_packaging_support.py _add_conffiles   100% 10 0 0   100% 4 0   100%
src/debputy/deb_packaging_support.py _ensure_base_substvars_defined   0% 3 3 0   0% 4 0   0%
src/debputy/deb_packaging_support.py compute_installed_size   65% 20 7 0   50% 10 1   60%
src/debputy/deb_packaging_support.py _generate_dbgsym_control_file_if_relevant   0% 24 24 0   0% 4 0   0%
src/debputy/deb_packaging_support.py _all_parent_directories_of   100% 7 0 0   100% 4 0   100%
src/debputy/deb_packaging_support.py _compute_multi_arch_for_arch_all_doc   100% 7 0 0   100% 4 0   100%
src/debputy/deb_packaging_support.py _any_unacceptable_paths   100% 10 0 0   100% 6 0   100%
src/debputy/deb_packaging_support.py auto_compute_multi_arch   100% 12 0 0   100% 6 0   100%
src/debputy/deb_packaging_support.py _has_t64_enabled   0% 8 8 0   0% 4 0   0%
src/debputy/deb_packaging_support.py _t64_migration_substvar   0% 14 14 1   0% 10 0   0%
src/debputy/deb_packaging_support.py dpkg_field_list_pkg_dep   60% 5 2 0   100% 0 0   60%
src/debputy/deb_packaging_support.py all_auto_substvars   0% 3 3 0   100% 0 0   0%
src/debputy/deb_packaging_support.py _handle_auto_substvars   0% 55 55 0   0% 24 0   0%
src/debputy/deb_packaging_support.py _generate_control_files   0% 43 43 0   0% 18 0   0%
src/debputy/deb_packaging_support.py (no function)   100% 106 0 2   100% 0 0   100%
src/debputy/dh/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/dh/debhelper_emulation.py CannotEmulateExecutableDHConfigFile.__init__   0% 1 1 0   100% 0 0   0%
src/debputy/dh/debhelper_emulation.py CannotEmulateExecutableDHConfigFile.message   0% 1 1 0   100% 0 0   0%
src/debputy/dh/debhelper_emulation.py CannotEmulateExecutableDHConfigFile.config_file   0% 1 1 0   100% 0 0   0%
src/debputy/dh/debhelper_emulation.py DHConfigFileLine.conditional_key   100% 8 0 0   100% 4 0   100%
src/debputy/dh/debhelper_emulation.py DHConfigFileLine.conditional   100% 10 0 0   100% 8 0   100%
src/debputy/dh/debhelper_emulation.py dhe_dbgsym_root_dir   0% 1 1 0   100% 0 0   0%
src/debputy/dh/debhelper_emulation.py read_dbgsym_file   0% 6 6 0   100% 0 0   0%
src/debputy/dh/debhelper_emulation.py assert_no_dbgsym_migration   0% 3 3 0   0% 2 0   0%
src/debputy/dh/debhelper_emulation.py _prune_match   100% 8 0 0   100% 4 0   100%
src/debputy/dh/debhelper_emulation.py dhe_filedoublearray   89% 18 2 0   80% 10 2   86%
src/debputy/dh/debhelper_emulation.py dhe_pkgfile   100% 9 0 0   83% 6 1   93%
src/debputy/dh/debhelper_emulation.py dhe_pkgdir   0% 8 8 0   0% 6 0   0%
src/debputy/dh/debhelper_emulation.py (no function)   100% 33 0 0   100% 0 0   100%
src/debputy/dh/dh_assistant.py _parse_dh_cmd_list   75% 8 2 0   62% 8 3   69%
src/debputy/dh/dh_assistant.py resolve_active_and_inactive_dh_commands   83% 12 2 0   100% 2 0   86%
src/debputy/dh/dh_assistant.py parse_drules_for_addons   56% 9 4 0   50% 6 1   53%
src/debputy/dh/dh_assistant.py extract_dh_addons_from_control   100% 12 0 0   100% 10 0   100%
src/debputy/dh/dh_assistant.py read_dh_addon_sequences   72% 18 5 0   75% 4 1   73%
src/debputy/dh/dh_assistant.py extract_dh_compat_level   50% 14 7 0   25% 4 1   44%
src/debputy/dh/dh_assistant.py (no function)   100% 21 0 0   100% 0 0   100%
src/debputy/dh_migration/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/dh_migration/dh_related_migrations.py _installed_debhelper_version_is_at_least   0% 10 10 0   0% 4 0   0%
src/debputy/dh_migration/dh_related_migrations.py dh_mbm_migrate_package_files   0% 29 29 0   0% 12 0   0%
src/debputy/dh_migration/dh_related_migrations.py dh_mbm_migrate_manual_warnings   0% 29 29 0   0% 18 0   0%
src/debputy/dh_migration/dh_related_migrations.py (no function)   100% 11 0 0   100% 0 0   100%
src/debputy/dh_migration/migration.py _print_migration_summary   0% 45 45 0   0% 34 0   0%
src/debputy/dh_migration/migration.py _dh_compat_level   0% 11 11 0   0% 2 0   0%
src/debputy/dh_migration/migration.py _requested_debputy_plugins   0% 21 21 0   0% 12 0   0%
src/debputy/dh_migration/migration.py _check_migration_target   0% 19 19 0   0% 10 0   0%
src/debputy/dh_migration/migration.py _read_git_status_lines   0% 21 21 0   0% 8 0   0%
src/debputy/dh_migration/migration.py _git_status   0% 19 19 0   0% 6 0   0%
src/debputy/dh_migration/migration.py _check_vcs_clashes   0% 19 19 0   0% 8 0   0%
src/debputy/dh_migration/migration.py perform_migration   0% 91 91 1   0% 44 0   0%
src/debputy/dh_migration/migration.py _apply_renames_and_removals   0% 12 12 0   0% 10 0   0%
src/debputy/dh_migration/migration.py (no function)   100% 32 0 0   100% 0 0   100%
src/debputy/dh_migration/migrators.py (no function)   100% 11 0 0   100% 0 0   100%
src/debputy/dh_migration/migrators_impl.py ContainsEverything.__contains__   0% 1 1 0   100% 0 0   0%
src/debputy/dh_migration/migrators_impl.py _dh_config_file   100% 15 0 0   100% 8 0   100%
src/debputy/dh_migration/migrators_impl.py _validate_rm_mv_conffile   74% 23 6 0   57% 14 6   68%
src/debputy/dh_migration/migrators_impl.py migrate_bash_completion   95% 43 2 0   89% 28 3   93%
src/debputy/dh_migration/migrators_impl.py migrate_shell_completions   98% 47 1 0   89% 28 3   95%
src/debputy/dh_migration/migrators_impl.py migrate_dh_builtusing   100% 6 0 0   100% 4 0   100%
src/debputy/dh_migration/migrators_impl.py migrate_dh_installsystemd_files   92% 12 1 0   88% 8 1   90%
src/debputy/dh_migration/migrators_impl.py migrate_clean_file   100% 14 0 0   100% 2 0   100%
src/debputy/dh_migration/migrators_impl.py migrate_maintscript   79% 33 7 0   69% 16 3   76%
src/debputy/dh_migration/migrators_impl.py _raise_on_unsupported_path   67% 3 1 0   50% 2 1   60%
src/debputy/dh_migration/migrators_impl.py _strip_d_tmp   78% 9 2 0   83% 6 1   80%
src/debputy/dh_migration/migrators_impl.py migrate_install_file   99% 82 1 0   98% 46 1   98%
src/debputy/dh_migration/migrators_impl.py migrate_installdocs_file   90% 21 2 0   80% 10 2   87%
src/debputy/dh_migration/migrators_impl.py migrate_installexamples_file   90% 21 2 0   80% 10 2   87%
src/debputy/dh_migration/migrators_impl.py migrate_installinfo_file   96% 24 1 0   90% 10 1   94%
src/debputy/dh_migration/migrators_impl.py _fetch_or_create   100% 5 0 0   100% 2 0   100%
src/debputy/dh_migration/migrators_impl.py migrate_installman_file   82% 50 9 0   67% 24 4   77%
src/debputy/dh_migration/migrators_impl.py migrate_not_installed_file   100% 16 0 0   100% 6 0   100%
src/debputy/dh_migration/migrators_impl.py min_dh_compat_check   0% 3 3 0   100% 0 0   0%
src/debputy/dh_migration/migrators_impl.py detect_modprobe_files   100% 6 0 0   100% 4 0   100%
src/debputy/dh_migration/migrators_impl.py migrate_tmpfile   100% 8 0 0   100% 4 0   100%
src/debputy/dh_migration/migrators_impl.py migrate_lintian_overrides_files   100% 3 0 0   100% 2 0   100%
src/debputy/dh_migration/migrators_impl.py migrate_links_files   83% 30 5 0   62% 16 4   76%
src/debputy/dh_migration/migrators_impl.py migrate_misspelled_readme_debian_files   0% 9 9 0   0% 4 0   0%
src/debputy/dh_migration/migrators_impl.py migrate_doc_base_files   77% 22 5 0   60% 10 4   72%
src/debputy/dh_migration/migrators_impl.py migrate_dh_hook_targets   0% 24 24 0   0% 14 0   0%
src/debputy/dh_migration/migrators_impl.py detect_maintscript_needing_conversion   0% 7 7 0   0% 6 0   0%
src/debputy/dh_migration/migrators_impl.py detect_unsupported_zz_debputy_features   0% 3 3 0   0% 2 0   0%
src/debputy/dh_migration/migrators_impl.py detect_obsolete_substvars   89% 53 6 0   89% 28 3   89%
src/debputy/dh_migration/migrators_impl.py detect_dh_addons_zz_debputy_rrr   100% 10 0 0   100% 4 0   100%
src/debputy/dh_migration/migrators_impl.py detect_dh_addons_with_full_integration   0% 4 4 0   100% 0 0   0%
src/debputy/dh_migration/migrators_impl.py detect_dh_addons_with_zz_integration   77% 39 9 0   59% 22 3   70%
src/debputy/dh_migration/migrators_impl.py _rename_file_if_exists   100% 15 0 0   90% 10 1   96%
src/debputy/dh_migration/migrators_impl.py _find_dh_config_file_for_any_pkg   0% 4 4 0   0% 4 0   0%
src/debputy/dh_migration/migrators_impl.py _unsupported_debhelper_config_file   0% 17 17 0   0% 8 0   0%
src/debputy/dh_migration/migrators_impl.py (no function)   100% 93 0 0   100% 0 0   100%
src/debputy/dh_migration/models.py AcceptableMigrationIssues.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/dh_migration/models.py AcceptableMigrationIssues.__contains__   100% 1 0 0   100% 0 0   100%
src/debputy/dh_migration/models.py UnsupportedFeature.message   0% 1 1 0   100% 0 0   0%
src/debputy/dh_migration/models.py UnsupportedFeature.issue_keys   0% 3 3 0   0% 2 0   0%
src/debputy/dh_migration/models.py ConflictingChange.message   0% 1 1 0   100% 0 0   0%
src/debputy/dh_migration/models.py MigrationRequest.all_packages   100% 1 0 0   100% 0 0   100%
src/debputy/dh_migration/models.py MigrationRequest.is_single_binary_package   100% 1 0 0   100% 0 0   100%
src/debputy/dh_migration/models.py MigrationRequest.main_binary   100% 1 0 0   100% 0 0   100%
src/debputy/dh_migration/models.py FeatureMigration.warn   100% 1 0 0   100% 0 0   100%
src/debputy/dh_migration/models.py FeatureMigration.rename_on_success   100% 1 0 0   100% 0 0   100%
src/debputy/dh_migration/models.py FeatureMigration.remove_on_success   100% 1 0 0   100% 0 0   100%
src/debputy/dh_migration/models.py FeatureMigration.require_plugin   100% 1 0 0   100% 0 0   100%
src/debputy/dh_migration/models.py FeatureMigration.anything_to_do   100% 1 0 0   100% 0 0   100%
src/debputy/dh_migration/models.py FeatureMigration.performed_changes   0% 1 1 0   100% 0 0   0%
src/debputy/dh_migration/models.py FeatureMigration.total_changes_involved   100% 1 0 0   100% 0 0   100%
src/debputy/dh_migration/models.py DHMigrationSubstitution.__init__   100% 7 0 0   100% 0 0   100%
src/debputy/dh_migration/models.py DHMigrationSubstitution._replacement   76% 17 4 0   50% 12 4   66%
src/debputy/dh_migration/models.py DHMigrationSubstitution.substitute   100% 4 0 0   100% 2 0   100%
src/debputy/dh_migration/models.py DHMigrationSubstitution.with_extra_substitutions   0% 1 1 0   100% 0 0   0%
src/debputy/dh_migration/models.py (no function)   100% 54 0 0   100% 0 0   100%
src/debputy/elf_util.py is_so_or_exec_elf_file   100% 2 0 0   100% 0 0   100%
src/debputy/elf_util.py _read_elf_file   68% 31 10 0   45% 20 7   59%
src/debputy/elf_util.py _determine_elf_linking_type   76% 17 4 0   62% 8 3   72%
src/debputy/elf_util.py _read_bytes_iteratively   73% 11 3 0   33% 6 2   59%
src/debputy/elf_util.py find_all_elf_files   100% 11 0 0   100% 8 0   100%
src/debputy/elf_util.py (no function)   100% 28 0 0   100% 0 0   100%
src/debputy/exceptions.py DebputyRuntimeError.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/exceptions.py DebputyRuntimeError.message   100% 1 0 0   100% 0 0   100%
src/debputy/exceptions.py DebputyRuntimeErrorWithPreamble.render_preamble   100% 0 0 1   100% 0 0   100%
src/debputy/exceptions.py SymlinkLoopError.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/exceptions.py SymlinkLoopError.message   0% 1 1 0   100% 0 0   0%
src/debputy/exceptions.py PureVirtualPathError.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/exceptions.py PureVirtualPathError.message   0% 1 1 0   100% 0 0   0%
src/debputy/exceptions.py TestPathWithNonExistentFSPathError.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/exceptions.py TestPathWithNonExistentFSPathError.message   0% 1 1 0   100% 0 0   0%
src/debputy/exceptions.py PluginConflictError.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/exceptions.py PluginConflictError.plugin_a   0% 1 1 0   100% 0 0   0%
src/debputy/exceptions.py PluginConflictError.plugin_b   0% 1 1 0   100% 0 0   0%
src/debputy/exceptions.py (no function)   100% 55 0 4   100% 0 0   100%
src/debputy/filesystem_scan.py AlwaysEmptyReadOnlyMetadataReference.__init__   100% 3 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py AlwaysEmptyReadOnlyMetadataReference.is_present   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py AlwaysEmptyReadOnlyMetadataReference.can_read   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py AlwaysEmptyReadOnlyMetadataReference.can_write   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py AlwaysEmptyReadOnlyMetadataReference.value   67% 3 1 0   50% 2 1   60%
src/debputy/filesystem_scan.py AlwaysEmptyReadOnlyMetadataReference.value   0% 3 3 0   0% 2 0   0%
src/debputy/filesystem_scan.py AlwaysEmptyReadOnlyMetadataReference._is_owner   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py PathMetadataValue.can_read_value   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py PathMetadataValue.can_write_value   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py PathMetadataReferenceImplementation.__init__   100% 3 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py PathMetadataReferenceImplementation.is_present   67% 3 1 0   50% 2 1   60%
src/debputy/filesystem_scan.py PathMetadataReferenceImplementation.can_read   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py PathMetadataReferenceImplementation.can_write   75% 4 1 0   50% 2 1   67%
src/debputy/filesystem_scan.py PathMetadataReferenceImplementation.value   67% 3 1 0   50% 2 1   60%
src/debputy/filesystem_scan.py PathMetadataReferenceImplementation.value   56% 9 4 0   50% 6 3   53%
src/debputy/filesystem_scan.py PathMetadataReferenceImplementation._is_owner   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py PathMetadataReferenceImplementation._owning_plugin   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py PathMetadataReferenceImplementation._metadata_type_name   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py _cp_a   50% 6 3 0   100% 0 0   50%
src/debputy/filesystem_scan.py _split_path   100% 9 0 0   100% 4 0   100%
src/debputy/filesystem_scan.py _root   100% 7 0 0   100% 2 0   100%
src/debputy/filesystem_scan.py _check_fs_path_is_file   46% 13 7 0   33% 6 2   42%
src/debputy/filesystem_scan.py CurrentPluginContextManager.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py CurrentPluginContextManager.current_plugin_name   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py CurrentPluginContextManager.change_plugin_context   0% 3 3 0   100% 0 0   0%
src/debputy/filesystem_scan.py VirtualPathBase.stat   100% 0 0 1   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualPathBase.size   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py VirtualPathBase._orphan_safe_path   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py VirtualPathBase._rw_check   100% 2 0 0   100% 2 0   100%
src/debputy/filesystem_scan.py VirtualPathBase.is_detached   100% 0 0 1   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualPathBase.is_root_dir   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualPathBase.lookup   100% 4 0 0   100% 2 0   100%
src/debputy/filesystem_scan.py VirtualPathBase.attempt_lookup   95% 37 2 0   89% 18 2   93%
src/debputy/filesystem_scan.py VirtualPathBase.mkdirs   86% 7 1 0   75% 4 1   82%
src/debputy/filesystem_scan.py VirtualPathBase.prune_if_empty_dir   89% 9 1 0   67% 6 2   80%
src/debputy/filesystem_scan.py VirtualPathBase._current_plugin   67% 3 1 0   50% 2 1   60%
src/debputy/filesystem_scan.py VirtualPathBase.open_child   100% 0 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualPathBase.open_child   100% 0 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualPathBase.open_child   37% 19 12 0   17% 12 2   29%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.__init__   100% 13 0 0   100% 2 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.name   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.name   73% 11 3 0   50% 4 2   67%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.iterdir   100% 0 0 1   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.all_paths   100% 10 0 0   100% 6 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.walk   83% 12 2 0   67% 6 2   78%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase._orphan_safe_path   67% 3 1 0   50% 2 1   60%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.is_detached   86% 7 1 0   75% 4 1   82%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.__getitem__   100% 0 0 1   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.get   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase._add_child   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase._remove_child   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.path   89% 9 1 0   75% 4 1   85%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.parent_dir   80% 5 1 0   50% 2 1   71%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.parent_dir   94% 17 1 0   80% 10 2   89%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.parent_dir_path   67% 3 1 0   50% 2 1   60%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.chown   100% 5 0 0   100% 4 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.stat   0% 5 5 0   0% 2 0   0%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase._uncached_stat   100% 0 0 1   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.mode   60% 5 2 0   50% 2 1   57%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.mode   57% 7 3 0   50% 2 1   56%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase._ensure_min_mode   18% 11 9 0   50% 2 1   23%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase._resolve_initial_mtime   100% 0 0 1   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.mtime   100% 5 0 0   100% 2 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.mtime   100% 2 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase._can_replace_inline   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.add_file   60% 30 12 0   44% 16 7   54%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.insert_file_from_fs_path   68% 25 8 0   60% 20 6   64%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.add_symlink   67% 9 3 0   50% 6 3   60%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.mkdir   64% 11 4 0   50% 8 4   58%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.mkdirs   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.is_read_write   100% 3 0 0   100% 2 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.unlink   60% 5 2 0   50% 4 2   56%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase._reset_caches   100% 2 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.metadata   92% 13 1 0   75% 8 2   86%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase.replace_fs_path_content   95% 22 1 0   62% 8 3   87%
src/debputy/filesystem_scan.py InMemoryVirtualPathBase._replaced_path   100% 0 0 1   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPath.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPath.__repr__   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPath.iterdir   100% 2 0 0   100% 2 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPath.__getitem__   80% 5 1 0   75% 4 1   78%
src/debputy/filesystem_scan.py InMemoryVirtualPath.__delitem__   80% 5 1 0   50% 2 1   71%
src/debputy/filesystem_scan.py InMemoryVirtualPath._remove_child   100% 2 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualPath._add_child   78% 9 2 0   67% 6 2   73%
src/debputy/filesystem_scan.py InMemoryVirtualPath._uncached_stat   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py InMemoryVirtualPath._resolve_initial_mtime   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py InMemoryOverlayFSDirectory.__init__   0% 5 5 0   100% 0 0   0%
src/debputy/filesystem_scan.py InMemoryOverlayFSDirectory.__getitem__   0% 7 7 0   0% 6 0   0%
src/debputy/filesystem_scan.py InMemoryOverlayFSDirectory._ensure_read_underlying_children   0% 14 14 0   0% 10 0   0%
src/debputy/filesystem_scan.py InMemoryOverlayFSDirectory._add_child   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py InMemoryOverlayFSDirectory._remove_child   0% 10 10 0   0% 4 0   0%
src/debputy/filesystem_scan.py InMemoryOverlayFSDirectory._uncached_stat   0% 4 4 0   100% 0 0   0%
src/debputy/filesystem_scan.py InMemoryOverlayFSDirectory._resolve_initial_mtime   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py InMemoryOverlayFSRootDirectory.__init__   0% 3 3 0   100% 0 0   0%
src/debputy/filesystem_scan.py InMemoryOverlayFSRootDirectory.is_root_dir   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py InMemoryOverlayFSRootDirectory.is_detached   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py InMemoryOverlayFSRootDirectory.unlink   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py InMemoryOverlayFSRootDirectory._current_plugin   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py InMemoryOverlayFSRootDirectory.change_plugin_context   0% 2 2 0   100% 0 0   0%
src/debputy/filesystem_scan.py VirtualFSPathBase.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualFSPathBase._resolve_initial_mtime   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py VirtualFSPathBase.has_fs_path   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualFSPathBase.stat   0% 3 3 0   0% 2 0   0%
src/debputy/filesystem_scan.py VirtualFSPathBase.fs_path   0% 3 3 0   0% 2 0   0%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir.__init__   100% 4 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir.is_detached   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir._orphan_safe_path   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir.path   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir.parent_dir   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir.parent_dir   0% 2 2 0   0% 2 0   0%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir.parent_dir_path   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir.is_dir   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir.is_file   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir.is_symlink   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir.readlink   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir.has_fs_path   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir.stat   0% 3 3 0   0% 2 0   0%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir.fs_path   67% 3 1 0   50% 2 1   60%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir.is_read_write   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir.is_read_write   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir.unlink   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir._current_plugin   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py InMemoryVirtualRootDir.change_plugin_context   0% 2 2 0   100% 0 0   0%
src/debputy/filesystem_scan.py VirtualPathWithReference.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualPathWithReference.has_fs_path   100% 2 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualPathWithReference._resolve_initial_mtime   75% 4 1 0   50% 2 1   67%
src/debputy/filesystem_scan.py VirtualPathWithReference.fs_path   75% 4 1 0   50% 2 1   67%
src/debputy/filesystem_scan.py VirtualPathWithReference.stat   0% 4 4 0   0% 2 0   0%
src/debputy/filesystem_scan.py VirtualPathWithReference.open   100% 0 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualPathWithReference.open   100% 0 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualPathWithReference.open   100% 0 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualPathWithReference.open   100% 4 0 0   100% 2 0   100%
src/debputy/filesystem_scan.py VirtualDirectoryFSPath.__init__   100% 4 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualDirectoryFSPath.is_dir   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualDirectoryFSPath.is_file   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualDirectoryFSPath.is_symlink   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualDirectoryFSPath.readlink   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py SymlinkVirtualPath.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py SymlinkVirtualPath.is_dir   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py SymlinkVirtualPath.is_file   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py SymlinkVirtualPath.is_symlink   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py SymlinkVirtualPath.readlink   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py SymlinkVirtualPath.size   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py FSBackedFilePath.__init__   100% 10 0 0   100% 4 0   100%
src/debputy/filesystem_scan.py FSBackedFilePath.is_dir   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py FSBackedFilePath.is_file   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py FSBackedFilePath.is_symlink   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py FSBackedFilePath.readlink   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py FSBackedFilePath.has_fs_path   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py FSBackedFilePath.fs_path   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py FSBackedFilePath._can_replace_inline   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py FSBackedFilePath._replaced_path   0% 3 3 0   100% 0 0   0%
src/debputy/filesystem_scan.py VirtualTestPath.__init__   95% 19 1 0   90% 10 1   93%
src/debputy/filesystem_scan.py VirtualTestPath.is_dir   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualTestPath.is_file   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualTestPath.is_symlink   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualTestPath.readlink   80% 5 1 0   50% 2 1   71%
src/debputy/filesystem_scan.py VirtualTestPath._resolve_initial_mtime   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualTestPath.has_fs_path   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualTestPath.stat   67% 9 3 0   75% 4 1   69%
src/debputy/filesystem_scan.py VirtualTestPath.size   100% 7 0 0   100% 6 0   100%
src/debputy/filesystem_scan.py VirtualTestPath.fs_path   92% 12 1 0   83% 6 1   89%
src/debputy/filesystem_scan.py VirtualTestPath.replace_fs_path_content   67% 3 1 0   50% 2 1   60%
src/debputy/filesystem_scan.py VirtualTestPath.open_child   100% 0 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualTestPath.open_child   100% 0 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualTestPath.open_child   0% 13 13 0   0% 4 0   0%
src/debputy/filesystem_scan.py VirtualTestPath.open   100% 0 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualTestPath.open   100% 0 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualTestPath.open   100% 0 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py VirtualTestPath.open   100% 8 0 0   100% 4 0   100%
src/debputy/filesystem_scan.py VirtualTestPath._replaced_path   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py OSFSOverlayBase.__init__   100% 4 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py OSFSOverlayBase.name   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSOverlayBase.path   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSOverlayBase.parent_dir   0% 7 7 0   0% 4 0   0%
src/debputy/filesystem_scan.py OSFSOverlayBase.fs_path   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py OSFSOverlayBase.stat   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSOverlayBase.is_dir   100% 4 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py OSFSOverlayBase.is_file   0% 4 4 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSOverlayBase.is_symlink   0% 4 4 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSOverlayBase.has_fs_path   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSOverlayBase.open   100% 0 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py OSFSOverlayBase.open   100% 0 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py OSFSOverlayBase.open   100% 0 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py OSFSOverlayBase.open   0% 5 5 0   0% 4 0   0%
src/debputy/filesystem_scan.py OSFSOverlayBase.metadata   0% 4 4 0   0% 2 0   0%
src/debputy/filesystem_scan.py OSFSOverlayBase.all_paths   0% 10 10 0   0% 6 0   0%
src/debputy/filesystem_scan.py OSFSOverlayBase._resolve_children   0% 10 10 0   0% 4 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay.__init__   100% 5 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py OSFSROOverlay.create_root_dir   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py OSFSROOverlay.iterdir   0% 5 5 0   0% 4 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay.lookup   0% 21 21 0   0% 12 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay._ensure_children_are_resolved   0% 3 3 0   0% 2 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay.is_detached   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay.__getitem__   29% 7 5 0   17% 6 1   23%
src/debputy/filesystem_scan.py OSFSROOverlay.__delitem__   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay.is_read_write   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay._rw_check   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay._error_ro_fs   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay.stat   78% 9 2 0   50% 4 2   69%
src/debputy/filesystem_scan.py OSFSROOverlay.mode   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay.mode   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay.mtime   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay.mtime   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay.readlink   0% 5 5 0   0% 4 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay.chown   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay.mkdir   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay.add_file   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay.add_symlink   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSROOverlay.unlink   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSROOverlayRootDir.__init__   0% 2 2 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSROOverlayRootDir._current_plugin   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSROOverlayRootDir.change_plugin_context   0% 2 2 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSControlPath.iterdir   0% 3 3 0   0% 2 0   0%
src/debputy/filesystem_scan.py OSFSControlPath.lookup   0% 19 19 0   0% 10 0   0%
src/debputy/filesystem_scan.py OSFSControlPath.is_detached   0% 5 5 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSControlPath.__getitem__   0% 6 6 0   0% 4 0   0%
src/debputy/filesystem_scan.py OSFSControlPath.__delitem__   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSControlPath.is_read_write   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSControlPath.mode   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSControlPath.mode   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSControlPath.mtime   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSControlPath.mtime   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSControlPath.readlink   0% 3 3 0   0% 2 0   0%
src/debputy/filesystem_scan.py OSFSControlPath.chown   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSControlPath.mkdir   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSControlPath.add_file   0% 17 17 0   0% 8 0   0%
src/debputy/filesystem_scan.py OSFSControlPath.replace_fs_path_content   0% 7 7 0   0% 4 0   0%
src/debputy/filesystem_scan.py OSFSControlPath.add_symlink   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py OSFSControlPath.unlink   0% 4 4 0   0% 2 0   0%
src/debputy/filesystem_scan.py FSControlRootDir.create_root_dir   0% 1 1 0   100% 0 0   0%
src/debputy/filesystem_scan.py FSControlRootDir.insert_file_from_fs_path   0% 13 13 0   0% 8 0   0%
src/debputy/filesystem_scan.py as_path_def   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py as_path_defs   100% 1 0 0   100% 0 0   100%
src/debputy/filesystem_scan.py build_virtual_fs   97% 36 1 0   95% 20 1   96%
src/debputy/filesystem_scan.py build_virtual_fs._ensure_parent_dirs   92% 13 1 0   83% 6 1   89%
src/debputy/filesystem_scan.py (no function)   100% 418 0 7   50% 26 13   97%
src/debputy/highlevel_manifest.py tar_path   100% 4 0 0   100% 2 0   100%
src/debputy/highlevel_manifest.py tar_owner_info   100% 3 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py PathNotCoveredByInstallRulesError.unmatched_paths   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py PathNotCoveredByInstallRulesError.search_dir   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py PathNotCoveredByInstallRulesError.render_preamble   0% 6 6 0   0% 2 0   0%
src/debputy/highlevel_manifest.py DbgsymInfo.dbgsym_root_dir   0% 5 5 0   0% 2 0   0%
src/debputy/highlevel_manifest.py DbgsymInfo.dbgsym_ctrl_dir   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py BinaryPackageData.control_output_dir   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py _path_to_tar_member   94% 18 1 1   90% 10 1   93%
src/debputy/highlevel_manifest.py _generate_intermediate_manifest   100% 8 0 0   100% 4 0   100%
src/debputy/highlevel_manifest.py AbstractYAMLSubStore.__init__   94% 16 1 0   75% 8 2   88%
src/debputy/highlevel_manifest.py AbstractYAMLSubStore._create_new_instance   100% 0 0 1   100% 0 0   100%
src/debputy/highlevel_manifest.py AbstractYAMLSubStore.create_definition_if_missing   100% 2 0 0   100% 2 0   100%
src/debputy/highlevel_manifest.py AbstractYAMLSubStore.create_definition   82% 11 2 0   67% 6 2   76%
src/debputy/highlevel_manifest.py AbstractYAMLSubStore.remove_definition   0% 5 5 0   0% 2 0   0%
src/debputy/highlevel_manifest.py AbstractYAMLSubStore._ensure_attached   0% 2 2 0   0% 2 0   0%
src/debputy/highlevel_manifest.py AbstractYAMLListSubStore._create_new_instance   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py AbstractYAMLDictSubStore._create_new_instance   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py MutableCondition.arch_matches   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py MutableCondition.build_profiles_matches   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py MutableYAMLSymlink.new_symlink   80% 5 1 0   50% 2 1   71%
src/debputy/highlevel_manifest.py MutableYAMLSymlink.symlink_path   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py MutableYAMLSymlink.symlink_path   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py MutableYAMLSymlink.symlink_target   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py MutableYAMLSymlink.symlink_target   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py MutableYAMLConffileManagementItem.rm_conffile   100% 4 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py MutableYAMLConffileManagementItem.mv_conffile   100% 4 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py MutableYAMLConffileManagementItem._container   100% 2 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py MutableYAMLConffileManagementItem.command   100% 2 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py MutableYAMLConffileManagementItem.obsolete_conffile   100% 4 0 0   100% 2 0   100%
src/debputy/highlevel_manifest.py MutableYAMLConffileManagementItem.obsolete_conffile   0% 4 4 0   0% 2 0   0%
src/debputy/highlevel_manifest.py MutableYAMLConffileManagementItem.new_conffile   0% 3 3 0   0% 2 0   0%
src/debputy/highlevel_manifest.py MutableYAMLConffileManagementItem.new_conffile   0% 3 3 0   0% 2 0   0%
src/debputy/highlevel_manifest.py MutableYAMLConffileManagementItem.prior_to_version   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py MutableYAMLConffileManagementItem.prior_to_version   100% 6 0 0   100% 2 0   100%
src/debputy/highlevel_manifest.py MutableYAMLConffileManagementItem.owning_package   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py MutableYAMLConffileManagementItem.owning_package   100% 6 0 0   100% 2 0   100%
src/debputy/highlevel_manifest.py MutableYAMLPackageDefinition._list_store   83% 6 1 0   75% 4 1   80%
src/debputy/highlevel_manifest.py MutableYAMLPackageDefinition._insert_item   83% 6 1 0   50% 2 1   75%
src/debputy/highlevel_manifest.py MutableYAMLPackageDefinition.add_symlink   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py MutableYAMLPackageDefinition.symlinks   43% 7 4 0   33% 6 2   38%
src/debputy/highlevel_manifest.py MutableYAMLPackageDefinition.conffile_management_items   75% 4 1 0   50% 2 1   67%
src/debputy/highlevel_manifest.py MutableYAMLPackageDefinition.add_conffile_management   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py AbstractMutableYAMLInstallRule._container   100% 2 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py AbstractMutableYAMLInstallRule.into   0% 6 6 0   0% 4 0   0%
src/debputy/highlevel_manifest.py AbstractMutableYAMLInstallRule.into   44% 9 5 0   25% 4 1   38%
src/debputy/highlevel_manifest.py AbstractMutableYAMLInstallRule.when   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py AbstractMutableYAMLInstallRule.when   44% 9 5 0   50% 4 2   46%
src/debputy/highlevel_manifest.py AbstractMutableYAMLInstallRule.install_dest   100% 9 0 0   100% 4 0   100%
src/debputy/highlevel_manifest.py AbstractMutableYAMLInstallRule.multi_dest_install   88% 8 1 0   50% 4 2   75%
src/debputy/highlevel_manifest.py AbstractMutableYAMLInstallRule.install_as   80% 5 1 0   50% 2 1   71%
src/debputy/highlevel_manifest.py AbstractMutableYAMLInstallRule.install_doc_as   0% 5 5 0   0% 2 0   0%
src/debputy/highlevel_manifest.py AbstractMutableYAMLInstallRule.install_docs   100% 9 0 0   100% 4 0   100%
src/debputy/highlevel_manifest.py AbstractMutableYAMLInstallRule.install_examples   88% 8 1 0   75% 4 1   83%
src/debputy/highlevel_manifest.py AbstractMutableYAMLInstallRule.install_man   78% 9 2 0   50% 4 2   69%
src/debputy/highlevel_manifest.py AbstractMutableYAMLInstallRule.discard   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py MutableYAMLInstallRuleMan.language   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py MutableYAMLInstallRuleMan.language   100% 5 0 0   100% 2 0   100%
src/debputy/highlevel_manifest.py MutableYAMLInstallRuleInstall.sources   0% 4 4 0   0% 2 0   0%
src/debputy/highlevel_manifest.py MutableYAMLInstallRuleInstall.sources   0% 5 5 0   0% 2 0   0%
src/debputy/highlevel_manifest.py MutableYAMLInstallRuleInstall.dest_dir   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py MutableYAMLInstallRuleInstall.dest_dir   83% 6 1 0   75% 4 1   80%
src/debputy/highlevel_manifest.py MutableYAMLInstallRuleInstall.dest_as   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py MutableYAMLInstallRuleInstall.dest_as   0% 11 11 0   0% 8 0   0%
src/debputy/highlevel_manifest.py MutableYAMLInstallationsDefinition.append   83% 6 1 0   50% 2 1   75%
src/debputy/highlevel_manifest.py MutableYAMLInstallationsDefinition.extend   86% 7 1 0   75% 4 1   82%
src/debputy/highlevel_manifest.py MutableYAMLManifestVariables.variables   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py MutableYAMLManifestVariables.__setitem__   100% 2 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py MutableYAMLManifestDefinitions.manifest_variables   75% 4 1 0   50% 2 1   67%
src/debputy/highlevel_manifest.py MutableYAMLRemoveDuringCleanDefinitions.append   0% 2 2 0   100% 0 0   0%
src/debputy/highlevel_manifest.py MutableYAMLRemoveDuringCleanDefinitions.__len__   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py MutableYAMLRemoveDuringCleanDefinitions.extend   100% 8 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py MutableYAMLManifest.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py MutableYAMLManifest.empty_manifest   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py MutableYAMLManifest.manifest_version   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py MutableYAMLManifest.manifest_version   0% 3 3 0   0% 2 0   0%
src/debputy/highlevel_manifest.py MutableYAMLManifest.remove_during_clean   75% 4 1 0   50% 2 1   67%
src/debputy/highlevel_manifest.py MutableYAMLManifest.installations   75% 4 1 0   50% 2 1   67%
src/debputy/highlevel_manifest.py MutableYAMLManifest.manifest_definitions   75% 4 1 0   50% 2 1   67%
src/debputy/highlevel_manifest.py MutableYAMLManifest.package   83% 12 2 0   50% 6 3   72%
src/debputy/highlevel_manifest.py MutableYAMLManifest.write_to   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py _describe_missing_path   0% 8 8 0   0% 6 0   0%
src/debputy/highlevel_manifest.py _detect_missing_installations   86% 7 1 0   75% 4 1   82%
src/debputy/highlevel_manifest.py _list_automatic_discard_rules   100% 19 0 0   88% 8 1   96%
src/debputy/highlevel_manifest.py _install_everything_from_source_dir_if_present   60% 15 6 0   50% 2 1   59%
src/debputy/highlevel_manifest.py _add_build_install_dirs_to_per_package_search_dirs   0% 11 11 0   0% 8 0   0%
src/debputy/highlevel_manifest.py HighLevelManifest.__init__   100% 18 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py HighLevelManifest.source_version   0% 6 6 1   0% 2 0   0%
src/debputy/highlevel_manifest.py HighLevelManifest.source_condition_context   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py HighLevelManifest.debian_dir   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py HighLevelManifest.dpkg_architecture_variables   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py HighLevelManifest.deb_options_and_profiles   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py HighLevelManifest.plugin_provided_feature_set   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py HighLevelManifest.remove_during_clean_rules   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py HighLevelManifest.active_packages   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py HighLevelManifest.all_packages   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py HighLevelManifest.manifest_configuration   100% 2 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py HighLevelManifest.package_state_for   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py HighLevelManifest._detect_doc_main_package_for   32% 19 13 0   29% 14 2   30%
src/debputy/highlevel_manifest.py HighLevelManifest.perform_installations   54% 123 57 0   47% 70 13   51%
src/debputy/highlevel_manifest.py HighLevelManifest.perform_installations._as_path   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest.py HighLevelManifest.condition_context   83% 6 1 0   75% 4 1   80%
src/debputy/highlevel_manifest.py HighLevelManifest.apply_fs_transformations   85% 13 2 0   67% 6 2   79%
src/debputy/highlevel_manifest.py HighLevelManifest.finalize_data_tar_contents   75% 8 2 0   50% 4 2   67%
src/debputy/highlevel_manifest.py HighLevelManifest.apply_to_binary_staging_directory   100% 2 0 0   100% 0 0   100%
src/debputy/highlevel_manifest.py _present_installation_dirs   0% 18 18 0   0% 12 0   0%
src/debputy/highlevel_manifest.py _determine_search_dir_order   0% 39 39 0   0% 18 0   0%
src/debputy/highlevel_manifest.py (no function)   100% 241 0 1   100% 0 0   100%
src/debputy/highlevel_manifest_parser.py _detect_possible_typo   0% 12 12 0   0% 10 0   0%
src/debputy/highlevel_manifest_parser.py _per_package_subst_variables   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.__init__   96% 26 1 0   50% 2 1   93%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser._ensure_package_states_is_initialized   90% 10 1 0   83% 6 1   88%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.source_package   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.binary_packages   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser._package_states   100% 2 0 0   100% 0 0   100%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.dpkg_architecture_variables   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.dpkg_arch_query_table   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.deb_options_and_profiles   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser._self_check   100% 4 0 0   100% 2 0   100%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.build_manifest   80% 5 1 0   50% 2 1   71%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser._build_manifest   94% 18 1 0   92% 12 1   93%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.binary_package_context   90% 10 1 0   75% 4 1   86%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.dispatch_parser_table_for   100% 3 0 1   100% 0 0   100%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.substitution   100% 3 0 0   100% 2 0   100%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.add_extra_substitution_variables   83% 6 1 0   75% 4 1   80%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.current_binary_package_state   67% 3 1 0   50% 2 1   60%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.is_in_binary_package_state   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.debputy_integration_mode   100% 1 0 0   100% 0 0   100%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.debputy_integration_mode   0% 1 1 0   100% 0 0   0%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser._register_build_environment   77% 13 3 0   60% 10 4   70%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.resolve_build_environment   75% 8 2 0   100% 2 0   80%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.build_environments   100% 5 0 0   100% 2 0   100%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser._transform_dpkg_maintscript_helpers_to_snippets   100% 5 0 0   100% 4 0   100%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.normalize_path   0% 7 7 0   0% 2 0   0%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.parse_path_or_glob   0% 4 4 0   0% 2 0   0%
src/debputy/highlevel_manifest_parser.py HighLevelManifestParser.parse_manifest   100% 0 0 1   100% 0 0   100%
src/debputy/highlevel_manifest_parser.py YAMLManifestParser._optional_key   0% 7 7 0   0% 4 0   0%
src/debputy/highlevel_manifest_parser.py YAMLManifestParser._required_key   0% 11 11 0   0% 6 0   0%
src/debputy/highlevel_manifest_parser.py YAMLManifestParser._ensure_value_is_type   0% 9 9 0   0% 6 0   0%
src/debputy/highlevel_manifest_parser.py YAMLManifestParser._from_yaml_dict   91% 35 3 0   81% 16 3   88%
src/debputy/highlevel_manifest_parser.py YAMLManifestParser._parse_manifest   100% 17 0 0   100% 6 0   100%
src/debputy/highlevel_manifest_parser.py YAMLManifestParser.parse_manifest   50% 4 2 0   50% 2 1   50%
src/debputy/highlevel_manifest_parser.py (no function)   100% 79 0 2   100% 0 0   100%
src/debputy/installations.py PathAlreadyInstalledOrDiscardedError.path   0% 1 1 0   100% 0 0   0%
src/debputy/installations.py PathAlreadyInstalledOrDiscardedError.into   0% 1 1 0   100% 0 0   0%
src/debputy/installations.py PathAlreadyInstalledOrDiscardedError.definition_source   0% 1 1 0   100% 0 0   0%
src/debputy/installations.py ExactPathMatchTwiceError.path   0% 1 1 0   100% 0 0   0%
src/debputy/installations.py ExactPathMatchTwiceError.into   0% 1 1 0   100% 0 0   0%
src/debputy/installations.py ExactPathMatchTwiceError.definition_source   0% 1 1 0   100% 0 0   0%
src/debputy/installations.py NoMatchForInstallPatternError.pattern   0% 1 1 0   100% 0 0   0%
src/debputy/installations.py NoMatchForInstallPatternError.search_dirs   0% 1 1 0   100% 0 0   0%
src/debputy/installations.py NoMatchForInstallPatternError.definition_source   0% 1 1 0   100% 0 0   0%
src/debputy/installations.py BinaryPackageInstallRuleContext.replace   0% 1 1 0   100% 0 0   0%
src/debputy/installations.py InstallRuleContext.__getitem__   100% 1 0 0   100% 0 0   100%
src/debputy/installations.py InstallRuleContext.__setitem__   100% 1 0 0   100% 0 0   100%
src/debputy/installations.py InstallRuleContext.replace   100% 1 0 0   100% 0 0   100%
src/debputy/installations.py _determine_manpage_section   0% 23 23 0   0% 16 0   0%
src/debputy/installations.py _determine_manpage_real_section   0% 10 10 0   0% 8 0   0%
src/debputy/installations.py _determine_manpage_language   0% 12 12 0   0% 10 0   0%
src/debputy/installations.py _dest_path_for_manpage   100% 2 0 0   100% 0 0   100%
src/debputy/installations.py _dest_path_for_manpage._manpage_dest_path   0% 12 12 0   0% 4 0   0%
src/debputy/installations.py SourcePathMatcher.__init__   100% 5 0 0   100% 0 0   100%
src/debputy/installations.py SourcePathMatcher.is_reserved   100% 9 0 0   100% 6 0   100%
src/debputy/installations.py SourcePathMatcher.exclude   0% 1 1 0   100% 0 0   0%
src/debputy/installations.py SourcePathMatcher._run_plugin_provided_discard_rules_on   100% 6 0 0   100% 4 0   100%
src/debputy/installations.py SourcePathMatcher._check_plugin_provided_exclude_state_for   100% 22 0 0   90% 10 1   97%
src/debputy/installations.py SourcePathMatcher.may_match   92% 12 1 0   83% 6 1   89%
src/debputy/installations.py SourcePathMatcher.reserve   31% 13 9 0   17% 6 1   26%
src/debputy/installations.py SourcePathMatcher.detect_missing   90% 10 1 0   88% 8 1   89%
src/debputy/installations.py SourcePathMatcher.find_and_reserve_all_matches   72% 29 8 0   67% 18 4   70%
src/debputy/installations.py _resolve_path   84% 19 3 0   81% 16 3   83%
src/debputy/installations.py _resolve_dest_paths   87% 15 2 0   80% 10 2   84%
src/debputy/installations.py _resolve_matches   91% 11 1 0   88% 8 1   89%
src/debputy/installations.py InstallRule.__init__   100% 4 0 0   100% 0 0   100%
src/debputy/installations.py InstallRule._check_single_match   71% 7 2 0   75% 4 1   73%
src/debputy/installations.py InstallRule._match_pattern   68% 19 6 0   58% 12 5   65%
src/debputy/installations.py InstallRule._install_matches   85% 27 4 0   82% 22 4   84%
src/debputy/installations.py InstallRule._reserve_recursively   90% 10 1 0   83% 6 1   88%
src/debputy/installations.py InstallRule._install_dir_recursively   79% 14 3 0   83% 12 2   81%
src/debputy/installations.py InstallRule.perform_install   100% 0 0 1   100% 0 0   100%
src/debputy/installations.py InstallRule.install_as   100% 1 0 0   100% 0 0   100%
src/debputy/installations.py InstallRule.install_dest   100% 4 0 0   100% 2 0   100%
src/debputy/installations.py InstallRule.install_multi_as   75% 4 1 0   50% 2 1   67%
src/debputy/installations.py InstallRule.install_multi_dest   75% 4 1 0   50% 2 1   67%
src/debputy/installations.py InstallRule.install_doc   100% 8 0 0   100% 4 0   100%
src/debputy/installations.py InstallRule.install_doc._dest_path_resolver   100% 1 0 0   100% 0 0   100%
src/debputy/installations.py InstallRule.install_doc_as   0% 4 4 0   0% 2 0   0%
src/debputy/installations.py InstallRule.install_examples   75% 4 1 0   50% 2 1   67%
src/debputy/installations.py InstallRule.install_man   80% 5 1 0   50% 2 1   71%
src/debputy/installations.py InstallRule.discard_paths   100% 1 0 0   100% 0 0   100%
src/debputy/installations.py PPFInstallRule.__init__   0% 4 4 0   100% 0 0   0%
src/debputy/installations.py PPFInstallRule.perform_install   0% 7 7 0   0% 2 0   0%
src/debputy/installations.py GenericInstallationRule.__init__   86% 7 1 0   50% 2 1   78%
src/debputy/installations.py GenericInstallationRule.perform_install   100% 5 0 0   100% 4 0   100%
src/debputy/installations.py DiscardRule.__init__   100% 3 0 0   100% 0 0   100%
src/debputy/installations.py DiscardRule.perform_install   0% 11 11 0   0% 6 0   0%
src/debputy/installations.py (no function)   100% 124 0 5   100% 0 0   100%
src/debputy/integration_detection.py determine_debputy_integration_mode   83% 12 2 0   75% 8 2   80%
src/debputy/integration_detection.py (no function)   100% 4 0 0   100% 0 0   100%
src/debputy/intermediate_manifest.py PathType.manifest_key   100% 1 0 0   100% 0 0   100%
src/debputy/intermediate_manifest.py PathType.tarinfo_type   100% 1 0 0   100% 0 0   100%
src/debputy/intermediate_manifest.py PathType.can_be_virtual   100% 1 0 0   100% 0 0   100%
src/debputy/intermediate_manifest.py _dirname   75% 4 1 0   50% 2 1   67%
src/debputy/intermediate_manifest.py _fs_type_from_st_mode   0% 8 8 0   0% 6 0   0%
src/debputy/intermediate_manifest.py TarMember.create_tar_info   85% 20 3 0   75% 4 1   83%
src/debputy/intermediate_manifest.py TarMember.from_file   29% 14 10 0   25% 12 3   27%
src/debputy/intermediate_manifest.py TarMember.virtual_path   43% 7 4 0   33% 6 2   38%
src/debputy/intermediate_manifest.py TarMember.clone_and_replace   0% 1 1 0   100% 0 0   0%
src/debputy/intermediate_manifest.py TarMember.to_manifest   77% 13 3 0   50% 4 2   71%
src/debputy/intermediate_manifest.py TarMember.parse_intermediate_manifest   68% 19 6 0   58% 12 5   65%
src/debputy/intermediate_manifest.py TarMember.from_dict   60% 30 12 0   36% 22 8   50%
src/debputy/intermediate_manifest.py output_intermediate_manifest   0% 2 2 0   100% 0 0   0%
src/debputy/intermediate_manifest.py output_intermediate_manifest_to_fd   0% 2 2 0   100% 0 0   0%
src/debputy/intermediate_manifest.py (no function)   100% 41 0 0   100% 0 0   100%
src/debputy/interpreter.py Interpreter.original_command   100% 0 0 1   100% 0 0   100%
src/debputy/interpreter.py Interpreter.command_full_basename   100% 0 0 1   100% 0 0   100%
src/debputy/interpreter.py Interpreter.command_stem   100% 0 0 1   100% 0 0   100%
src/debputy/interpreter.py Interpreter.interpreter_version   100% 0 0 1   100% 0 0   100%
src/debputy/interpreter.py Interpreter.fixup_needed   0% 1 1 0   100% 0 0   0%
src/debputy/interpreter.py DetectedInterpreter.fixup_needed   100% 1 0 0   100% 0 0   100%
src/debputy/interpreter.py DetectedInterpreter.replace_shebang_line   88% 17 2 0   50% 6 3   78%
src/debputy/interpreter.py extract_shebang_interpreter_from_file   100% 4 0 0   100% 2 0   100%
src/debputy/interpreter.py extract_shebang_interpreter   100% 28 0 0   93% 14 1   98%
src/debputy/interpreter.py (no function)   100% 29 0 6   100% 0 0   100%
src/debputy/l10n.py N_   0% 1 1 0   100% 0 0   0%
src/debputy/l10n.py _temp_messages_dir   0% 3 3 0   100% 0 0   0%
src/debputy/l10n.py translation   10% 21 19 0   12% 8 1   10%
src/debputy/l10n.py (no function)   95% 22 1 2   100% 0 0   95%
src/debputy/linting/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/linting/lint_impl.py LintContext.state_for   0% 1 1 0   100% 0 0   0%
src/debputy/linting/lint_impl.py gather_lint_info   0% 31 31 0   0% 8 0   0%
src/debputy/linting/lint_impl.py initialize_lint_report   0% 16 16 1   0% 6 0   0%
src/debputy/linting/lint_impl.py perform_linting   0% 22 22 0   0% 14 0   0%
src/debputy/linting/lint_impl.py perform_reformat   0% 49 49 0   0% 30 0   0%
src/debputy/linting/lint_impl.py perform_reformat._commit_style   0% 13 13 0   0% 8 0   0%
src/debputy/linting/lint_impl.py perform_reformat_of_file   0% 27 27 0   0% 10 0   0%
src/debputy/linting/lint_impl.py _exit_with_lint_code   0% 4 4 0   0% 2 0   0%
src/debputy/linting/lint_impl.py perform_linting_of_file   0% 8 8 0   0% 4 0   0%
src/debputy/linting/lint_impl.py _overlapping_edit   0% 11 11 0   0% 8 0   0%
src/debputy/linting/lint_impl.py _max_range   0% 7 7 0   0% 6 0   0%
src/debputy/linting/lint_impl.py _is_non_interactive_auto_fix_allowed   0% 2 2 0   100% 0 0   0%
src/debputy/linting/lint_impl.py _auto_fix_run   0% 82 82 0   0% 30 0   0%
src/debputy/linting/lint_impl.py _diagnostics_run   0% 14 14 0   0% 6 0   0%
src/debputy/linting/lint_impl.py has_at_least_lsp_quickfix   0% 9 9 0   0% 8 0   0%
src/debputy/linting/lint_impl.py resolve_auto_fixer   0% 21 21 0   0% 16 0   0%
src/debputy/linting/lint_impl.py (no function)   100% 55 0 2   100% 0 0   100%
src/debputy/linting/lint_report_junit.py JunitLintReport.__init__   0% 2 2 0   100% 0 0   0%
src/debputy/linting/lint_report_junit.py JunitLintReport.finish_report   0% 5 5 0   100% 0 0   0%
src/debputy/linting/lint_report_junit.py JunitLintReport._as_test_cases   0% 3 3 0   0% 2 0   0%
src/debputy/linting/lint_report_junit.py JunitLintReport._as_test_case   0% 17 17 0   0% 8 0   0%
src/debputy/linting/lint_report_junit.py (no function)   100% 14 0 2   100% 0 0   100%
src/debputy/linting/lint_util.py te_position_to_lsp   100% 1 0 0   100% 0 0   100%
src/debputy/linting/lint_util.py te_range_to_lsp   100% 1 0 0   100% 0 0   100%
src/debputy/linting/lint_util.py with_range_in_continuous_parts   100% 5 0 0   100% 2 0   100%
src/debputy/linting/lint_util.py _check_diagnostic_source   75% 8 2 0   67% 6 2   71%
src/debputy/linting/lint_util.py DebputyMetadata.from_data   100% 2 0 0   100% 0 0   100%
src/debputy/linting/lint_util.py RelatedDiagnosticInformation.to_lsp   100% 1 0 0   100% 0 0   100%
src/debputy/linting/lint_util.py WorkspaceTextEditSupport.supports_versioned_text_edits   0% 1 1 0   100% 0 0   0%
src/debputy/linting/lint_util.py LintState.plugin_feature_set   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.doc_uri   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.doc_version   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.source_root   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.debian_dir   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.path   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.content   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.lines   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.position_codec   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.parsed_deb822_file_content   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.source_package   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.binary_packages   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.maint_preference_table   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.effective_preference   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.debputy_metadata   100% 3 0 0   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.dh_sequencer_data   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.workspace_text_edit_support   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.debputy_config   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.spellchecker   100% 9 0 0   100% 4 0   100%
src/debputy/linting/lint_util.py LintState.slow_iter   100% 2 0 0   100% 2 0   100%
src/debputy/linting/lint_util.py LintState.translation   0% 1 1 0   100% 0 0   0%
src/debputy/linting/lint_util.py LintState.related_diagnostic_information   100% 1 0 0   100% 0 0   100%
src/debputy/linting/lint_util.py LintState.emit_diagnostic   93% 15 1 0   88% 8 1   91%
src/debputy/linting/lint_util.py LintState._emit_diagnostic   100% 0 0 1   100% 0 0   100%
src/debputy/linting/lint_util.py LintStateImpl.doc_uri   100% 3 0 0   100% 0 0   100%
src/debputy/linting/lint_util.py LintStateImpl.doc_version   100% 1 0 0   100% 0 0   100%
src/debputy/linting/lint_util.py LintStateImpl.position_codec   100% 1 0 0   100% 0 0   100%
src/debputy/linting/lint_util.py LintStateImpl.parsed_deb822_file_content   100% 5 0 0   100% 2 0   100%
src/debputy/linting/lint_util.py LintStateImpl.dh_sequencer_data   100% 18 0 0   100% 6 0   100%
src/debputy/linting/lint_util.py LintStateImpl.workspace_text_edit_support   100% 1 0 0   100% 0 0   100%
src/debputy/linting/lint_util.py LintStateImpl.gather_diagnostics   80% 10 2 0   50% 4 2   71%
src/debputy/linting/lint_util.py LintStateImpl.clear_cache   0% 2 2 0   100% 0 0   0%
src/debputy/linting/lint_util.py LintStateImpl._emit_diagnostic   75% 4 1 0   50% 2 1   67%
src/debputy/linting/lint_util.py LintReport.__init__   0% 8 8 0   100% 0 0   0%
src/debputy/linting/lint_util.py LintReport.line_state   0% 14 14 0   0% 2 0   0%
src/debputy/linting/lint_util.py LintReport.report_diagnostic   0% 37 37 0   0% 14 0   0%
src/debputy/linting/lint_util.py LintReport.process_diagnostic   0% 1 1 0   100% 0 0   0%
src/debputy/linting/lint_util.py LintReport.finish_report   0% 1 1 0   100% 0 0   0%
src/debputy/linting/lint_util.py debputy_severity   0% 9 9 0   0% 6 0   0%
src/debputy/linting/lint_util.py TermLintReport.__init__   0% 2 2 0   100% 0 0   0%
src/debputy/linting/lint_util.py TermLintReport.finish_report   0% 1 1 0   100% 0 0   0%
src/debputy/linting/lint_util.py TermLintReport.process_diagnostic   0% 48 48 0   0% 20 0   0%
src/debputy/linting/lint_util.py TermLintReport._print_range_context   0% 6 6 0   0% 2 0   0%
src/debputy/linting/lint_util.py LinterPositionCodec.client_num_units   100% 1 0 0   100% 0 0   100%
src/debputy/linting/lint_util.py LinterPositionCodec.position_from_client_units   0% 5 5 0   0% 4 0   0%
src/debputy/linting/lint_util.py LinterPositionCodec.position_to_client_units   0% 1 1 0   100% 0 0   0%
src/debputy/linting/lint_util.py LinterPositionCodec.range_from_client_units   0% 1 1 0   100% 0 0   0%
src/debputy/linting/lint_util.py LinterPositionCodec.range_to_client_units   100% 1 0 0   100% 0 0   100%
src/debputy/linting/lint_util.py _lines_to_print   0% 4 4 0   0% 2 0   0%
src/debputy/linting/lint_util.py _highlight_range   0% 13 13 0   0% 4 0   0%
src/debputy/linting/lint_util.py _is_file_level_diagnostic   0% 6 6 0   0% 4 0   0%
src/debputy/linting/lint_util.py (no function)   100% 155 0 23   100% 0 0   100%
src/debputy/lsp/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/lsp/apt_cache.py AptCache.__init__   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/apt_cache.py AptCache.state   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/apt_cache.py AptCache.load_error   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/apt_cache.py AptCache.lookup   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/apt_cache.py AptCache.load   0% 45 45 0   0% 18 0   0%
src/debputy/lsp/apt_cache.py parse_apt_file   0% 7 7 0   0% 4 0   0%
src/debputy/lsp/apt_cache.py stanza_to_package_info   0% 14 14 0   0% 2 0   0%
src/debputy/lsp/apt_cache.py (no function)   100% 24 0 0   100% 0 0   100%
src/debputy/lsp/config/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/lsp/config/config_options.py DebputyConfigOption.__post_init__   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/config/config_options.py (no function)   100% 9 0 0   100% 0 0   100%
src/debputy/lsp/config/debputy_config.py DebputyConfig.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/config/debputy_config.py DebputyConfig.config_value   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/config/debputy_config.py _resolve   0% 9 9 0   0% 4 0   0%
src/debputy/lsp/config/debputy_config.py _read_option   0% 5 5 0   0% 2 0   0%
src/debputy/lsp/config/debputy_config.py load_debputy_config   53% 15 7 0   25% 4 1   47%
src/debputy/lsp/config/debputy_config.py (no function)   100% 14 0 0   100% 0 0   100%
src/debputy/lsp/config/parser.py _debputy_config_parser   100% 8 0 0   100% 0 0   100%
src/debputy/lsp/config/parser.py _debputy_self_check_config_parser   70% 10 3 0   70% 10 3   70%
src/debputy/lsp/config/parser.py _config_value   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/config/parser.py _add_sub_object_parser   100% 6 0 0   100% 2 0   100%
src/debputy/lsp/config/parser.py (no function)   100% 21 0 0   100% 0 0   100%
src/debputy/lsp/data/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/lsp/data/deb822_data/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/lsp/data/wordlists/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/lsp/debputy_ls.py FileCache._update_cache   100% 0 0 1   100% 0 0   100%
src/debputy/lsp/debputy_ls.py FileCache._clear_cache   100% 0 0 1   100% 0 0   100%
src/debputy/lsp/debputy_ls.py FileCache.resolve_cache   52% 31 15 0   33% 12 4   47%
src/debputy/lsp/debputy_ls.py Deb822FileCache._update_cache   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/debputy_ls.py Deb822FileCache._clear_cache   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py DctrlFileCache._update_cache   100% 4 0 0   100% 0 0   100%
src/debputy/lsp/debputy_ls.py DctrlFileCache._clear_cache   0% 3 3 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py SalsaCICache._update_cache   0% 6 6 0   0% 2 0   0%
src/debputy/lsp/debputy_ls.py SalsaCICache._clear_cache   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py DebianRulesCache._update_cache   0% 3 3 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py DebianRulesCache._clear_cache   0% 2 2 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.__init__   95% 19 1 0   75% 4 1   91%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.plugin_feature_set   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.doc_uri   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.doc_version   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.source_root   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.debian_dir   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.path   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.content   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.lines   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.position_codec   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState._resolve_dctrl   0% 3 3 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.parsed_deb822_file_content   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.source_package   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.binary_packages   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState._resolve_salsa_ci   0% 4 4 0   0% 4 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.effective_preference   0% 6 6 0   0% 2 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.maint_preference_table   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.salsa_ci   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.dh_sequencer_data   0% 11 11 0   0% 6 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.workspace_text_edit_support   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.debputy_config   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.translation   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.slow_iter   0% 11 11 0   0% 6 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState.run_diagnostics   0% 6 6 0   0% 2 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState._emit_diagnostic   0% 9 9 0   0% 4 0   0%
src/debputy/lsp/debputy_ls.py LSProvidedLintState._abort_on_outdated_doc_version   0% 4 4 0   0% 2 0   0%
src/debputy/lsp/debputy_ls.py _preference   33% 6 4 0   17% 6 1   25%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.__init__   100% 16 0 0   100% 0 0   100%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.finish_startup_initialization   0% 10 10 0   0% 4 0   0%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.on_initialize   0% 11 11 0   0% 2 0   0%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer._mask_ghost_requests   0% 7 7 0   0% 2 0   0%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer._mask_ghost_requests._ghost_request   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer._update_locale   0% 5 5 0   0% 4 0   0%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.file_cache_for   100% 13 0 0   83% 6 1   95%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.shutdown   0% 4 4 0   0% 2 0   0%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.translation   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer._load_apt_cache   0% 11 11 0   0% 2 0   0%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.plugin_feature_set   75% 4 1 0   50% 2 1   67%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.plugin_feature_set   67% 3 1 0   50% 2 1   60%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.dctrl_parser   75% 4 1 0   50% 2 1   67%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.dctrl_parser   67% 3 1 0   50% 2 1   60%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.lint_state   80% 5 1 0   50% 2 1   71%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer._client_hover_markup_formats   100% 4 0 0   100% 0 0   100%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.hover_markup_format   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer._client_completion_item_document_markup_formats   100% 4 0 0   100% 0 0   100%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer._supports_ws_document_changes   0% 4 4 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer._supported_resource_operation_edit_kinds   0% 4 4 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.completion_item_document_markup   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.trust_language_ids   0% 4 4 0   0% 2 0   0%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.trust_language_ids   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.determine_language_id   0% 12 12 0   0% 4 0   0%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.close_document   0% 5 5 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.slow_iter   78% 9 2 0   67% 6 2   73%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.record_diagnostics   0% 2 2 0   100% 0 0   0%
src/debputy/lsp/debputy_ls.py DebputyLanguageServer.diagnostics_in_range   0% 7 7 0   0% 4 0   0%
src/debputy/lsp/debputy_ls.py (no function)   100% 150 0 8   100% 0 0   100%
src/debputy/lsp/diagnostics.py DiagnosticReport.diagnostics_in_range   0% 7 7 0   0% 4 0   0%
src/debputy/lsp/diagnostics.py _pos_as_tuple   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/diagnostics.py DiagnosticRangeHelper.__init__   0% 3 3 0   100% 0 0   0%
src/debputy/lsp/diagnostics.py DiagnosticRangeHelper.diagnostics_in_range   0% 12 12 0   100% 0 0   0%
src/debputy/lsp/diagnostics.py _find_lt   0% 4 4 0   0% 2 0   0%
src/debputy/lsp/diagnostics.py _find_gt   0% 4 4 0   0% 2 0   0%
src/debputy/lsp/diagnostics.py (no function)   100% 27 0 2   100% 0 0   100%
src/debputy/lsp/languages/__init__.py (no function)   100% 10 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_changelog.py _check_footer_date   100% 24 0 0   100% 8 0   100%
src/debputy/lsp/languages/lsp_debian_changelog.py _check_email   100% 19 0 0   90% 10 1   97%
src/debputy/lsp/languages/lsp_debian_changelog.py _check_footer_line   95% 43 2 0   91% 22 2   94%
src/debputy/lsp/languages/lsp_debian_changelog.py _offset_of   100% 4 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_changelog.py _roffset_of   50% 4 2 0   100% 0 0   50%
src/debputy/lsp/languages/lsp_debian_changelog.py _single_line_subrange   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_changelog.py _check_header_line   94% 34 2 0   78% 18 4   88%
src/debputy/lsp/languages/lsp_debian_changelog.py _lint_debian_changelog   97% 29 1 0   83% 18 3   91%
src/debputy/lsp/languages/lsp_debian_changelog.py _debian_changelog_links   95% 20 1 0   90% 10 1   93%
src/debputy/lsp/languages/lsp_debian_changelog.py (no function)   100% 37 0 2   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_control.py SubstvarMetadata.render_metadata_fields   82% 11 2 0   50% 6 3   71%
src/debputy/lsp/languages/lsp_debian_control.py SubstvarMetadata.from_ref_data   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_control.py relationship_substvar_for_field   67% 6 2 0   100% 0 0   67%
src/debputy/lsp/languages/lsp_debian_control.py _as_substvars_metadata   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_control.py dctrl_variables_metadata_basename   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_control.py dctrl_substvars_metadata   100% 6 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_control.py _debian_control_hover   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_control.py _custom_hover_description   62% 8 3 0   50% 2 1   60%
src/debputy/lsp/languages/lsp_debian_control.py _render_package_lookup   0% 26 26 0   0% 10 0   0%
src/debputy/lsp/languages/lsp_debian_control.py _disclaimer   0% 3 3 0   0% 2 0   0%
src/debputy/lsp/languages/lsp_debian_control.py _render_package_by_name   0% 7 7 0   0% 4 0   0%
src/debputy/lsp/languages/lsp_debian_control.py _is_bd_field   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_control.py _custom_hover_relationship_field   50% 26 13 0   31% 16 5   43%
src/debputy/lsp/languages/lsp_debian_control.py _custom_hover   85% 33 5 0   75% 16 4   82%
src/debputy/lsp/languages/lsp_debian_control.py _debian_control_completions   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_control.py _debian_control_folding_ranges   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_control.py _doc_inlay_hint   0% 44 44 0   0% 20 0   0%
src/debputy/lsp/languages/lsp_debian_control.py _source_package_checks   100% 11 0 0   100% 8 0   100%
src/debputy/lsp/languages/lsp_debian_control.py _binary_package_checks   65% 34 12 0   56% 18 2   62%
src/debputy/lsp/languages/lsp_debian_control.py _lint_debian_control   93% 30 2 0   80% 10 2   90%
src/debputy/lsp/languages/lsp_debian_control.py _package_range_of_stanza   83% 6 1 0   75% 4 1   80%
src/debputy/lsp/languages/lsp_debian_control.py _packaging_files   93% 29 2 0   79% 14 3   88%
src/debputy/lsp/languages/lsp_debian_control.py _detect_misspelled_packaging_files   78% 40 9 0   69% 26 8   74%
src/debputy/lsp/languages/lsp_debian_control.py _debian_control_on_save_formatting   0% 3 3 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_control.py _reformat_debian_control   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_control.py _debian_control_format_file   0% 3 3 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_control.py _debian_control_semantic_tokens_full   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_control.py (no function)   100% 80 0 2   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_copyright.py _debian_copyright_hover   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_copyright.py _debian_copyright_completions   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_copyright.py _debian_copyright_folding_ranges   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_copyright.py _lint_debian_copyright   92% 24 2 0   83% 12 2   89%
src/debputy/lsp/languages/lsp_debian_copyright.py _debian_copyright_on_save_formatting   0% 3 3 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_copyright.py _reformat_debian_copyright   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_copyright.py _debian_copyright_format_document   0% 3 3 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_copyright.py _debian_copyright_semantic_tokens_full   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_copyright.py (no function)   100% 36 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_debputy_manifest.py DebputyManifestLSPYAMLHelper._validate_subparser_is_valid_here   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_debputy_manifest.py DebputyManifestLSPYAMLHelper._type_based_value_check   20% 10 8 0   17% 6 1   19%
src/debputy/lsp/languages/lsp_debian_debputy_manifest.py _initialize_yaml_helper   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_debputy_manifest.py _lint_debian_debputy_manifest   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_debputy_manifest.py _integration_mode_allows_key   100% 6 0 0   100% 4 0   100%
src/debputy/lsp/languages/lsp_debian_debputy_manifest.py debputy_manifest_completer   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_debputy_manifest.py debputy_manifest_hover   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_debputy_manifest.py (no function)   100% 29 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_patches_series.py _all_patch_files   69% 13 4 0   67% 12 4   68%
src/debputy/lsp/languages/lsp_debian_patches_series.py _listed_patches   0% 12 12 0   0% 8 0   0%
src/debputy/lsp/languages/lsp_debian_patches_series.py _lint_debian_patches_series   88% 58 7 0   82% 28 3   86%
src/debputy/lsp/languages/lsp_debian_patches_series.py _debian_patches_series_completions   0% 20 20 0   0% 4 0   0%
src/debputy/lsp/languages/lsp_debian_patches_series.py _debian_patches_semantic_tokens_full   96% 25 1 0   88% 8 1   94%
src/debputy/lsp/languages/lsp_debian_patches_series.py _emit_group   100% 7 0 0   100% 2 0   100%
src/debputy/lsp/languages/lsp_debian_patches_series.py (no function)   100% 33 0 4   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_rules.py _as_hook_targets   0% 2 2 0   0% 2 0   0%
src/debputy/lsp/languages/lsp_debian_rules.py _is_project_trusted   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_rules.py _run_make_dryrun   0% 15 15 0   0% 6 0   0%
src/debputy/lsp/languages/lsp_debian_rules.py iter_make_lines   0% 21 21 0   0% 14 0   0%
src/debputy/lsp/languages/lsp_debian_rules.py _forbidden_hook_targets   0% 3 3 0   0% 2 0   0%
src/debputy/lsp/languages/lsp_debian_rules.py _lint_debian_rules   0% 56 56 0   0% 30 0   0%
src/debputy/lsp/languages/lsp_debian_rules.py debian_rules_completions   57% 21 9 0   50% 8 2   55%
src/debputy/lsp/languages/lsp_debian_rules.py (no function)   100% 40 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_tests_control.py debian_tests_control_hover   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_tests_control.py debian_tests_control_completions   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_tests_control.py debian_tests_control_folding_ranges   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_tests_control.py _lint_debian_tests_control   86% 14 2 0   75% 8 2   82%
src/debputy/lsp/languages/lsp_debian_tests_control.py _debian_tests_control_on_save_formatting   0% 3 3 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_tests_control.py _reformat_debian_tests_control   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_tests_control.py _debian_tests_control_format_document   0% 3 3 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_tests_control.py _debian_tests_control_semantic_tokens_full   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_tests_control.py (no function)   100% 36 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_upstream_metadata.py _parser_handler   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_upstream_metadata.py add_keyword   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_upstream_metadata.py root_object_parser   100% 27 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_upstream_metadata.py _initialize_yaml_helper   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_upstream_metadata.py _lint_debian_upstream_metadata   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_upstream_metadata.py debian_upstream_metadata_completer   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_upstream_metadata.py debputy_manifest_hover   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_upstream_metadata.py (no function)   94% 36 2 2   100% 0 0   94%
src/debputy/lsp/languages/lsp_debian_watch.py VariableMetadata.render_metadata_fields   75% 8 2 0   50% 4 2   67%
src/debputy/lsp/languages/lsp_debian_watch.py VariableMetadata.from_ref_data   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_watch.py dwatch_variables_metadata_basename   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_watch.py _as_variables_metadata   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_watch.py dwatch_variables_metadata   100% 6 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_watch.py _custom_hover   92% 26 2 0   70% 10 3   86%
src/debputy/lsp/languages/lsp_debian_watch.py _debian_watch_hover   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_watch.py _debian_watch_completions   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_watch.py _debian_watch_folding_ranges   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_watch.py _lint_debian_watch   88% 24 3 0   75% 12 3   83%
src/debputy/lsp/languages/lsp_debian_watch.py _debian_watch_on_save_formatting   0% 3 3 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_watch.py _reformat_debian_watch   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/languages/lsp_debian_watch.py _debian_watch_format_doc   0% 3 3 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_watch.py _debian_watch_semantic_tokens_full   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debian_watch.py (no function)   100% 56 0 2   100% 0 0   100%
src/debputy/lsp/languages/lsp_debputy_config.py _initialize_yaml_helper   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debputy_config.py lint_debputy_config   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debputy_config.py deboputy_config_completer   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debputy_config.py debputy_config_hover   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/languages/lsp_debputy_config.py (no function)   91% 22 2 2   100% 0 0   91%
src/debputy/lsp/lsp_debian_control_reference_data.py all_package_relationship_fields   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py all_source_relationship_fields   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _fields   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _complete_section_sort_hint   94% 16 1 0   80% 10 2   88%
src/debputy/lsp/lsp_debian_control_reference_data.py all_architectures_and_wildcards   100% 19 0 0   100% 12 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py dpkg_arch_and_wildcards   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py extract_first_value_and_position   88% 8 1 0   50% 2 1   80%
src/debputy/lsp/lsp_debian_control_reference_data.py _sv_field_validation   100% 13 0 0   100% 6 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _dctrl_ma_field_validation   100% 6 0 0   75% 4 1   90%
src/debputy/lsp/lsp_debian_control_reference_data.py _udeb_only_field_validation   100% 3 0 0   100% 2 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _not_applicable_to_udeb_field_validation   100% 3 0 0   100% 2 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _complete_only_in_arch_dep_pkgs   100% 7 0 0   100% 4 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _complete_only_for_udeb_pkgs   100% 6 0 0   100% 6 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _arch_not_all_only_field_validation   100% 3 0 0   50% 2 1   80%
src/debputy/lsp/lsp_debian_control_reference_data.py _binary_package_from_same_source   100% 9 0 0   83% 6 1   93%
src/debputy/lsp/lsp_debian_control_reference_data.py _single_line_span_range_relative_to_pos   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _check_extended_description_line   92% 12 1 0   75% 4 1   88%
src/debputy/lsp/lsp_debian_control_reference_data.py _check_synopsis   100% 18 0 0   100% 12 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py dctrl_description_validator   87% 15 2 0   67% 6 2   81%
src/debputy/lsp/lsp_debian_control_reference_data.py _has_packaging_expected_file   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _has_packaging_expected_file._impl   83% 6 1 0   75% 4 1   80%
src/debputy/lsp/lsp_debian_control_reference_data.py _has_build_instructions   100% 3 0 0   100% 2 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _canonical_maintainer_name   87% 23 3 0   88% 8 1   87%
src/debputy/lsp/lsp_debian_control_reference_data.py _maintainer_field_validator   100% 9 0 0   100% 4 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _use_https_instead_of_http   100% 9 0 0   100% 4 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _each_value_match_regex_validation   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _each_value_match_regex_validation._validator   100% 14 0 1   100% 6 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _span_to_te_range   0% 13 13 0   0% 4 0   0%
src/debputy/lsp/lsp_debian_control_reference_data.py _split_w_spans   100% 7 0 0   100% 2 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _cleanup_rel   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _text_to_te_position   100% 6 0 0   100% 2 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py relation_key_variations   100% 4 0 0   100% 2 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py dup_check_relations   95% 22 1 0   93% 14 1   94%
src/debputy/lsp/lsp_debian_control_reference_data.py _dctrl_check_dep_version_operator   100% 12 0 0   100% 4 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _dctrl_validate_dep   100% 56 0 0   100% 30 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _rrr_build_driver_mismatch   100% 3 0 0   100% 2 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Dep5Matcher.__init__   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_debian_control_reference_data.py _match_dep5_segment   0% 6 6 0   0% 4 0   0%
src/debputy/lsp/lsp_debian_control_reference_data.py _dep5_unnecessary_symbols   100% 13 0 0   83% 6 1   95%
src/debputy/lsp/lsp_debian_control_reference_data.py _dep5_files_check   100% 17 0 0   100% 6 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _is_known_host   100% 11 0 0   83% 6 1   94%
src/debputy/lsp/lsp_debian_control_reference_data.py _validate_homepage_field   91% 34 3 0   79% 14 3   88%
src/debputy/lsp/lsp_debian_control_reference_data.py _combined_custom_field_check   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _combined_custom_field_check._validator   100% 2 0 0   100% 2 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _package_name_section_rule   75% 8 2 0   75% 4 1   75%
src/debputy/lsp/lsp_debian_control_reference_data.py _package_name_section_rule._impl   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py package_name_to_section   100% 4 0 0   100% 4 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py _unknown_value_check   88% 26 3 0   75% 12 3   84%
src/debputy/lsp/lsp_debian_control_reference_data.py _dep5_escape_path   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_debian_control_reference_data.py _noop_escape_path   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_debian_control_reference_data.py _should_ignore_dir   0% 9 9 0   0% 6 0   0%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822KnownField.synopsis_translated   100% 3 0 0   100% 2 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822KnownField.long_description_translated   67% 3 1 0   50% 2 1   60%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822KnownField._can_complete_field_in_stanza   67% 3 1 0   50% 2 1   60%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822KnownField.complete_field   100% 19 0 0   90% 10 1   97%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822KnownField._complete_files   0% 29 29 0   0% 20 0   0%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822KnownField.value_options_for_completer   69% 13 4 0   60% 10 2   65%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822KnownField.field_omitted_diagnostics   50% 6 3 0   25% 4 1   40%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822KnownField.field_diagnostics   93% 27 2 0   86% 14 2   90%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822KnownField._diagnostics_for_field_name   100% 8 0 0   100% 6 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822KnownField._dep5_file_list_diagnostics   94% 17 1 0   90% 10 1   93%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822KnownField._known_value_diagnostics   90% 63 6 0   93% 30 2   91%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822KnownField._reformat_field_name   86% 7 1 0   75% 4 1   82%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822KnownField.reformat_field   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822KnownField.replace   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py DctrlLikeKnownField.reformat_field   83% 36 6 0   67% 18 6   78%
src/debputy/lsp/lsp_debian_control_reference_data.py DctrlLikeKnownField.reformattable_field   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_debian_control_reference_data.py DctrlLikeKnownField.is_relationship_field   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_debian_control_reference_data.py DctrlLikeKnownField.is_sortable_field   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py DTestsCtrlKnownField.is_relationship_field   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_debian_control_reference_data.py DTestsCtrlKnownField.is_sortable_field   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_debian_control_reference_data.py DctrlKnownField.field_omitted_diagnostics   100% 10 0 0   100% 8 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py DctrlKnownField.reformat_field   100% 14 0 0   100% 4 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py DctrlKnownField.is_relationship_field   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py DctrlKnownField.reformattable_field   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py DctrlRelationshipKnownField.is_relationship_field   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py StanzaMetadata.stanza_diagnostics   93% 56 4 0   89% 28 3   92%
src/debputy/lsp/lsp_debian_control_reference_data.py StanzaMetadata.__getitem__   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py StanzaMetadata.__len__   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_debian_control_reference_data.py StanzaMetadata.__iter__   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py StanzaMetadata.omitted_field_diagnostics   83% 6 1 0   83% 6 1   83%
src/debputy/lsp/lsp_debian_control_reference_data.py StanzaMetadata._paragraph_representation_field   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py StanzaMetadata.normalize_field_name   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py StanzaMetadata.stanza_representation   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py StanzaMetadata.reformat_stanza   100% 6 0 0   100% 4 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py DctrlStanzaMetadata.normalize_field_name   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py DTestsCtrlStanzaMetadata.omitted_field_diagnostics   88% 8 1 0   83% 6 1   86%
src/debputy/lsp/lsp_debian_control_reference_data.py DebianWatchStanzaMetadata.omitted_field_diagnostics   50% 6 3 0   50% 4 2   50%
src/debputy/lsp/lsp_debian_control_reference_data.py lsp_reference_data_dir   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822FileMetadata.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822FileMetadata.reference_data_basename   100% 0 0 1   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822FileMetadata._new_field   100% 0 0 1   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822FileMetadata._reference_data   77% 13 3 0   50% 2 1   73%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822FileMetadata.is_initialized   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822FileMetadata.ensure_initialized   100% 19 0 0   100% 8 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822FileMetadata.ensure_initialized._resolve_doc   43% 7 4 0   50% 2 1   44%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822FileMetadata.file_metadata_applies_to_file   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822FileMetadata.classify_stanza   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822FileMetadata.guess_stanza_classification_by_idx   100% 0 0 1   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822FileMetadata.stanza_types   100% 0 0 1   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822FileMetadata.__getitem__   100% 0 0 1   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822FileMetadata.get   0% 4 4 0   100% 0 0   0%
src/debputy/lsp/lsp_debian_control_reference_data.py Deb822FileMetadata.reformat   100% 9 0 0   100% 4 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Dep5FileMetadata.reference_data_basename   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Dep5FileMetadata._new_field   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Dep5FileMetadata.file_metadata_applies_to_file   91% 11 1 0   70% 10 3   81%
src/debputy/lsp/lsp_debian_control_reference_data.py Dep5FileMetadata.classify_stanza   75% 8 2 0   67% 6 2   71%
src/debputy/lsp/lsp_debian_control_reference_data.py Dep5FileMetadata.guess_stanza_classification_by_idx   0% 6 6 0   0% 4 0   0%
src/debputy/lsp/lsp_debian_control_reference_data.py Dep5FileMetadata.stanza_types   100% 4 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py Dep5FileMetadata.__getitem__   88% 8 1 0   83% 6 1   86%
src/debputy/lsp/lsp_debian_control_reference_data.py DebianWatch5FileMetadata.reference_data_basename   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py DebianWatch5FileMetadata._new_field   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py DebianWatch5FileMetadata.file_metadata_applies_to_file   62% 16 6 0   50% 12 6   57%
src/debputy/lsp/lsp_debian_control_reference_data.py DebianWatch5FileMetadata.classify_stanza   83% 6 1 0   75% 4 1   80%
src/debputy/lsp/lsp_debian_control_reference_data.py DebianWatch5FileMetadata.guess_stanza_classification_by_idx   67% 6 2 0   50% 4 2   60%
src/debputy/lsp/lsp_debian_control_reference_data.py DebianWatch5FileMetadata.stanza_types   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py DebianWatch5FileMetadata.__getitem__   83% 6 1 0   75% 4 1   80%
src/debputy/lsp/lsp_debian_control_reference_data.py _resolve_keyword   96% 23 1 0   83% 12 2   91%
src/debputy/lsp/lsp_debian_control_reference_data.py _resolve_field   93% 42 3 0   79% 14 3   89%
src/debputy/lsp/lsp_debian_control_reference_data.py _expand_aliases   84% 19 3 0   88% 8 1   85%
src/debputy/lsp/lsp_debian_control_reference_data.py DctrlFileMetadata.reference_data_basename   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py DctrlFileMetadata._new_field   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py DctrlFileMetadata.guess_stanza_classification_by_idx   83% 6 1 0   75% 4 1   80%
src/debputy/lsp/lsp_debian_control_reference_data.py DctrlFileMetadata.stanza_types   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py DctrlFileMetadata.__getitem__   83% 6 1 0   75% 4 1   80%
src/debputy/lsp/lsp_debian_control_reference_data.py DctrlFileMetadata.reformat   10% 29 26 0   6% 16 1   9%
src/debputy/lsp/lsp_debian_control_reference_data.py DTestsCtrlFileMetadata.reference_data_basename   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py DTestsCtrlFileMetadata._new_field   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_debian_control_reference_data.py DTestsCtrlFileMetadata.guess_stanza_classification_by_idx   75% 4 1 0   50% 2 1   67%
src/debputy/lsp/lsp_debian_control_reference_data.py DTestsCtrlFileMetadata.stanza_types   0% 2 2 0   100% 0 0   0%
src/debputy/lsp/lsp_debian_control_reference_data.py DTestsCtrlFileMetadata.__getitem__   75% 4 1 0   50% 2 1   67%
src/debputy/lsp/lsp_debian_control_reference_data.py (no function)   99% 285 2 8   100% 0 0   99%
src/debputy/lsp/lsp_dispatch.py _on_initialize   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_dispatch.py _open_document   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_dispatch.py _changed_document   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_dispatch.py _close_document   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_dispatch.py _open_or_changed_document   0% 3 3 0   100% 0 0   0%
src/debputy/lsp/lsp_dispatch.py _diagnostics_for   0% 14 14 0   0% 2 0   0%
src/debputy/lsp/lsp_dispatch.py _completions   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_dispatch.py _hover   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_dispatch.py _doc_inlay_hint   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_dispatch.py _code_actions   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_dispatch.py _folding_ranges   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_dispatch.py semantic_tokens_full   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_dispatch.py _will_save_wait_until   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_dispatch.py _format_document   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_dispatch.py _document_link   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_dispatch.py _dispatch_standard_handler   0% 10 10 0   0% 4 0   0%
src/debputy/lsp/lsp_dispatch.py _resolve_handler   0% 12 12 0   0% 6 0   0%
src/debputy/lsp/lsp_dispatch.py (no function)   100% 52 0 9   100% 0 0   100%
src/debputy/lsp/lsp_features.py HandlerDispatchTable.__missing__   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/lsp_features.py DiagnosticHandlerProtocol.__call__   100% 0 0 0   100% 0 0   100%
src/debputy/lsp/lsp_features.py LanguageDispatchRule.new_rule   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/lsp_features.py lint_diagnostics   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/lsp_features.py lint_diagnostics._wrapper   89% 9 1 0   75% 8 2   82%
src/debputy/lsp/lsp_features.py lint_diagnostics._wrapper._lint_wrapper   0% 3 3 0   100% 0 0   0%
src/debputy/lsp/lsp_features.py lsp_completer   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_features.py lsp_code_actions   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_features.py lsp_hover   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_features.py lsp_text_doc_inlay_hints   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_features.py lsp_folding_ranges   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_features.py lsp_will_save_wait_until   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_features.py lsp_format_document   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_features.py lsp_cli_reformat_document   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/lsp_features.py lsp_cli_reformat_document._wrapper   100% 4 0 0   75% 4 1   88%
src/debputy/lsp/lsp_features.py lsp_semantic_tokens_full   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_features.py lsp_document_link   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_features.py lsp_standard_handler   80% 5 1 0   50% 2 1   71%
src/debputy/lsp/lsp_features.py _registering_wrapper   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/lsp_features.py _registering_wrapper._wrapper   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/lsp_features.py _register_handler   100% 24 0 7   100% 10 0   100%
src/debputy/lsp/lsp_features.py ensure_cli_lsp_features_are_loaded   0% 4 4 0   100% 0 0   0%
src/debputy/lsp/lsp_features.py describe_lsp_features   0% 36 36 0   0% 20 0   0%
src/debputy/lsp/lsp_features.py (no function)   100% 70 0 3   50% 2 1   99%
src/debputy/lsp/lsp_generic_deb822.py in_range   93% 15 1 0   88% 8 1   91%
src/debputy/lsp/lsp_generic_deb822.py _field_at_position   95% 20 1 0   75% 12 3   88%
src/debputy/lsp/lsp_generic_deb822.py _allow_stanza_continuation   100% 5 0 0   100% 4 0   100%
src/debputy/lsp/lsp_generic_deb822.py _at_cursor   97% 38 1 0   85% 20 3   93%
src/debputy/lsp/lsp_generic_deb822.py deb822_completer   85% 20 3 0   62% 8 3   79%
src/debputy/lsp/lsp_generic_deb822.py deb822_hover   59% 37 15 0   50% 26 9   56%
src/debputy/lsp/lsp_generic_deb822.py deb822_token_iter   93% 14 1 0   83% 6 1   90%
src/debputy/lsp/lsp_generic_deb822.py deb822_folding_ranges   0% 15 15 0   0% 10 0   0%
src/debputy/lsp/lsp_generic_deb822.py Deb822SemanticTokensState.__init__   100% 9 0 0   100% 0 0   100%
src/debputy/lsp/lsp_generic_deb822.py _emit_tokens_for_comment_element   100% 4 0 0   100% 2 0   100%
src/debputy/lsp/lsp_generic_deb822.py scan_for_syntax_errors_and_token_level_diagnostics   82% 17 3 0   92% 12 1   86%
src/debputy/lsp/lsp_generic_deb822.py _emit_relation_token   100% 7 0 0   100% 2 0   100%
src/debputy/lsp/lsp_generic_deb822.py _deb822_relationship_field_semantic_tokens_full   100% 25 0 0   100% 8 0   100%
src/debputy/lsp/lsp_generic_deb822.py _deb822_paragraph_semantic_tokens_full   90% 60 6 0   87% 30 4   89%
src/debputy/lsp/lsp_generic_deb822.py _split_into_substvars   87% 23 3 0   62% 8 3   81%
src/debputy/lsp/lsp_generic_deb822.py _process_value_with_substvars   100% 9 0 0   100% 4 0   100%
src/debputy/lsp/lsp_generic_deb822.py deb822_format_file   77% 13 3 0   67% 6 2   74%
src/debputy/lsp/lsp_generic_deb822.py deb822_semantic_tokens_full   79% 24 5 0   75% 12 3   78%
src/debputy/lsp/lsp_generic_deb822.py _complete_field_name   100% 10 0 0   100% 6 0   100%
src/debputy/lsp/lsp_generic_deb822.py (no function)   100% 45 0 2   100% 0 0   100%
src/debputy/lsp/lsp_generic_yaml.py LSPYAMLHelper.__init__   100% 4 0 0   100% 0 0   100%
src/debputy/lsp/lsp_generic_yaml.py LSPYAMLHelper._validate_subparser_is_valid_here   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_generic_yaml.py LSPYAMLHelper._lint_dispatch_parser   62% 34 13 0   65% 20 3   63%
src/debputy/lsp/lsp_generic_yaml.py LSPYAMLHelper.lint_content   91% 35 3 0   83% 30 5   88%
src/debputy/lsp/lsp_generic_yaml.py LSPYAMLHelper._lint_declarative_mapping_input_parser   48% 40 21 0   50% 26 3   48%
src/debputy/lsp/lsp_generic_yaml.py LSPYAMLHelper._type_based_value_check   69% 13 4 0   100% 4 0   76%
src/debputy/lsp/lsp_generic_yaml.py LSPYAMLHelper._lint_attr_value   100% 9 0 0   100% 4 0   100%
src/debputy/lsp/lsp_generic_yaml.py LSPYAMLHelper._lint_value   73% 41 11 0   69% 26 4   72%
src/debputy/lsp/lsp_generic_yaml.py LSPYAMLHelper._remaining_line   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/lsp_generic_yaml.py _is_empty_range   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_generic_yaml.py _lines   100% 4 0 0   50% 2 1   83%
src/debputy/lsp/lsp_generic_yaml.py generic_yaml_lint   81% 16 3 0   100% 2 0   83%
src/debputy/lsp/lsp_generic_yaml.py _as_yaml_value   80% 5 1 0   75% 4 1   78%
src/debputy/lsp/lsp_generic_yaml.py resolve_hover_text_for_value   63% 19 7 0   50% 8 4   59%
src/debputy/lsp/lsp_generic_yaml.py resolve_hover_text   94% 16 1 0   80% 10 2   88%
src/debputy/lsp/lsp_generic_yaml.py as_hover_doc   67% 3 1 0   50% 2 1   60%
src/debputy/lsp/lsp_generic_yaml.py _render_param_doc   83% 12 2 0   67% 6 2   78%
src/debputy/lsp/lsp_generic_yaml.py _guess_rule_name   78% 9 2 0   75% 4 1   77%
src/debputy/lsp/lsp_generic_yaml.py is_at   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/lsp_generic_yaml.py is_before   100% 6 0 0   100% 4 0   100%
src/debputy/lsp/lsp_generic_yaml.py is_after   0% 6 6 0   0% 4 0   0%
src/debputy/lsp/lsp_generic_yaml.py error_range_at_position   100% 17 0 0   100% 10 0   100%
src/debputy/lsp/lsp_generic_yaml.py error_range_at_position._check   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_generic_yaml.py _escape   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_generic_yaml.py insert_complete_marker_snippet   90% 41 4 0   80% 20 2   87%
src/debputy/lsp/lsp_generic_yaml.py _keywords_with_parser   100% 3 0 0   100% 2 0   100%
src/debputy/lsp/lsp_generic_yaml.py yaml_key_range   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/lsp_generic_yaml.py yaml_flag_unknown_key   83% 18 3 0   70% 10 3   79%
src/debputy/lsp/lsp_generic_yaml.py yaml_conflicting_key   0% 4 4 0   100% 0 0   0%
src/debputy/lsp/lsp_generic_yaml.py resolve_keyword   79% 38 8 0   73% 30 6   76%
src/debputy/lsp/lsp_generic_yaml.py _trace_cursor   91% 32 3 0   78% 18 4   86%
src/debputy/lsp/lsp_generic_yaml.py maybe_quote_yaml_value   71% 7 2 0   100% 2 0   78%
src/debputy/lsp/lsp_generic_yaml.py _complete_value   67% 3 1 0   50% 2 1   60%
src/debputy/lsp/lsp_generic_yaml.py completion_from_attr   75% 24 6 0   62% 16 6   70%
src/debputy/lsp/lsp_generic_yaml.py completion_item   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/lsp_generic_yaml.py _is_inside_manifest_variable_substitution   100% 6 0 0   100% 0 0   100%
src/debputy/lsp/lsp_generic_yaml.py _manifest_substitution_variable_at_position   90% 10 1 0   50% 2 1   83%
src/debputy/lsp/lsp_generic_yaml.py _insert_complete_marker_and_parse_yaml   45% 20 11 0   17% 6 1   38%
src/debputy/lsp/lsp_generic_yaml.py generic_yaml_completer   81% 59 11 0   74% 34 7   78%
src/debputy/lsp/lsp_generic_yaml.py generic_yaml_hover   71% 45 13 0   58% 12 5   68%
src/debputy/lsp/lsp_generic_yaml.py (no function)   100% 71 0 2   100% 0 0   100%
src/debputy/lsp/lsp_reference_keyword.py format_comp_item_synopsis_doc   100% 5 0 0   100% 4 0   100%
src/debputy/lsp/lsp_reference_keyword.py Keyword.is_deprecated   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_reference_keyword.py Keyword.resolve_sort_text   100% 6 0 0   100% 4 0   100%
src/debputy/lsp/lsp_reference_keyword.py Keyword.is_keyword_valid_completion_in_stanza   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_reference_keyword.py Keyword.replace   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_reference_keyword.py Keyword.synopsis_translated   100% 3 0 0   100% 2 0   100%
src/debputy/lsp/lsp_reference_keyword.py Keyword.long_description_translated   0% 3 3 0   0% 2 0   0%
src/debputy/lsp/lsp_reference_keyword.py Keyword.as_completion_item   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_reference_keyword.py allowed_values   100% 4 0 0   100% 0 0   100%
src/debputy/lsp/lsp_reference_keyword.py (no function)   100% 34 0 4   100% 0 0   100%
src/debputy/lsp/lsp_self_check.py lsp_import_check   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/lsp_self_check.py lsp_import_check._wrapper   100% 4 0 0   100% 0 0   100%
src/debputy/lsp/lsp_self_check.py lsp_import_check._wrapper._impl   0% 5 5 0   100% 0 0   0%
src/debputy/lsp/lsp_self_check.py lsp_generic_check   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/lsp_self_check.py lsp_generic_check._wrapper   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/lsp_self_check.py _feature_name   100% 3 0 0   100% 2 0   100%
src/debputy/lsp/lsp_self_check.py minimum_requirements   0% 2 2 0   100% 0 0   0%
src/debputy/lsp/lsp_self_check.py typo_detection   0% 2 2 0   100% 0 0   0%
src/debputy/lsp/lsp_self_check.py spell_checking   0% 2 2 0   100% 0 0   0%
src/debputy/lsp/lsp_self_check.py check_dh_version   0% 10 10 0   0% 4 0   0%
src/debputy/lsp/lsp_self_check.py check_apt_cache   0% 8 8 0   0% 4 0   0%
src/debputy/lsp/lsp_self_check.py assert_can_start_lsp   0% 3 3 0   0% 4 0   0%
src/debputy/lsp/lsp_self_check.py (no function)   100% 26 0 0   100% 0 0   100%
src/debputy/lsp/lsp_test_support.py resolved_semantic_token   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/lsp_test_support.py resolve_semantic_tokens   100% 15 0 0   100% 4 0   100%
src/debputy/lsp/lsp_test_support.py (no function)   100% 10 0 2   100% 0 0   100%
src/debputy/lsp/maint_prefs.py PreferenceOption.name   100% 3 0 0   100% 2 0   100%
src/debputy/lsp/maint_prefs.py PreferenceOption.attribute_name   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/maint_prefs.py PreferenceOption.extract_value   87% 15 2 0   80% 10 2   84%
src/debputy/lsp/maint_prefs.py _is_packaging_team_default   100% 5 0 0   100% 2 0   100%
src/debputy/lsp/maint_prefs.py _false_when_formatting_content   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/maint_prefs.py EffectiveFormattingPreference.from_file   86% 7 1 0   75% 4 1   82%
src/debputy/lsp/maint_prefs.py EffectiveFormattingPreference.aligned_preference   64% 11 4 0   62% 8 1   63%
src/debputy/lsp/maint_prefs.py EffectiveFormattingPreference.deb822_formatter   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/maint_prefs.py EffectiveFormattingPreference.replace   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/maint_prefs.py MaintainerPreference.from_file   86% 7 1 0   75% 4 1   82%
src/debputy/lsp/maint_prefs.py MaintainerPreferenceTable.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/maint_prefs.py MaintainerPreferenceTable.load_preferences   80% 10 2 0   50% 2 1   75%
src/debputy/lsp/maint_prefs.py MaintainerPreferenceTable.named_styles   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/maint_prefs.py MaintainerPreferenceTable.maintainer_preferences   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/maint_prefs.py parse_file   65% 31 11 0   69% 16 5   66%
src/debputy/lsp/maint_prefs.py extract_maint_email   57% 7 3 0   50% 2 1   56%
src/debputy/lsp/maint_prefs.py _parse_salsa_ci_boolean   80% 5 1 0   75% 4 1   78%
src/debputy/lsp/maint_prefs.py _read_salsa_ci_wrap_and_sort_enabled   100% 11 0 0   100% 6 0   100%
src/debputy/lsp/maint_prefs.py determine_effective_preference   75% 48 12 0   71% 28 8   74%
src/debputy/lsp/maint_prefs.py _guess_tool_from_style   80% 5 1 0   75% 4 1   78%
src/debputy/lsp/maint_prefs.py _split_options   78% 9 2 0   88% 8 1   82%
src/debputy/lsp/maint_prefs.py parse_salsa_ci_wrap_and_sort_args   92% 13 1 0   88% 8 1   90%
src/debputy/lsp/maint_prefs.py (no function)   100% 74 0 0   100% 0 0   100%
src/debputy/lsp/named_styles.py (no function)   100% 5 0 0   100% 0 0   100%
src/debputy/lsp/quickfixes.py propose_correct_text_quick_fix   100% 4 0 0   100% 2 0   100%
src/debputy/lsp/quickfixes.py propose_insert_text_on_line_after_diagnostic_quick_fix   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/quickfixes.py propose_remove_line_quick_fix   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/quickfixes.py propose_remove_range_quick_fix   100% 4 0 0   100% 2 0   100%
src/debputy/lsp/quickfixes.py _code_handler_for   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/quickfixes.py _code_handler_for._wrapper   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/quickfixes.py _correct_value_code_action   100% 5 0 0   100% 2 0   100%
src/debputy/lsp/quickfixes.py _insert_text_on_line_after_diagnostic_code_action   0% 6 6 0   0% 2 0   0%
src/debputy/lsp/quickfixes.py _simple_quick_fix   83% 6 1 0   50% 2 1   75%
src/debputy/lsp/quickfixes.py range_compatible_with_remove_line_fix   0% 10 10 0   0% 6 0   0%
src/debputy/lsp/quickfixes.py _remove_line_code_action   0% 6 6 0   0% 2 0   0%
src/debputy/lsp/quickfixes.py _remove_range_code_action   0% 2 2 0   100% 0 0   0%
src/debputy/lsp/quickfixes.py accepts_quickfixes   0% 4 4 0   0% 2 0   0%
src/debputy/lsp/quickfixes.py provide_standard_quickfixes_from_diagnostics_ls   0% 8 8 0   0% 4 0   0%
src/debputy/lsp/quickfixes.py provide_standard_quickfixes_from_diagnostics_lint   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/quickfixes.py _provide_standard_quickfixes_from_diagnostics   0% 18 18 0   0% 14 0   0%
src/debputy/lsp/quickfixes.py (no function)   100% 39 0 3   100% 0 0   100%
src/debputy/lsp/ref_models/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/lsp/ref_models/deb822_reference_parse_models.py comma_or_space_split_tokenizer   50% 16 8 0   36% 14 3   43%
src/debputy/lsp/ref_models/deb822_reference_parse_models.py Deb822SemicolonToken.__init__   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/ref_models/deb822_reference_parse_models.py comma_split_tokenizer   0% 13 13 0   0% 12 0   0%
src/debputy/lsp/ref_models/deb822_reference_parse_models.py FieldValueClass.from_key   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/ref_models/deb822_reference_parse_models.py FieldValueClass.key   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/ref_models/deb822_reference_parse_models.py FieldValueClass.interpreter   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/ref_models/deb822_reference_parse_models.py (no function)   100% 58 0 0   100% 0 0   100%
src/debputy/lsp/spellchecking.py _read_wordlist   100% 6 0 0   100% 2 0   100%
src/debputy/lsp/spellchecking.py _all_debian_archs   50% 6 3 0   100% 0 0   50%
src/debputy/lsp/spellchecking.py _builtin_exception_words   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/spellchecking.py spellcheck_line   70% 10 3 0   75% 4 1   71%
src/debputy/lsp/spellchecking.py default_spellchecker   43% 7 4 0   25% 4 1   36%
src/debputy/lsp/spellchecking.py _do_nothing_spellchecker   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/spellchecking.py disable_spellchecking   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/spellchecking.py _testing_set_default_spellchecker   100% 3 0 0   100% 0 0   100%
src/debputy/lsp/spellchecking.py _skip_quoted_parts   84% 19 3 0   83% 6 1   84%
src/debputy/lsp/spellchecking.py _split_line_to_words   88% 16 2 0   86% 14 2   87%
src/debputy/lsp/spellchecking.py Spellchecker.do_nothing_spellchecker   0% 1 1 0   100% 0 0   0%
src/debputy/lsp/spellchecking.py Spellchecker.iter_words   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/spellchecking.py Spellchecker.provide_corrections_for   100% 0 0 1   100% 0 0   100%
src/debputy/lsp/spellchecking.py Spellchecker.context_ignored_words   67% 3 1 0   50% 2 1   60%
src/debputy/lsp/spellchecking.py ContextIgnoredWordsSpellchecker.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/spellchecking.py ContextIgnoredWordsSpellchecker.iter_words   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/spellchecking.py ContextIgnoredWordsSpellchecker.provide_corrections_for   100% 3 0 0   100% 2 0   100%
src/debputy/lsp/spellchecking.py EverythingIsCorrectSpellchecker.provide_corrections_for   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/spellchecking.py EverythingIsCorrectSpellchecker.context_ignored_words   100% 1 0 0   100% 0 0   100%
src/debputy/lsp/spellchecking.py HunspellSpellchecker.__init__   100% 4 0 0   100% 2 0   100%
src/debputy/lsp/spellchecking.py HunspellSpellchecker.provide_corrections_for   80% 5 1 0   75% 4 1   78%
src/debputy/lsp/spellchecking.py HunspellSpellchecker._lookup   100% 3 0 0   100% 2 0   100%
src/debputy/lsp/spellchecking.py HunspellSpellchecker._load_personal_exclusions   73% 11 3 0   62% 8 3   68%
src/debputy/lsp/spellchecking.py (no function)   93% 68 5 3   50% 2 1   91%
src/debputy/lsp/text_edit.py get_well_formatted_range   80% 5 1 0   50% 2 1   71%
src/debputy/lsp/text_edit.py get_well_formatted_edit   75% 4 1 0   50% 2 1   67%
src/debputy/lsp/text_edit.py compare_text_edits   100% 4 0 0   100% 2 0   100%
src/debputy/lsp/text_edit.py merge_sort_text_edits   79% 28 6 0   80% 10 2   79%
src/debputy/lsp/text_edit.py offset_at_position   100% 2 0 0   100% 0 0   100%
src/debputy/lsp/text_edit.py apply_text_edits   93% 14 1 0   75% 8 2   86%
src/debputy/lsp/text_edit.py (no function)   100% 11 0 2   100% 0 0   100%
src/debputy/lsp/text_util.py markdown_urlify   75% 8 2 0   50% 4 2   67%
src/debputy/lsp/text_util.py normalize_dctrl_field_name   91% 11 1 0   75% 8 2   84%
src/debputy/lsp/text_util.py on_save_trim_end_of_line_whitespace   0% 2 2 0   100% 0 0   0%
src/debputy/lsp/text_util.py trim_end_of_line_whitespace   75% 16 4 0   75% 8 2   75%
src/debputy/lsp/text_util.py SemanticTokensState.__init__   100% 6 0 0   100% 0 0   100%
src/debputy/lsp/text_util.py SemanticTokensState.emit_token   100% 13 0 0   100% 2 0   100%
src/debputy/lsp/text_util.py (no function)   100% 24 0 2   100% 0 0   100%
src/debputy/lsprotocol/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/lsprotocol/types.py __dir__   100% 1 0 0   100% 0 0   100%
src/debputy/lsprotocol/types.py __getattr__   100% 1 0 0   100% 0 0   100%
src/debputy/lsprotocol/types.py (no function)   24% 34 26 4   0% 10 0   18%
src/debputy/maintscript_snippet.py SnippetResolver._resolve_snippet   100% 0 0 1   100% 0 0   100%
src/debputy/maintscript_snippet.py SnippetResolver.resolve   75% 4 1 0   50% 2 1   67%
src/debputy/maintscript_snippet.py SnippetResolver.apply_manifest_substitution   0% 1 1 0   100% 0 0   0%
src/debputy/maintscript_snippet.py SnippetResolver.snippet   100% 1 0 0   100% 0 0   100%
src/debputy/maintscript_snippet.py SnippetResolver.lazy_snippet_no_manifest_substitution   0% 1 1 0   100% 0 0   0%
src/debputy/maintscript_snippet.py SnippetResolver.lazy_snippet   0% 1 1 0   100% 0 0   0%
src/debputy/maintscript_snippet.py ConstantSnippetResolver.__init__   100% 3 0 0   100% 0 0   100%
src/debputy/maintscript_snippet.py ConstantSnippetResolver.provides_substitution   0% 1 1 0   100% 0 0   0%
src/debputy/maintscript_snippet.py ConstantSnippetResolver._resolve_snippet   80% 5 1 0   50% 2 1   71%
src/debputy/maintscript_snippet.py CachingSnippetResolver.__init__   0% 1 1 0   100% 0 0   0%
src/debputy/maintscript_snippet.py CachingSnippetResolver._resolve_snippet_uncached   100% 0 0 1   100% 0 0   100%
src/debputy/maintscript_snippet.py CachingSnippetResolver._resolve_snippet   0% 6 6 0   0% 2 0   0%
src/debputy/maintscript_snippet.py LazySnippetResolver.__init__   0% 2 2 0   100% 0 0   0%
src/debputy/maintscript_snippet.py LazySnippetResolver._resolve_snippet_uncached   0% 1 1 0   100% 0 0   0%
src/debputy/maintscript_snippet.py SubstitutingSnippetResolver.__init__   0% 4 4 0   100% 0 0   0%
src/debputy/maintscript_snippet.py SubstitutingSnippetResolver._resolve_snippet_uncached   0% 2 2 0   100% 0 0   0%
src/debputy/maintscript_snippet.py UnboundMaintscriptSnippet.script_content   100% 3 0 0   100% 0 0   100%
src/debputy/maintscript_snippet.py MaintscriptSnippetForNamedScript.apply_to_container   0% 1 1 0   100% 0 0   0%
src/debputy/maintscript_snippet.py MaintscriptSnippetForNamedScript.script_content   0% 3 3 0   100% 0 0   0%
src/debputy/maintscript_snippet.py MaintscriptSnippetContainer.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/maintscript_snippet.py MaintscriptSnippetContainer.copy   0% 3 3 0   100% 0 0   0%
src/debputy/maintscript_snippet.py MaintscriptSnippetContainer.append   83% 6 1 0   75% 4 1   80%
src/debputy/maintscript_snippet.py MaintscriptSnippetContainer.all_snippets   0% 4 4 0   0% 4 0   0%
src/debputy/maintscript_snippet.py MaintscriptSnippetContainer.needs_debconf   100% 1 0 0   100% 0 0   100%
src/debputy/maintscript_snippet.py MaintscriptSnippetContainer.generate_snippet   83% 12 2 0   75% 8 2   80%
src/debputy/maintscript_snippet.py PackageMaintscriptSnippetContainer.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/maintscript_snippet.py PackageMaintscriptSnippetContainer.__len__   0% 1 1 0   100% 0 0   0%
src/debputy/maintscript_snippet.py PackageMaintscriptSnippetContainer.__iter__   0% 1 1 0   100% 0 0   0%
src/debputy/maintscript_snippet.py PackageMaintscriptSnippetContainer.__getitem__   89% 9 1 0   50% 2 1   82%
src/debputy/maintscript_snippet.py PackageMaintscriptSnippetContainer.apply_maintainer_provided_snippets   0% 2 2 0   0% 2 0   0%
src/debputy/maintscript_snippet.py DpkgMaintscriptHelperCommand.__init__   100% 3 0 0   100% 0 0   100%
src/debputy/maintscript_snippet.py DpkgMaintscriptHelperCommand._finish_cmd   86% 7 1 0   83% 6 1   85%
src/debputy/maintscript_snippet.py DpkgMaintscriptHelperCommand.rm_conffile   100% 2 0 0   100% 0 0   100%
src/debputy/maintscript_snippet.py DpkgMaintscriptHelperCommand.mv_conffile   100% 2 0 0   100% 0 0   100%
src/debputy/maintscript_snippet.py DpkgMaintscriptHelperCommand.symlink_to_dir   0% 2 2 0   100% 0 0   0%
src/debputy/maintscript_snippet.py DpkgMaintscriptHelperCommand.dir_to_symlink   0% 2 2 0   100% 0 0   0%
src/debputy/maintscript_snippet.py MaintscriptCondition.__init__   0% 5 5 0   0% 2 0   0%
src/debputy/maintscript_snippet.py MaintscriptCondition.maintscript_name   0% 1 1 0   100% 0 0   0%
src/debputy/maintscript_snippet.py MaintscriptCondition.on_purge   0% 2 2 0   100% 0 0   0%
src/debputy/maintscript_snippet.py MaintscriptCondition.on_configure   0% 2 2 0   100% 0 0   0%
src/debputy/maintscript_snippet.py MaintscriptCondition.on_initial_install   0% 2 2 0   100% 0 0   0%
src/debputy/maintscript_snippet.py MaintscriptCondition.on_upgrade   0% 2 2 0   100% 0 0   0%
src/debputy/maintscript_snippet.py MaintscriptCondition.on_upgrade_from   0% 2 2 0   100% 0 0   0%
src/debputy/maintscript_snippet.py MaintscriptCondition.on_before_upgrade   0% 2 2 0   100% 0 0   0%
src/debputy/maintscript_snippet.py MaintscriptCondition.on_before_removal   0% 2 2 0   100% 0 0   0%
src/debputy/maintscript_snippet.py MaintscriptCondition.on_after_removal   0% 2 2 0   100% 0 0   0%
src/debputy/maintscript_snippet.py MaintscriptCondition.on_unconditionally_in_script   0% 1 1 0   100% 0 0   0%
src/debputy/maintscript_snippet.py MaintscriptCondition._apply_condition_to_script   0% 9 9 0   0% 6 0   0%
src/debputy/maintscript_snippet.py MaintscriptCondition._wrap_resolver   0% 2 2 0   100% 0 0   0%
src/debputy/maintscript_snippet.py MaintscriptCondition._wrap_resolver._wrap   0% 2 2 0   100% 0 0   0%
src/debputy/maintscript_snippet.py MaintscriptCondition.as_maintscript_snippet   0% 1 1 0   100% 0 0   0%
src/debputy/maintscript_snippet.py (no function)   100% 114 0 4   100% 0 0   100%
src/debputy/manifest_conditions.py ConditionContext.replace   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_conditions.py ManifestCondition.describe   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_conditions.py ManifestCondition.negated   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py ManifestCondition.evaluate   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_conditions.py ManifestCondition._manifest_group   75% 4 1 0   50% 2 1   67%
src/debputy/manifest_conditions.py ManifestCondition.any_of   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py ManifestCondition.all_of   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_conditions.py ManifestCondition.is_cross_building   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py ManifestCondition.can_execute_compiled_binaries   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py ManifestCondition.run_build_time_tests   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py ManifestCondition.literal_bool   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_conditions.py LiteralManifestCondition.negated   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py LiteralManifestCondition.describe   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py LiteralManifestCondition.evaluate   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py NegatedManifestCondition.__init__   0% 2 2 0   100% 0 0   0%
src/debputy/manifest_conditions.py NegatedManifestCondition.negated   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py NegatedManifestCondition.describe   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py NegatedManifestCondition.evaluate   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py _ConditionGroupMatchType.describe   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py _ConditionGroupMatchType.evaluate   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py ManifestConditionGroup.__init__   100% 3 0 0   100% 0 0   100%
src/debputy/manifest_conditions.py ManifestConditionGroup.describe   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py ManifestConditionGroup.evaluate   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py ManifestConditionGroup.extend   0% 3 3 0   100% 0 0   0%
src/debputy/manifest_conditions.py ArchMatchManifestConditionBase.__init__   100% 3 0 0   100% 0 0   100%
src/debputy/manifest_conditions.py ArchMatchManifestConditionBase.negated   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py SourceContextArchMatchManifestCondition.describe   0% 3 3 0   100% 0 0   0%
src/debputy/manifest_conditions.py SourceContextArchMatchManifestCondition.evaluate   0% 3 3 0   100% 0 0   0%
src/debputy/manifest_conditions.py BinaryPackageContextArchMatchManifestCondition.describe   0% 3 3 0   100% 0 0   0%
src/debputy/manifest_conditions.py BinaryPackageContextArchMatchManifestCondition.evaluate   83% 6 1 0   50% 2 1   75%
src/debputy/manifest_conditions.py BuildProfileMatch.__init__   100% 3 0 0   100% 0 0   100%
src/debputy/manifest_conditions.py BuildProfileMatch.negated   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py BuildProfileMatch.describe   0% 2 2 0   100% 0 0   0%
src/debputy/manifest_conditions.py BuildProfileMatch.evaluate   100% 2 0 0   100% 0 0   100%
src/debputy/manifest_conditions.py _SingletonCondition.describe   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py _SingletonCondition.evaluate   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_conditions.py _can_run_built_binaries   0% 3 3 0   0% 2 0   0%
src/debputy/manifest_conditions.py _run_build_time_tests   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_conditions.py (no function)   100% 86 0 2   100% 0 0   100%
src/debputy/manifest_parser/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/manifest_parser/base_types.py _parse_ownership   73% 15 4 0   67% 12 4   70%
src/debputy/manifest_parser/base_types.py _load_ownership_table_from_file   100% 9 0 0   100% 2 0   100%
src/debputy/manifest_parser/base_types.py _read_ownership_def_from_base_password_template   100% 6 0 0   100% 4 0   100%
src/debputy/manifest_parser/base_types.py FileSystemMode.parse_filesystem_mode   100% 3 0 0   100% 2 0   100%
src/debputy/manifest_parser/base_types.py FileSystemMode.compute_mode   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/base_types.py SymbolicMode.parse_filesystem_mode   100% 2 0 0   100% 0 0   100%
src/debputy/manifest_parser/base_types.py SymbolicMode.__str__   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/base_types.py SymbolicMode.is_symbolic_mode   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_parser/base_types.py SymbolicMode.symbolic_mode   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/base_types.py SymbolicMode.compute_mode   100% 4 0 0   100% 2 0   100%
src/debputy/manifest_parser/base_types.py OctalMode.parse_filesystem_mode   50% 6 3 0   100% 0 0   50%
src/debputy/manifest_parser/base_types.py OctalMode.is_octal_mode   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_parser/base_types.py OctalMode.compute_mode   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/base_types.py OctalMode.__str__   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_parser/base_types.py _StaticFileSystemOwnerGroup.entity_name   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_parser/base_types.py _StaticFileSystemOwnerGroup.entity_id   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_parser/base_types.py _StaticFileSystemOwnerGroup.from_manifest_value   80% 5 1 0   50% 2 1   71%
src/debputy/manifest_parser/base_types.py _StaticFileSystemOwnerGroup._resolve   74% 19 5 0   70% 10 3   72%
src/debputy/manifest_parser/base_types.py _StaticFileSystemOwnerGroup._owner_type   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/base_types.py _StaticFileSystemOwnerGroup._ownership_table_name   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/base_types.py StaticFileSystemOwner._owner_type   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_parser/base_types.py StaticFileSystemOwner._ownership_table_name   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/base_types.py StaticFileSystemGroup._owner_type   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_parser/base_types.py StaticFileSystemGroup._ownership_table_name   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/base_types.py SymlinkTarget.parse_symlink_target   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/base_types.py FileSystemMatchRule.raw_match_rule   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/base_types.py FileSystemMatchRule.attribute_path   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/base_types.py FileSystemMatchRule.match_rule   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/base_types.py FileSystemMatchRule.parse_path_match   100% 4 0 0   100% 2 0   100%
src/debputy/manifest_parser/base_types.py FileSystemMatchRule.from_path_match   71% 7 2 0   100% 2 0   78%
src/debputy/manifest_parser/base_types.py FileSystemExactMatchRule.from_path_match   80% 10 2 0   50% 4 2   71%
src/debputy/manifest_parser/base_types.py DpkgBuildflagsCache.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/base_types.py DpkgBuildflagsCache.run_dpkg_buildflags   52% 29 14 0   38% 16 2   47%
src/debputy/manifest_parser/base_types.py BuildEnvironmentDefinition.dpkg_buildflags_env   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/base_types.py BuildEnvironmentDefinition.log_computed_env   0% 3 3 0   0% 2 0   0%
src/debputy/manifest_parser/base_types.py BuildEnvironmentDefinition.update_env   0% 4 4 0   0% 2 0   0%
src/debputy/manifest_parser/base_types.py BuildEnvironments.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/manifest_parser/base_types.py (no function)   100% 103 0 10   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py _detect_possible_typo   0% 36 36 0   0% 20 0   0%
src/debputy/manifest_parser/declarative_parser.py AttributeTypeHandler.__init__   100% 4 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py AttributeTypeHandler.describe_type   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py AttributeTypeHandler.ensure_type   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py AttributeTypeHandler.base_type_match   100% 2 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py AttributeTypeHandler.map_type   100% 4 0 0   100% 2 0   100%
src/debputy/manifest_parser/declarative_parser.py AttributeTypeHandler.combine_mapper   100% 7 0 0   100% 4 0   100%
src/debputy/manifest_parser/declarative_parser.py AttributeTypeHandler.combine_mapper._combined_mapper   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py _extract_path_hint   89% 9 1 0   83% 6 1   87%
src/debputy/manifest_parser/declarative_parser.py DeclarativeNonMappingInputParser.parse_input   76% 17 4 0   50% 6 1   70%
src/debputy/manifest_parser/declarative_parser.py DeclarativeMappingInputParser._parse_alt_form   91% 11 1 0   50% 2 1   85%
src/debputy/manifest_parser/declarative_parser.py DeclarativeMappingInputParser._validate_expected_keys   55% 31 14 0   55% 22 4   55%
src/debputy/manifest_parser/declarative_parser.py DeclarativeMappingInputParser._parse_typed_dict_form   88% 26 3 0   86% 14 2   88%
src/debputy/manifest_parser/declarative_parser.py DeclarativeMappingInputParser._doc_url_error_suffix   83% 6 1 0   75% 4 1   80%
src/debputy/manifest_parser/declarative_parser.py DeclarativeMappingInputParser.parse_input   50% 10 5 0   50% 6 1   50%
src/debputy/manifest_parser/declarative_parser.py DeclarativeMappingInputParser._per_attribute_conflicts   100% 7 0 0   100% 2 0   100%
src/debputy/manifest_parser/declarative_parser.py _is_path_attribute_candidate   100% 8 0 0   100% 4 0   100%
src/debputy/manifest_parser/declarative_parser.py is_typeddict   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator.__init__   100% 4 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator.register_mapped_type   75% 4 1 0   50% 2 1   67%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator.get_mapped_type_from_target_type   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator.discard_mapped_type   0% 1 1 0   100% 0 0   0%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator.add_table_parser   100% 2 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator.add_object_parser   100% 5 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator.add_in_package_context_parser   0% 3 3 0   100% 0 0   0%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator.dispatchable_table_parsers   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator.dispatchable_object_parsers   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator.dispatch_parser_table_for   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator.generate_parser   89% 92 10 0   80% 46 9   86%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator.generate_parser._as_attr_names   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator._as_type_validator   87% 84 11 0   75% 44 9   83%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator._as_type_validator._validator   0% 3 3 0   0% 2 0   0%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator._as_type_validator._validator   100% 2 0 0   100% 2 0   100%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator._as_type_validator._validator   100% 4 0 0   100% 4 0   100%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator._as_type_validator._validator   67% 9 3 0   67% 6 2   67%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator._as_type_validator._validator   100% 3 0 0   100% 2 0   100%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator._as_type_validator._validator   100% 5 0 0   100% 4 0   100%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator._parse_types   100% 2 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator._attribute_description   100% 4 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator._parse_alt_form   100% 4 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator._union_narrowing   76% 33 8 0   65% 20 5   72%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator._union_narrowing._mapper_x_list_y   100% 2 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator._union_narrowing._mapper_mixed_list_y   0% 2 2 0   100% 0 0   0%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator._type_normalize   91% 22 2 0   78% 18 4   85%
src/debputy/manifest_parser/declarative_parser.py ParserGenerator._strip_mapped_types   100% 14 0 0   100% 10 0   100%
src/debputy/manifest_parser/declarative_parser.py _sort_key   0% 2 2 0   100% 0 0   0%
src/debputy/manifest_parser/declarative_parser.py _apply_std_docs   7% 30 28 0   6% 18 1   6%
src/debputy/manifest_parser/declarative_parser.py _verify_and_auto_correct_inline_reference_documentation   61% 36 14 0   62% 26 6   61%
src/debputy/manifest_parser/declarative_parser.py _check_conflicts   50% 12 6 0   62% 8 3   55%
src/debputy/manifest_parser/declarative_parser.py _check_attributes   86% 14 2 0   67% 6 2   80%
src/debputy/manifest_parser/declarative_parser.py _validation_type_error   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py _is_two_arg_x_list_x   92% 12 1 0   88% 8 1   90%
src/debputy/manifest_parser/declarative_parser.py _extract_typed_dict   63% 30 11 0   61% 18 7   62%
src/debputy/manifest_parser/declarative_parser.py _dispatch_parse_generator   100% 2 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py _dispatch_parse_generator._dispatch_parse   100% 3 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py _dispatch_parser   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py _parse_type   85% 13 2 0   75% 8 2   81%
src/debputy/manifest_parser/declarative_parser.py _normalize_attribute_name   100% 3 0 0   100% 2 0   100%
src/debputy/manifest_parser/declarative_parser.py DetectedDebputyParseHint.parse_annotations   78% 32 7 0   65% 20 3   73%
src/debputy/manifest_parser/declarative_parser.py _source_attribute_allowed   67% 3 1 0   50% 2 1   60%
src/debputy/manifest_parser/declarative_parser.py _handle_str_enum   100% 4 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py _handle_str_enum._validator   100% 11 0 0   100% 4 0   100%
src/debputy/manifest_parser/declarative_parser.py _handle_str_enum._mapper   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/declarative_parser.py (no function)   100% 101 0 2   100% 0 0   100%
src/debputy/manifest_parser/exceptions.py (no function)   100% 9 0 0   100% 0 0   100%
src/debputy/manifest_parser/mapper_code.py _pkg_selector_arch   0% 3 3 0   0% 2 0   0%
src/debputy/manifest_parser/mapper_code.py type_mapper_str2package   73% 15 4 0   75% 8 2   74%
src/debputy/manifest_parser/mapper_code.py PackageSelector.parse   0% 15 15 0   0% 6 0   0%
src/debputy/manifest_parser/mapper_code.py wrap_into_list   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/mapper_code.py normalize_into_list   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/mapper_code.py map_each_element   100% 2 0 0   100% 0 0   100%
src/debputy/manifest_parser/mapper_code.py map_each_element._generated_mapper   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/mapper_code.py (no function)   100% 20 0 3   100% 0 0   100%
src/debputy/manifest_parser/parse_hints.py DebputyParseHint.target_attribute   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/parse_hints.py DebputyParseHint.conflicts_with_source_attributes   67% 3 1 0   50% 2 1   60%
src/debputy/manifest_parser/parse_hints.py DebputyParseHint.required_when_single_binary   0% 5 5 0   0% 2 0   0%
src/debputy/manifest_parser/parse_hints.py DebputyParseHint.required_when_multi_binary   100% 5 0 0   100% 2 0   100%
src/debputy/manifest_parser/parse_hints.py DebputyParseHint.manifest_attribute   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/parse_hints.py DebputyParseHint.not_path_error_hint   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/parse_hints.py ConditionalRequired.condition_applies   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/parse_hints.py (no function)   100% 29 0 2   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py ParserContextData.source_package   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py ParserContextData.binary_packages   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py ParserContextData._package_states   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py ParserContextData.is_single_binary_package   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py ParserContextData.single_binary_package   38% 8 5 0   17% 6 1   29%
src/debputy/manifest_parser/parser_data.py ParserContextData._error   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py ParserContextData.is_known_package   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py ParserContextData.binary_package_data   67% 3 1 0   50% 2 1   60%
src/debputy/manifest_parser/parser_data.py ParserContextData.dpkg_architecture_variables   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py ParserContextData.dpkg_arch_query_table   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py ParserContextData.deb_options_and_profiles   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py ParserContextData.binary_package_context   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py ParserContextData.substitution   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py ParserContextData.current_binary_package_state   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py ParserContextData.is_in_binary_package_state   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py ParserContextData.dispatch_parser_table_for   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py ParserContextData.debputy_integration_mode   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py ParserContextData.resolve_build_environment   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py ParserContextData._ensure_package_states_is_initialized   100% 0 0 1   100% 0 0   100%
src/debputy/manifest_parser/parser_data.py (no function)   100% 46 0 15   100% 0 0   100%
src/debputy/manifest_parser/parser_doc.py _provide_placeholder_parser_doc   62% 8 3 0   50% 6 3   57%
src/debputy/manifest_parser/parser_doc.py doc_args_for_parser_doc   100% 8 0 0   75% 4 1   92%
src/debputy/manifest_parser/parser_doc.py render_attribute_doc   54% 39 18 0   42% 24 2   49%
src/debputy/manifest_parser/parser_doc.py _render_template   25% 8 6 0   100% 0 0   25%
src/debputy/manifest_parser/parser_doc.py _render_integration_mode   90% 10 1 0   88% 8 1   89%
src/debputy/manifest_parser/parser_doc.py render_rule   86% 87 12 0   76% 54 11   82%
src/debputy/manifest_parser/parser_doc.py render_multiline_documentation   0% 12 12 0   0% 6 0   0%
src/debputy/manifest_parser/parser_doc.py _render_type_example   0% 9 9 0   0% 2 0   0%
src/debputy/manifest_parser/parser_doc.py render_source_type   0% 10 10 0   0% 4 0   0%
src/debputy/manifest_parser/parser_doc.py render_type_mapping   0% 29 29 0   0% 12 0   0%
src/debputy/manifest_parser/parser_doc.py _render_value   0% 3 3 0   0% 2 0   0%
src/debputy/manifest_parser/parser_doc.py (no function)   100% 24 0 0   100% 0 0   100%
src/debputy/manifest_parser/tagging_types.py DebputyDispatchableType.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/tagging_types.py TypeMapping.with_mapper_as_lint_validator   100% 2 0 0   100% 0 0   100%
src/debputy/manifest_parser/tagging_types.py TypeMapping.with_mapper_as_lint_validator._lint_validator   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/tagging_types.py (no function)   100% 13 0 3   100% 0 0   100%
src/debputy/manifest_parser/util.py AttributePath.__init__   100% 0 0 0   100% 0 0   100%
src/debputy/manifest_parser/util.py AttributePath.__init__   100% 0 0 0   100% 0 0   100%
src/debputy/manifest_parser/util.py AttributePath.__init__   100% 5 0 0   100% 0 0   100%
src/debputy/manifest_parser/util.py AttributePath.root_path   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/util.py AttributePath.builtin_path   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/util.py AttributePath.test_path   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/util.py AttributePath.highlighted_range   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/util.py AttributePath.copy_with_path_hint   0% 3 3 0   100% 0 0   0%
src/debputy/manifest_parser/util.py AttributePath.path_segments   100% 2 0 0   100% 2 0   100%
src/debputy/manifest_parser/util.py AttributePath._resolve_path   89% 37 4 0   91% 22 2   90%
src/debputy/manifest_parser/util.py AttributePath.path_container_lc   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/util.py AttributePath.path_key_lc   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/util.py AttributePath.path   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/util.py AttributePath.__str__   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/util.py AttributePath.__getitem__   100% 15 0 0   100% 8 0   100%
src/debputy/manifest_parser/util.py AttributePath._iter_path   100% 5 0 0   100% 4 0   100%
src/debputy/manifest_parser/util.py check_integration_mode   80% 5 1 1   75% 4 1   78%
src/debputy/manifest_parser/util.py _SymbolicModeSegment.apply   100% 6 0 0   100% 2 0   100%
src/debputy/manifest_parser/util.py _symbolic_mode_bit_inverse   100% 1 0 0   100% 0 0   100%
src/debputy/manifest_parser/util.py parse_symbolic_mode   88% 81 10 1   78% 40 7   84%
src/debputy/manifest_parser/util.py unpack_type   87% 15 2 0   75% 8 2   83%
src/debputy/manifest_parser/util.py find_annotation   86% 7 1 0   83% 6 1   85%
src/debputy/manifest_parser/util.py (no function)   100% 45 0 4   50% 4 2   96%
src/debputy/package_build/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/package_build/assemble_deb.py _serialize_intermediate_manifest   0% 2 2 0   100% 0 0   0%
src/debputy/package_build/assemble_deb.py determine_assembly_method   0% 21 21 0   0% 14 0   0%
src/debputy/package_build/assemble_deb.py assemble_debs   0% 28 28 0   0% 8 0   0%
src/debputy/package_build/assemble_deb.py _assemble_deb   0% 37 37 0   0% 16 0   0%
src/debputy/package_build/assemble_deb.py (no function)   100% 19 0 0   100% 0 0   100%
src/debputy/packager_provided_files.py PackagerProvidedFile.compute_dest   100% 1 0 0   100% 0 0   100%
src/debputy/packager_provided_files.py _find_package_name_prefix   91% 22 2 0   92% 12 1   91%
src/debputy/packager_provided_files.py _iterate_stem_splits   100% 9 0 0   100% 2 0   100%
src/debputy/packager_provided_files.py _find_definition   100% 17 0 0   100% 12 0   100%
src/debputy/packager_provided_files.py _check_mismatches   57% 7 3 0   62% 8 3   60%
src/debputy/packager_provided_files.py _split_basename   62% 21 8 0   70% 10 3   65%
src/debputy/packager_provided_files.py _split_path   84% 56 9 0   76% 38 7   81%
src/debputy/packager_provided_files.py _period_stem   100% 9 0 0   100% 4 0   100%
src/debputy/packager_provided_files.py _find_main_package_name   60% 5 2 0   50% 2 1   57%
src/debputy/packager_provided_files.py classify_debian_packaging_files   97% 35 1 0   95% 20 1   96%
src/debputy/packager_provided_files.py detect_all_packager_provided_files   100% 14 0 0   100% 10 0   100%
src/debputy/packager_provided_files.py (no function)   100% 32 0 2   100% 0 0   100%
src/debputy/packages.py DctrlParser.__init__   82% 17 3 0   62% 8 3   76%
src/debputy/packages.py DctrlParser.parse_source_debian_control   100% 0 0 0   100% 0 0   100%
src/debputy/packages.py DctrlParser.parse_source_debian_control   100% 0 0 0   100% 0 0   100%
src/debputy/packages.py DctrlParser.parse_source_debian_control   76% 34 8 0   79% 24 3   78%
src/debputy/packages.py _check_package_sets   0% 5 5 0   0% 2 0   0%
src/debputy/packages.py _create_binary_package   58% 26 11 0   64% 14 5   60%
src/debputy/packages.py _check_binary_arch   100% 7 0 0   100% 6 0   100%
src/debputy/packages.py BinaryPackage.__init__   100% 7 0 0   100% 0 0   100%
src/debputy/packages.py BinaryPackage.name   100% 1 0 0   100% 0 0   100%
src/debputy/packages.py BinaryPackage.archive_section   75% 4 1 0   50% 2 1   67%
src/debputy/packages.py BinaryPackage.archive_component   0% 7 7 0   0% 4 0   0%
src/debputy/packages.py BinaryPackage.is_essential   100% 1 0 0   100% 0 0   100%
src/debputy/packages.py BinaryPackage.is_udeb   100% 1 0 0   100% 0 0   100%
src/debputy/packages.py BinaryPackage.should_be_acted_on   100% 1 0 0   100% 0 0   100%
src/debputy/packages.py BinaryPackage.fields   100% 1 0 0   100% 0 0   100%
src/debputy/packages.py BinaryPackage.resolved_architecture   83% 6 1 0   75% 4 1   80%
src/debputy/packages.py BinaryPackage.package_deb_architecture_variable   67% 3 1 0   50% 2 1   60%
src/debputy/packages.py BinaryPackage.deb_multiarch   100% 1 0 0   100% 0 0   100%
src/debputy/packages.py BinaryPackage._x_dh_build_for_type   75% 4 1 0   50% 2 1   67%
src/debputy/packages.py BinaryPackage.package_type   60% 5 2 0   100% 0 0   60%
src/debputy/packages.py BinaryPackage.is_main_package   100% 1 0 0   100% 0 0   100%
src/debputy/packages.py BinaryPackage.cross_command   0% 8 8 0   0% 6 0   0%
src/debputy/packages.py BinaryPackage.declared_architecture   100% 1 0 0   100% 0 0   100%
src/debputy/packages.py BinaryPackage.is_arch_all   100% 1 0 0   100% 0 0   100%
src/debputy/packages.py SourcePackage.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/packages.py SourcePackage.fields   100% 1 0 0   100% 0 0   100%
src/debputy/packages.py SourcePackage.name   0% 1 1 0   100% 0 0   0%
src/debputy/packages.py (no function)   100% 58 0 0   50% 4 2   97%
src/debputy/packaging/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/packaging/alternatives.py process_alternatives   78% 9 2 0   67% 6 2   73%
src/debputy/packaging/alternatives.py process_alternative   85% 40 6 0   64% 22 8   77%
src/debputy/packaging/alternatives.py parse_dependent_link   67% 9 3 0   50% 6 3   60%
src/debputy/packaging/alternatives.py _mandatory_key   50% 4 2 0   100% 0 0   50%
src/debputy/packaging/alternatives.py (no function)   100% 17 0 0   100% 0 0   100%
src/debputy/packaging/debconf_templates.py process_debconf_templates   0% 19 19 0   0% 6 0   0%
src/debputy/packaging/debconf_templates.py (no function)   100% 12 0 0   100% 0 0   100%
src/debputy/packaging/makeshlibs.py ShlibsContent.__init__   0% 3 3 0   100% 0 0   0%
src/debputy/packaging/makeshlibs.py ShlibsContent.add_library   0% 11 11 0   0% 6 0   0%
src/debputy/packaging/makeshlibs.py ShlibsContent.__bool__   0% 1 1 0   100% 0 0   0%
src/debputy/packaging/makeshlibs.py ShlibsContent.add_entries_from_shlibs_file   0% 16 16 0   0% 12 0   0%
src/debputy/packaging/makeshlibs.py ShlibsContent.write_to   0% 2 2 0   100% 0 0   0%
src/debputy/packaging/makeshlibs.py extract_so_name   0% 12 12 0   0% 6 0   0%
src/debputy/packaging/makeshlibs.py extract_soname_info   0% 8 8 0   0% 4 0   0%
src/debputy/packaging/makeshlibs.py _compute_shlibs_content   0% 21 21 0   0% 8 0   0%
src/debputy/packaging/makeshlibs.py resolve_reserved_provided_file   86% 7 1 0   75% 4 1   82%
src/debputy/packaging/makeshlibs.py generate_shlib_dirs   0% 32 32 0   0% 18 0   0%
src/debputy/packaging/makeshlibs.py compute_shlibs   0% 41 41 0   0% 16 0   0%
src/debputy/packaging/makeshlibs.py (no function)   100% 35 0 2   100% 0 0   100%
src/debputy/path_matcher.py _lookup_path   60% 5 2 0   50% 4 2   56%
src/debputy/path_matcher.py _compile_basename_glob   100% 18 0 0   100% 8 0   100%
src/debputy/path_matcher.py _apply_match   0% 5 5 0   0% 4 0   0%
src/debputy/path_matcher.py MatchRule.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/path_matcher.py MatchRule.rule_type   0% 1 1 0   100% 0 0   0%
src/debputy/path_matcher.py MatchRule.finditer   100% 0 0 1   100% 0 0   100%
src/debputy/path_matcher.py MatchRule._full_pattern   100% 0 0 1   100% 0 0   100%
src/debputy/path_matcher.py MatchRule.path_type   0% 1 1 0   100% 0 0   0%
src/debputy/path_matcher.py MatchRule.describe_match_short   100% 1 0 0   100% 0 0   100%
src/debputy/path_matcher.py MatchRule.describe_match_exact   100% 0 0 1   100% 0 0   100%
src/debputy/path_matcher.py MatchRule.shell_escape_pattern   100% 1 0 0   100% 0 0   100%
src/debputy/path_matcher.py MatchRule.recursive_beneath_directory   75% 4 1 0   50% 2 1   67%
src/debputy/path_matcher.py MatchRule.from_path_or_glob   80% 25 5 0   86% 14 2   82%
src/debputy/path_matcher.py _match_file_type   75% 8 2 0   67% 6 2   71%
src/debputy/path_matcher.py MatchAnything.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/path_matcher.py MatchAnything._full_pattern   0% 1 1 0   100% 0 0   0%
src/debputy/path_matcher.py MatchAnything.finditer   100% 3 0 0   100% 2 0   100%
src/debputy/path_matcher.py MatchAnything.describe_match_exact   0% 1 1 0   100% 0 0   0%
src/debputy/path_matcher.py ExactFileSystemPath.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/path_matcher.py ExactFileSystemPath._full_pattern   100% 1 0 0   100% 0 0   100%
src/debputy/path_matcher.py ExactFileSystemPath.finditer   100% 3 0 0   100% 2 0   100%
src/debputy/path_matcher.py ExactFileSystemPath.describe_match_exact   100% 1 0 0   100% 0 0   100%
src/debputy/path_matcher.py ExactFileSystemPath.path   100% 1 0 0   100% 0 0   100%
src/debputy/path_matcher.py ExactFileSystemPath.shell_escape_pattern   100% 1 0 0   100% 0 0   100%
src/debputy/path_matcher.py DirectoryBasedMatch.__init__   100% 5 0 0   100% 0 0   100%
src/debputy/path_matcher.py DirectoryBasedMatch._full_pattern   0% 1 1 0   100% 0 0   0%
src/debputy/path_matcher.py DirectoryBasedMatch.finditer   91% 11 1 0   88% 8 1   89%
src/debputy/path_matcher.py DirectoryBasedMatch.describe_match_short   0% 4 4 0   0% 2 0   0%
src/debputy/path_matcher.py DirectoryBasedMatch.describe_match_exact   0% 3 3 0   0% 2 0   0%
src/debputy/path_matcher.py DirectoryBasedMatch.path_type   0% 1 1 0   100% 0 0   0%
src/debputy/path_matcher.py DirectoryBasedMatch.directory   100% 1 0 0   100% 0 0   100%
src/debputy/path_matcher.py DirectoryBasedMatch.shell_escape_pattern   67% 3 1 0   50% 2 1   60%
src/debputy/path_matcher.py BasenameGlobMatch.__init__   91% 11 1 0   50% 2 1   85%
src/debputy/path_matcher.py BasenameGlobMatch._full_pattern   0% 4 4 0   0% 2 0   0%
src/debputy/path_matcher.py BasenameGlobMatch.finditer   100% 12 0 0   100% 8 0   100%
src/debputy/path_matcher.py BasenameGlobMatch.describe_match_short   0% 2 2 0   100% 0 0   0%
src/debputy/path_matcher.py BasenameGlobMatch.describe_match_exact   0% 3 3 0   0% 2 0   0%
src/debputy/path_matcher.py BasenameGlobMatch.__eq__   0% 3 3 0   0% 2 0   0%
src/debputy/path_matcher.py BasenameGlobMatch.path_type   0% 1 1 0   100% 0 0   0%
src/debputy/path_matcher.py BasenameGlobMatch.directory   100% 1 0 0   100% 0 0   100%
src/debputy/path_matcher.py BasenameGlobMatch.shell_escape_pattern   100% 3 0 0   100% 2 0   100%
src/debputy/path_matcher.py GenericGlobImplementation.__init__   100% 9 0 0   50% 2 1   91%
src/debputy/path_matcher.py GenericGlobImplementation._full_pattern   0% 1 1 0   100% 0 0   0%
src/debputy/path_matcher.py GenericGlobImplementation.finditer   0% 13 13 0   0% 10 0   0%
src/debputy/path_matcher.py GenericGlobImplementation.describe_match_short   0% 2 2 0   100% 0 0   0%
src/debputy/path_matcher.py GenericGlobImplementation.describe_match_exact   0% 1 1 0   100% 0 0   0%
src/debputy/path_matcher.py GenericGlobImplementation._compile_glob   100% 2 0 0   100% 0 0   100%
src/debputy/path_matcher.py GenericGlobImplementation.__eq__   0% 3 3 0   0% 2 0   0%
src/debputy/path_matcher.py GenericGlobImplementation.path_type   0% 1 1 0   100% 0 0   0%
src/debputy/path_matcher.py (no function)   100% 94 0 3   100% 0 0   100%
src/debputy/plugin/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/plugin/api/__init__.py (no function)   100% 3 0 0   100% 0 0   100%
src/debputy/plugin/api/doc_parsing.py _unique   88% 8 1 0   75% 4 1   83%
src/debputy/plugin/api/doc_parsing.py DebputyParsedDoc.from_ref_data   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/doc_parsing.py parser_type_name   100% 3 0 0   100% 2 0   100%
src/debputy/plugin/api/doc_parsing.py (no function)   100% 19 0 0   100% 0 0   100%
src/debputy/plugin/api/example_processing.py DiscardVerdict.message   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/example_processing.py DiscardVerdict.is_consistent   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/example_processing.py DiscardVerdict.is_discarded   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/example_processing.py DiscardVerdict.is_kept   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/example_processing.py process_discard_rule_example   100% 31 0 0   100% 16 0   100%
src/debputy/plugin/api/example_processing.py (no function)   100% 25 0 0   100% 0 0   100%
src/debputy/plugin/api/experimental.py ExperimentalDebputyPluginDefinition.package_processor   75% 4 1 0   50% 2 1   67%
src/debputy/plugin/api/experimental.py ExperimentalDebputyPluginDefinition.package_processor._decorate   100% 4 0 0   100% 0 0   100%
src/debputy/plugin/api/experimental.py ExperimentalDebputyPluginDefinition.package_processor._decorate._init   0% 2 2 0   100% 0 0   0%
src/debputy/plugin/api/experimental.py ExperimentalDebputyPluginDefinition.initialize   0% 7 7 0   0% 4 0   0%
src/debputy/plugin/api/experimental.py define_debputy_plugin_experimental_api   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/experimental.py (no function)   100% 9 0 0   100% 0 0   100%
src/debputy/plugin/api/feature_set.py _initialize_parser_generator   100% 6 0 0   100% 4 0   100%
src/debputy/plugin/api/feature_set.py PluginProvidedFeatureSet.package_processors_in_order   0% 8 8 0   0% 4 0   0%
src/debputy/plugin/api/feature_set.py (no function)   100% 22 0 0   100% 0 0   100%
src/debputy/plugin/api/impl.py _validate_known_packaging_file_dh_compat_rules   14% 22 19 0   6% 18 1   10%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.__init__   100% 9 0 0   100% 0 0   100%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.plugin_metadata   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.unload_plugin   0% 4 4 0   0% 4 0   0%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.load_plugin   81% 16 3 0   50% 6 3   73%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider._resolve_docs   69% 26 8 0   100% 4 0   73%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider._pluggable_manifest_docs_for   90% 10 1 0   83% 6 1   88%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.packager_provided_file   72% 25 7 0   61% 18 7   67%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.packager_provided_file._unload   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.metadata_or_maintscript_detector   89% 9 1 0   75% 4 1   85%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.metadata_or_maintscript_detector._unload   0% 2 2 0   0% 2 0   0%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.document_builtin_variable   89% 9 1 0   50% 2 1   82%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.document_builtin_variable._unload   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.manifest_variable_provider   93% 15 1 0   75% 4 1   89%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.manifest_variable_provider._value_resolver_generator   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.manifest_variable_provider._value_resolver_generator._value_resolver   62% 8 3 0   50% 4 2   58%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.manifest_variable_provider._unload   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider._check_variable_name   96% 23 1 0   93% 14 1   95%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.package_processor   65% 23 8 0   50% 12 4   60%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.package_processor._unload   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.automatic_discard_rule   67% 12 4 0   25% 4 1   56%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.automatic_discard_rule._unload   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.service_provider   64% 11 4 0   25% 4 1   53%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.service_provider._unload   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.manifest_variable   100% 12 0 0   100% 2 0   100%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.manifest_variable._unload   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider._plugin_name   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.provide_manifest_keyword   80% 10 2 0   50% 2 1   75%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.provide_manifest_keyword._unload   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.pluggable_object_parser   72% 18 5 0   50% 8 4   65%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.pluggable_object_parser._unload   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.pluggable_manifest_rule   77% 35 8 0   67% 18 6   74%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.pluggable_manifest_rule._registering_handler   71% 7 2 1   75% 4 1   73%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.pluggable_manifest_rule._unload   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.register_build_system   83% 12 2 0   50% 4 2   75%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider._auto_detectable_build_system   60% 15 6 0   33% 6 2   52%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider._auto_detectable_build_system.impl   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider._auto_detectable_build_system._unload   0% 4 4 0   100% 0 0   0%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.known_packaging_files   53% 32 15 0   28% 18 5   44%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.known_packaging_files._unload   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider.register_mapped_type   67% 12 4 0   25% 4 1   56%
src/debputy/plugin/api/impl.py DebputyPluginInitializerProvider._restricted_api   50% 2 1 0   50% 2 1   50%
src/debputy/plugin/api/impl.py MaintscriptAccessorProviderBase._append_script   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/impl.py MaintscriptAccessorProviderBase._apply_condition_to_script   0% 9 9 0   0% 6 0   0%
src/debputy/plugin/api/impl.py MaintscriptAccessorProviderBase.on_configure   75% 4 1 0   50% 2 1   67%
src/debputy/plugin/api/impl.py MaintscriptAccessorProviderBase.on_initial_install   0% 2 2 0   100% 0 0   0%
src/debputy/plugin/api/impl.py MaintscriptAccessorProviderBase.on_upgrade   0% 2 2 0   100% 0 0   0%
src/debputy/plugin/api/impl.py MaintscriptAccessorProviderBase.on_upgrade_from   0% 2 2 0   100% 0 0   0%
src/debputy/plugin/api/impl.py MaintscriptAccessorProviderBase.on_before_removal   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/impl.py MaintscriptAccessorProviderBase.on_removed   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/impl.py MaintscriptAccessorProviderBase.on_purge   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/impl.py MaintscriptAccessorProviderBase.unconditionally_in_script   67% 3 1 0   50% 2 1   60%
src/debputy/plugin/api/impl.py MaintscriptAccessorProvider.__init__   0% 5 5 0   100% 0 0   0%
src/debputy/plugin/api/impl.py MaintscriptAccessorProvider._append_script   0% 5 5 0   0% 2 0   0%
src/debputy/plugin/api/impl.py BinaryCtrlAccessorProviderBase.__init__   100% 7 0 0   100% 0 0   100%
src/debputy/plugin/api/impl.py BinaryCtrlAccessorProviderBase._create_maintscript_accessor   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/impl.py BinaryCtrlAccessorProviderBase.dpkg_trigger   75% 4 1 0   50% 2 1   67%
src/debputy/plugin/api/impl.py BinaryCtrlAccessorProviderBase.maintscript   100% 5 0 0   100% 2 0   100%
src/debputy/plugin/api/impl.py BinaryCtrlAccessorProviderBase.substvars   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl.py BinaryCtrlAccessorProviderBase.dpkg_shlibdeps   72% 18 5 0   62% 8 3   69%
src/debputy/plugin/api/impl.py BinaryCtrlAccessorProvider.__init__   0% 4 4 0   100% 0 0   0%
src/debputy/plugin/api/impl.py BinaryCtrlAccessorProvider._create_maintscript_accessor   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl.py BinaryCtrlAccessorProviderCreator.__init__   100% 6 0 0   100% 0 0   100%
src/debputy/plugin/api/impl.py BinaryCtrlAccessorProviderCreator.for_plugin   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl.py BinaryCtrlAccessorProviderCreator.generated_triggers   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl.py _resolve_bundled_plugin_docs_path   100% 4 0 0   100% 0 0   100%
src/debputy/plugin/api/impl.py plugin_metadata_for_debputys_own_plugin   100% 5 0 0   100% 2 0   100%
src/debputy/plugin/api/impl.py load_plugin_features   0% 29 29 0   0% 14 0   0%
src/debputy/plugin/api/impl.py find_json_plugin   100% 3 0 0   100% 0 0   100%
src/debputy/plugin/api/impl.py find_related_implementation_files_for_plugin   0% 15 15 0   0% 10 0   0%
src/debputy/plugin/api/impl.py find_tests_for_plugin   0% 15 15 0   0% 8 0   0%
src/debputy/plugin/api/impl.py find_json_plugins   35% 20 13 0   33% 12 4   34%
src/debputy/plugin/api/impl.py _find_all_json_plugins   0% 28 28 0   0% 14 0   0%
src/debputy/plugin/api/impl.py _find_plugin_implementation_file   100% 4 0 0   100% 0 0   100%
src/debputy/plugin/api/impl.py _resolve_module_initializer   64% 33 12 0   50% 18 7   59%
src/debputy/plugin/api/impl.py _json_plugin_loader   92% 48 4 0   79% 24 5   88%
src/debputy/plugin/api/impl.py _json_plugin_loader._initialize_json_provided_known_packaging_files   60% 5 2 0   100% 2 0   71%
src/debputy/plugin/api/impl.py _json_plugin_loader._initialize_json_provided_manifest_vars   67% 9 3 0   100% 2 0   73%
src/debputy/plugin/api/impl.py _json_plugin_loader._initialize_json_provided_ppfs   71% 21 6 0   75% 8 2   72%
src/debputy/plugin/api/impl.py _json_plugin_loader._chain_loader   100% 2 0 0   100% 2 0   100%
src/debputy/plugin/api/impl.py _open   100% 0 0 0   100% 0 0   100%
src/debputy/plugin/api/impl.py _open   100% 1 0 0   50% 2 1   67%
src/debputy/plugin/api/impl.py _open   100% 4 0 0   100% 2 0   100%
src/debputy/plugin/api/impl.py _resolve_json_plugin_docs_path   0% 2 2 0   100% 0 0   0%
src/debputy/plugin/api/impl.py parse_json_plugin_desc   74% 19 5 0   83% 6 1   76%
src/debputy/plugin/api/impl.py ServiceDefinitionImpl.replace   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl.py ServiceRegistryImpl.__init__   0% 3 3 0   100% 0 0   0%
src/debputy/plugin/api/impl.py ServiceRegistryImpl.detected_services   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl.py ServiceRegistryImpl.register_service   0% 8 8 0   0% 6 0   0%
src/debputy/plugin/api/impl.py (no function)   100% 135 0 4   50% 2 1   99%
src/debputy/plugin/api/impl_types.py DebputyPluginMetadata.is_bundled   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl_types.py DebputyPluginMetadata.is_loaded   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DebputyPluginMetadata.is_initialized   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DebputyPluginMetadata.plugin_doc_path   100% 4 0 0   100% 2 0   100%
src/debputy/plugin/api/impl_types.py DebputyPluginMetadata.initialize_plugin   88% 8 1 0   75% 4 1   83%
src/debputy/plugin/api/impl_types.py DebputyPluginMetadata.load_plugin   56% 9 4 0   100% 0 0   56%
src/debputy/plugin/api/impl_types.py PluginProvidedParser.parse   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py PackagerProvidedFileClassSpec.supports_priority   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py PackagerProvidedFileClassSpec.compute_dest   89% 18 2 0   83% 12 2   87%
src/debputy/plugin/api/impl_types.py MetadataOrMaintscriptDetector.applies_to   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py MetadataOrMaintscriptDetector.run_detector   100% 7 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DeclarativeInputParser.inline_reference_documentation   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DeclarativeInputParser.expected_debputy_integration_mode   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DeclarativeInputParser.reference_documentation_url   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DeclarativeInputParser.parse_input   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DelegatingDeclarativeInputParser.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DelegatingDeclarativeInputParser.expected_debputy_integration_mode   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DelegatingDeclarativeInputParser.inline_reference_documentation   100% 4 0 0   100% 2 0   100%
src/debputy/plugin/api/impl_types.py AllowNoneDeclarativeInputParser.parse_input   0% 4 4 0   0% 2 0   0%
src/debputy/plugin/api/impl_types.py ListWrappedDeclarativeInputParser.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py ListWrappedDeclarativeInputParser.expected_debputy_integration_mode   100% 3 0 0   100% 2 0   100%
src/debputy/plugin/api/impl_types.py ListWrappedDeclarativeInputParser._doc_url_error_suffix   67% 6 2 0   50% 4 2   60%
src/debputy/plugin/api/impl_types.py ListWrappedDeclarativeInputParser.parse_input   100% 10 0 0   100% 4 0   100%
src/debputy/plugin/api/impl_types.py DispatchingParserBase.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DispatchingParserBase.unknown_keys_diagnostic_severity   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DispatchingParserBase.is_known_keyword   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DispatchingParserBase.registered_keywords   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DispatchingParserBase.parser_for   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DispatchingParserBase.register_keyword   82% 11 2 0   67% 6 2   76%
src/debputy/plugin/api/impl_types.py DispatchingParserBase.register_keyword._combined_handler   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl_types.py DispatchingParserBase.register_parser   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DispatchingParserBase._add_parser   71% 7 2 0   75% 4 1   73%
src/debputy/plugin/api/impl_types.py DispatchingParserBase._new_parser   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DispatchingParserBase.parse_input   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DispatchingObjectParser.__init__   100% 8 0 0   100% 2 0   100%
src/debputy/plugin/api/impl_types.py DispatchingObjectParser.unknown_keys_diagnostic_severity   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DispatchingObjectParser.expected_debputy_integration_mode   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DispatchingObjectParser.reference_documentation_url   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DispatchingObjectParser.inline_reference_documentation   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DispatchingObjectParser._new_parser   100% 5 0 0   100% 2 0   100%
src/debputy/plugin/api/impl_types.py DispatchingObjectParser.register_child_parser   100% 5 0 0   100% 2 0   100%
src/debputy/plugin/api/impl_types.py DispatchingObjectParser.register_child_parser._handler   100% 3 0 0   50% 2 1   80%
src/debputy/plugin/api/impl_types.py DispatchingObjectParser.parse_input   70% 30 9 0   67% 18 4   69%
src/debputy/plugin/api/impl_types.py InPackageContextParser.__init__   100% 3 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py InPackageContextParser.parse_input   90% 20 2 0   70% 10 3   83%
src/debputy/plugin/api/impl_types.py DispatchingTableParser.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py DispatchingTableParser.parse_input   50% 16 8 0   50% 8 4   50%
src/debputy/plugin/api/impl_types.py DeclarativeValuelessKeywordInputParser.parse_input   0% 6 6 0   0% 4 0   0%
src/debputy/plugin/api/impl_types.py PluginProvidedManifestVariable.is_internal   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py PluginProvidedManifestVariable.is_token   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl_types.py PluginProvidedManifestVariable.resolve   86% 7 1 0   75% 4 1   82%
src/debputy/plugin/api/impl_types.py automatic_discard_rule_example   91% 11 1 0   83% 6 1   88%
src/debputy/plugin/api/impl_types.py PluginProvidedPackageProcessor.applies_to   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py PluginProvidedPackageProcessor.dependency_id   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl_types.py PluginProvidedPackageProcessor.run_package_processor   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py PluginProvidedDiscardRule.should_discard   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py _reference_data_value   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py _implies   0% 5 5 0   0% 4 0   0%
src/debputy/plugin/api/impl_types.py expand_known_packaging_config_features   0% 16 16 0   0% 10 0   0%
src/debputy/plugin/api/impl_types.py BuildSystemAutoDetector.__call__   100% 1 0 0   50% 2 1   67%
src/debputy/plugin/api/impl_types.py PackageDataTable.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py PackageDataTable.__iter__   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl_types.py PackageDataTable.__getitem__   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py PackageDataTable.__contains__   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py PackageProcessingContextProvider.__init__   100% 5 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py PackageProcessingContextProvider._package_state_for   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl_types.py PackageProcessingContextProvider._package_version_for   0% 5 5 0   0% 2 0   0%
src/debputy/plugin/api/impl_types.py PackageProcessingContextProvider.source_package   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl_types.py PackageProcessingContextProvider.binary_package   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py PackageProcessingContextProvider.related_udeb_package   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl_types.py PackageProcessingContextProvider.binary_package_version   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl_types.py PackageProcessingContextProvider.related_udeb_package_version   0% 4 4 0   0% 2 0   0%
src/debputy/plugin/api/impl_types.py PackageProcessingContextProvider.accessible_package_roots   0% 19 19 0   0% 12 0   0%
src/debputy/plugin/api/impl_types.py PackageProcessingContextProvider.manifest_configuration   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py PackageProcessingContextProvider.dpkg_arch_query_table   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py PackageProcessingContextProvider.deb_options_and_profiles   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py PackageProcessingContextProvider.source_condition_context   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl_types.py PackageProcessingContextProvider.condition_context   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/impl_types.py PluginProvidedTrigger.serialized_format   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/impl_types.py (no function)   100% 206 0 10   100% 0 0   100%
src/debputy/plugin/api/parser_tables.py (no function)   100% 14 0 0   100% 0 0   100%
src/debputy/plugin/api/plugin_parser.py _initialize_plugin_metadata_parser_generator   100% 3 0 0   100% 0 0   100%
src/debputy/plugin/api/plugin_parser.py (no function)   100% 15 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py only_integrations   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py not_integrations   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py PackagerProvidedFileReferenceDocumentation.replace   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/spec.py packager_provided_file_reference_documentation   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py PathMetadataReference.is_present   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py PathMetadataReference.can_read   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py PathMetadataReference.can_write   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py PathMetadataReference.value   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py PathMetadataReference.value   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py PathMetadataReference.value   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/spec.py virtual_path_def   80% 15 3 0   79% 14 3   79%
src/debputy/plugin/api/spec.py PackageProcessingContext.source_package   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py PackageProcessingContext.binary_package   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py PackageProcessingContext.binary_package_version   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py PackageProcessingContext.related_udeb_package   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py PackageProcessingContext.related_udeb_package_version   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py PackageProcessingContext.accessible_package_roots   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py PackageProcessingContext.manifest_configuration   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py PackageProcessingContext.dpkg_arch_query_table   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py PackageProcessingContext.deb_options_and_profiles   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py PackageProcessingContext.source_condition_context   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py PackageProcessingContext.condition_context   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py PackageProcessingContext.binary_condition_context   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/spec.py DebputyPluginDefinition.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py DebputyPluginDefinition._name2id   60% 5 2 0   50% 4 2   56%
src/debputy/plugin/api/spec.py DebputyPluginDefinition.metadata_or_maintscript_detector   100% 4 0 0   100% 2 0   100%
src/debputy/plugin/api/spec.py DebputyPluginDefinition.metadata_or_maintscript_detector._decorate   100% 4 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py DebputyPluginDefinition.metadata_or_maintscript_detector._decorate._init   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py DebputyPluginDefinition.manifest_variable   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py DebputyPluginDefinition.manifest_variable._init   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py DebputyPluginDefinition.packager_provided_file   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py DebputyPluginDefinition.packager_provided_file._init   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py DebputyPluginDefinition.initialize   100% 7 0 0   100% 4 0   100%
src/debputy/plugin/api/spec.py define_debputy_plugin   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py DebputyPluginInitializer.packager_provided_file   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py DebputyPluginInitializer.metadata_or_maintscript_detector   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py DebputyPluginInitializer.manifest_variable   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py MaintscriptAccessor.on_configure   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py MaintscriptAccessor.on_initial_install   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py MaintscriptAccessor.on_upgrade   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py MaintscriptAccessor.on_upgrade_from   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py MaintscriptAccessor.on_before_removal   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py MaintscriptAccessor.on_removed   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py MaintscriptAccessor.on_purge   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py MaintscriptAccessor.unconditionally_in_script   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py MaintscriptAccessor.escape_shell_words   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py BinaryCtrlAccessor.dpkg_trigger   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py BinaryCtrlAccessor.maintscript   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py BinaryCtrlAccessor.substvars   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.name   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.iterdir   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.lookup   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.all_paths   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.__getitem__   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.__delitem__   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.get   100% 4 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.__contains__   67% 6 2 0   50% 4 2   60%
src/debputy/plugin/api/spec.py VirtualPath.path   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.absolute   100% 4 0 0   100% 2 0   100%
src/debputy/plugin/api/spec.py VirtualPath.is_root_dir   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.parent_dir   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.size   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.mode   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.mode   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.is_executable   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.chmod   0% 8 8 0   0% 4 0   0%
src/debputy/plugin/api/spec.py VirtualPath.chown   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.mtime   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.mtime   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.readlink   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.open   100% 0 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.open   100% 0 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.open   100% 0 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.open   80% 5 1 0   75% 4 1   78%
src/debputy/plugin/api/spec.py VirtualPath.fs_path   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.is_dir   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.is_file   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.is_symlink   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.has_fs_path   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.is_read_write   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/spec.py VirtualPath.mkdir   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.mkdirs   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.add_file   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.replace_fs_path_content   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.add_symlink   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.unlink   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py VirtualPath.interpreter   0% 7 7 0   0% 2 0   0%
src/debputy/plugin/api/spec.py VirtualPath.metadata   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py FlushableSubstvars.flush   100% 6 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py FlushableSubstvars.save   0% 3 3 0   0% 2 0   0%
src/debputy/plugin/api/spec.py ServiceRegistry.register_service   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py ParserAttributeDocumentation.is_hidden   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/spec.py undocumented_attr   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py ParserDocumentation.replace   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/spec.py ParserDocumentation.from_ref_doc   80% 5 1 0   50% 2 1   71%
src/debputy/plugin/api/spec.py type_mapping_example   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py type_mapping_reference_documentation   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py documented_attr   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/spec.py reference_documentation   100% 3 0 0   100% 2 0   100%
src/debputy/plugin/api/spec.py ServiceDefinition.name   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py ServiceDefinition.names   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py ServiceDefinition.path   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py ServiceDefinition.type_of_service   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py ServiceDefinition.service_scope   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py ServiceDefinition.auto_enable_on_install   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py ServiceDefinition.auto_start_on_install   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py ServiceDefinition.on_upgrade   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py ServiceDefinition.definition_source   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py ServiceDefinition.is_plugin_provided_definition   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py ServiceDefinition.service_context   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/spec.py (no function)   100% 256 0 73   50% 6 3   99%
src/debputy/plugin/api/std_docs.py docs_from   75% 8 2 0   75% 8 2   75%
src/debputy/plugin/api/std_docs.py (no function)   100% 9 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/__init__.py (no function)   100% 3 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_impl.py _initialize_plugin_under_test   100% 9 0 0   100% 2 0   100%
src/debputy/plugin/api/test_api/test_impl.py _auto_load_plugin_from_filename   67% 18 6 0   50% 10 3   61%
src/debputy/plugin/api/test_api/test_impl.py initialize_plugin_under_test   83% 6 1 0   75% 4 1   80%
src/debputy/plugin/api/test_api/test_impl.py _initialize_plugin_from_desc   75% 4 1 0   50% 2 1   67%
src/debputy/plugin/api/test_api/test_impl.py initialize_plugin_under_test_from_inline_json   100% 3 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_impl.py initialize_plugin_under_test_preloaded   75% 4 1 0   50% 2 1   67%
src/debputy/plugin/api/test_api/test_impl.py _MockArchTable.matches_architecture   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_impl.py package_metadata_context   59% 41 17 0   50% 24 6   55%
src/debputy/plugin/api/test_api/test_impl.py manifest_variable_resolution_context   100% 3 0 0   100% 2 0   100%
src/debputy/plugin/api/test_api/test_impl.py MaintscriptAccessorTestProvider.__init__   100% 3 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_impl.py MaintscriptAccessorTestProvider._apply_condition_to_script   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_impl.py MaintscriptAccessorTestProvider._append_script   100% 3 0 0   100% 2 0   100%
src/debputy/plugin/api/test_api/test_impl.py RegisteredMetadataImpl.__init__   100% 3 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_impl.py RegisteredMetadataImpl.substvars   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_impl.py RegisteredMetadataImpl.triggers   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_impl.py RegisteredMetadataImpl.maintscripts   100% 3 0 0   100% 2 0   100%
src/debputy/plugin/api/test_api/test_impl.py BinaryCtrlAccessorTestProvider.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_impl.py BinaryCtrlAccessorTestProvider._create_maintscript_accessor   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_impl.py BinaryCtrlAccessorTestProvider.registered_metadata   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_impl.py ServiceRegistryTestImpl.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_impl.py ServiceRegistryTestImpl.register_service   75% 4 1 0   50% 2 1   67%
src/debputy/plugin/api/test_api/test_impl.py _read_only_fs_root   83% 6 1 0   50% 2 1   75%
src/debputy/plugin/api/test_api/test_impl.py InitializedPluginUnderTestImpl.__init__   100% 7 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_impl.py InitializedPluginUnderTestImpl._plugin_metadata   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_impl.py InitializedPluginUnderTestImpl.packager_provided_files_by_stem   100% 11 0 0   100% 6 0   100%
src/debputy/plugin/api/test_api/test_impl.py InitializedPluginUnderTestImpl.run_metadata_detector   81% 16 3 0   75% 8 2   79%
src/debputy/plugin/api/test_api/test_impl.py InitializedPluginUnderTestImpl.run_package_processor   69% 13 4 0   50% 10 5   61%
src/debputy/plugin/api/test_api/test_impl.py InitializedPluginUnderTestImpl.declared_manifest_variables   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_impl.py InitializedPluginUnderTestImpl.automatic_discard_rules_examples_with_issues   89% 9 1 0   88% 8 1   88%
src/debputy/plugin/api/test_api/test_impl.py InitializedPluginUnderTestImpl.run_service_detection_and_integrations   78% 18 4 0   62% 8 3   73%
src/debputy/plugin/api/test_api/test_impl.py InitializedPluginUnderTestImpl.manifest_variables   100% 5 0 0   100% 2 0   100%
src/debputy/plugin/api/test_api/test_impl.py SubstitutionTable.__init__   100% 3 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_impl.py SubstitutionTable.__contains__   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/test_api/test_impl.py SubstitutionTable.__getitem__   80% 5 1 0   50% 2 1   71%
src/debputy/plugin/api/test_api/test_impl.py SubstitutionTable.__len__   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/test_api/test_impl.py SubstitutionTable.__iter__   0% 1 1 0   100% 0 0   0%
src/debputy/plugin/api/test_api/test_impl.py SubstitutionTable.keys   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_impl.py (no function)   100% 87 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_spec.py build_virtual_file_system   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_spec.py RegisteredTrigger.serialized_format   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_spec.py RegisteredTrigger.from_plugin_provided_trigger   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_spec.py RegisteredPackagerProvidedFile.compute_dest   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/test_api/test_spec.py RegisteredMetadata.substvars   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/test_api/test_spec.py RegisteredMetadata.triggers   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/test_api/test_spec.py RegisteredMetadata.maintscripts   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/test_api/test_spec.py InitializedPluginUnderTest.packager_provided_files   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/api/test_api/test_spec.py InitializedPluginUnderTest.packager_provided_files_by_stem   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/test_api/test_spec.py InitializedPluginUnderTest.run_metadata_detector   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/test_api/test_spec.py InitializedPluginUnderTest.run_package_processor   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/test_api/test_spec.py InitializedPluginUnderTest.declared_manifest_variables   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/test_api/test_spec.py InitializedPluginUnderTest.automatic_discard_rules_examples_with_issues   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/test_api/test_spec.py InitializedPluginUnderTest.run_service_detection_and_integrations   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/test_api/test_spec.py InitializedPluginUnderTest.manifest_variables   100% 0 0 1   100% 0 0   100%
src/debputy/plugin/api/test_api/test_spec.py (no function)   100% 49 0 12   100% 0 0   100%
src/debputy/plugin/plugin_state.py register_manifest_type_value_in_context   100% 5 0 2   100% 0 0   100%
src/debputy/plugin/plugin_state.py begin_parsing_context   100% 4 0 0   100% 0 0   100%
src/debputy/plugin/plugin_state.py with_binary_pkg_parsing_context   100% 7 0 1   100% 0 0   100%
src/debputy/plugin/plugin_state.py current_debputy_plugin_if_present   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/plugin_state.py current_debputy_plugin_required   100% 3 0 1   100% 0 0   100%
src/debputy/plugin/plugin_state.py wrap_plugin_code   70% 10 3 0   50% 4 2   64%
src/debputy/plugin/plugin_state.py wrap_plugin_code._plugin_wrapper   100% 1 0 0   100% 0 0   100%
src/debputy/plugin/plugin_state.py wrap_plugin_code._wrapper   0% 6 6 0   100% 0 0   0%
src/debputy/plugin/plugin_state.py run_in_context_of_plugin   22% 18 14 0   12% 8 1   19%
src/debputy/plugin/plugin_state.py run_in_context_of_plugin_wrap_errors   100% 7 0 1   100% 0 0   100%
src/debputy/plugin/plugin_state.py (no function)   100% 24 0 0   100% 0 0   100%
src/debputy/plugins/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/plugins/debputy/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
src/debputy/plugins/debputy/binary_package_rules.py register_binary_package_rules   100% 10 0 0   100% 0 0   100%
src/debputy/plugins/debputy/binary_package_rules.py ServiceRule.from_service_rule_parsed_format   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/binary_package_rules.py ServiceRule.applies_to_service_manager   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/binary_package_rules.py ServiceRule.apply_to_service_definition   0% 13 13 0   0% 10 0   0%
src/debputy/plugins/debputy/binary_package_rules.py DpkgGensymbolsOptions.parse   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/binary_package_rules.py _parse_binary_version   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/binary_package_rules.py _parse_installation_search_dirs   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/binary_package_rules.py _process_service_rules   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/binary_package_rules.py _to_maintscript_snippet   0% 29 29 0   0% 12 0   0%
src/debputy/plugins/debputy/binary_package_rules.py _process_maintscript_snippets   0% 4 4 0   100% 0 0   0%
src/debputy/plugins/debputy/binary_package_rules.py _parse_built_using   100% 2 0 0   100% 0 0   100%
src/debputy/plugins/debputy/binary_package_rules.py _parse_static_built_using   100% 2 0 0   100% 0 0   100%
src/debputy/plugins/debputy/binary_package_rules.py _built_using_matches   100% 7 0 0   100% 10 0   100%
src/debputy/plugins/debputy/binary_package_rules.py _validate_built_using   83% 12 2 0   67% 6 2   78%
src/debputy/plugins/debputy/binary_package_rules.py _built_using_handler   100% 2 0 0   100% 2 0   100%
src/debputy/plugins/debputy/binary_package_rules.py _unpack_list   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/binary_package_rules.py _parse_clean_after_removal   89% 74 8 0   82% 44 8   86%
src/debputy/plugins/debputy/binary_package_rules.py (no function)   100% 70 0 0   100% 0 0   100%
src/debputy/plugins/debputy/build_system_rules.py find_source_level_build_tool   100% 0 0 0   100% 0 0   100%
src/debputy/plugins/debputy/build_system_rules.py find_source_level_build_tool   100% 0 0 0   100% 0 0   100%
src/debputy/plugins/debputy/build_system_rules.py find_source_level_build_tool   0% 37 37 0   0% 22 0   0%
src/debputy/plugins/debputy/build_system_rules.py register_build_system_rules   100% 2 0 0   100% 0 0   100%
src/debputy/plugins/debputy/build_system_rules.py register_build_keywords   100% 5 0 0   100% 0 0   100%
src/debputy/plugins/debputy/build_system_rules.py register_build_rules   100% 9 0 0   100% 0 0   100%
src/debputy/plugins/debputy/build_system_rules.py _check_variables   38% 8 5 0   50% 6 1   43%
src/debputy/plugins/debputy/build_system_rules.py _no_overlap   12% 8 7 0   25% 4 1   17%
src/debputy/plugins/debputy/build_system_rules.py ManifestProvidedBuildEnvironment.from_environment_definition   95% 20 1 0   75% 4 1   92%
src/debputy/plugins/debputy/build_system_rules.py ManifestProvidedBuildEnvironment.update_env   44% 18 10 0   36% 14 5   41%
src/debputy/plugins/debputy/build_system_rules.py MakefileBuildSystemRule.__init__   0% 8 8 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py MakefileBuildSystemRule._unpack_macros   0% 9 9 0   0% 6 0   0%
src/debputy/plugins/debputy/build_system_rules.py MakefileBuildSystemRule.auto_detect_build_system   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/build_system_rules.py MakefileBuildSystemRule.characteristics   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py MakefileBuildSystemRule.configure_impl   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py MakefileBuildSystemRule.build_impl   0% 9 9 0   0% 6 0   0%
src/debputy/plugins/debputy/build_system_rules.py MakefileBuildSystemRule.test_impl   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py MakefileBuildSystemRule.install_impl   0% 6 6 0   0% 4 0   0%
src/debputy/plugins/debputy/build_system_rules.py MakefileBuildSystemRule._run_make_maybe_explicit_target   0% 4 4 0   0% 2 0   0%
src/debputy/plugins/debputy/build_system_rules.py MakefileBuildSystemRule.clean_impl   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py PerlBuildBuildSystemRule.__init__   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py PerlBuildBuildSystemRule.auto_detect_build_system   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/build_system_rules.py PerlBuildBuildSystemRule.characteristics   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py PerlBuildBuildSystemRule._perl_cross_build_env   0% 10 10 0   0% 6 0   0%
src/debputy/plugins/debputy/build_system_rules.py PerlBuildBuildSystemRule.configure_impl   0% 27 27 0   0% 10 0   0%
src/debputy/plugins/debputy/build_system_rules.py PerlBuildBuildSystemRule.build_impl   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py PerlBuildBuildSystemRule.test_impl   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py PerlBuildBuildSystemRule.install_impl   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py PerlBuildBuildSystemRule.clean_impl   0% 3 3 0   0% 2 0   0%
src/debputy/plugins/debputy/build_system_rules.py PerlMakeMakerBuildSystemRule.__init__   0% 3 3 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py PerlMakeMakerBuildSystemRule.auto_detect_build_system   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/build_system_rules.py PerlMakeMakerBuildSystemRule.characteristics   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py PerlMakeMakerBuildSystemRule.configure_impl   0% 23 23 0   0% 12 0   0%
src/debputy/plugins/debputy/build_system_rules.py PerlMakeMakerBuildSystemRule.build_impl   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py PerlMakeMakerBuildSystemRule.test_impl   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py PerlMakeMakerBuildSystemRule.install_impl   0% 10 10 0   0% 6 0   0%
src/debputy/plugins/debputy/build_system_rules.py PerlMakeMakerBuildSystemRule.clean_impl   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py DebhelperBuildSystemRule.__init__   0% 3 3 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py DebhelperBuildSystemRule.auto_detect_build_system   0% 7 7 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py DebhelperBuildSystemRule.characteristics   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py DebhelperBuildSystemRule.before_first_impl_step   0% 9 9 0   0% 2 0   0%
src/debputy/plugins/debputy/build_system_rules.py DebhelperBuildSystemRule._default_options   0% 6 6 0   0% 4 0   0%
src/debputy/plugins/debputy/build_system_rules.py DebhelperBuildSystemRule.configure_impl   0% 11 11 0   0% 4 0   0%
src/debputy/plugins/debputy/build_system_rules.py DebhelperBuildSystemRule.build_impl   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py DebhelperBuildSystemRule.test_impl   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py DebhelperBuildSystemRule.install_impl   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py DebhelperBuildSystemRule.clean_impl   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py AutoconfBuildSystemRule.__init__   100% 3 0 0   100% 0 0   100%
src/debputy/plugins/debputy/build_system_rules.py AutoconfBuildSystemRule.characteristics   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py AutoconfBuildSystemRule.auto_detect_build_system   90% 20 2 0   89% 18 2   89%
src/debputy/plugins/debputy/build_system_rules.py AutoconfBuildSystemRule.configure_impl   0% 21 21 0   0% 10 0   0%
src/debputy/plugins/debputy/build_system_rules.py AutoconfBuildSystemRule.build_impl   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py AutoconfBuildSystemRule.test_impl   0% 5 5 0   0% 2 0   0%
src/debputy/plugins/debputy/build_system_rules.py AutoconfBuildSystemRule.install_impl   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py AutoconfBuildSystemRule.clean_impl   0% 3 3 0   0% 2 0   0%
src/debputy/plugins/debputy/build_system_rules.py CMakeBuildSystemRule.__init__   0% 5 5 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py CMakeBuildSystemRule.characteristics   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py CMakeBuildSystemRule.auto_detect_build_system   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/build_system_rules.py CMakeBuildSystemRule._default_cmake_env   0% 7 7 0   0% 4 0   0%
src/debputy/plugins/debputy/build_system_rules.py CMakeBuildSystemRule.cmake_generator   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py CMakeBuildSystemRule._compiler_and_cross_flags   0% 17 17 0   0% 6 0   0%
src/debputy/plugins/debputy/build_system_rules.py CMakeBuildSystemRule.configure_impl   0% 22 22 0   0% 10 0   0%
src/debputy/plugins/debputy/build_system_rules.py CMakeBuildSystemRule.build_impl   0% 6 6 0   0% 4 0   0%
src/debputy/plugins/debputy/build_system_rules.py CMakeBuildSystemRule.test_impl   0% 12 12 0   0% 6 0   0%
src/debputy/plugins/debputy/build_system_rules.py CMakeBuildSystemRule.install_impl   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py CMakeBuildSystemRule.clean_impl   0% 5 5 0   0% 4 0   0%
src/debputy/plugins/debputy/build_system_rules.py MesonBuildSystemRule.__init__   0% 3 3 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py MesonBuildSystemRule.characteristics   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py MesonBuildSystemRule.auto_detect_build_system   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/build_system_rules.py MesonBuildSystemRule._default_meson_env   0% 4 4 0   0% 2 0   0%
src/debputy/plugins/debputy/build_system_rules.py MesonBuildSystemRule.cmake_generator   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py MesonBuildSystemRule._cross_flags   0% 9 9 0   0% 4 0   0%
src/debputy/plugins/debputy/build_system_rules.py MesonBuildSystemRule.configure_impl   0% 15 15 0   0% 4 0   0%
src/debputy/plugins/debputy/build_system_rules.py MesonBuildSystemRule.build_impl   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py MesonBuildSystemRule.test_impl   0% 6 6 0   0% 2 0   0%
src/debputy/plugins/debputy/build_system_rules.py MesonBuildSystemRule.install_impl   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py MesonBuildSystemRule.clean_impl   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py _add_qmake_flag   0% 9 9 0   0% 6 0   0%
src/debputy/plugins/debputy/build_system_rules.py AbstractQmakeBuildSystemRule.__init__   0% 3 3 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py AbstractQmakeBuildSystemRule.characteristics   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py AbstractQmakeBuildSystemRule.auto_detect_build_system   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/build_system_rules.py AbstractQmakeBuildSystemRule.os_mkspec_mapping   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py AbstractQmakeBuildSystemRule.qmake_command_basename   100% 0 0 1   100% 0 0   100%
src/debputy/plugins/debputy/build_system_rules.py AbstractQmakeBuildSystemRule.configure_impl   0% 25 25 0   0% 6 0   0%
src/debputy/plugins/debputy/build_system_rules.py AbstractQmakeBuildSystemRule.build_impl   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py AbstractQmakeBuildSystemRule.test_impl   0% 5 5 0   0% 2 0   0%
src/debputy/plugins/debputy/build_system_rules.py AbstractQmakeBuildSystemRule.install_impl   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py AbstractQmakeBuildSystemRule.clean_impl   0% 3 3 0   0% 2 0   0%
src/debputy/plugins/debputy/build_system_rules.py QmakeBuildSystemRule.qmake_command_basename   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py Qmake6BuildSystemRule.qmake_command_basename   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/build_system_rules.py _parse_default_environment   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/build_system_rules.py _parse_build_environments   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/build_system_rules.py _handle_build_rules   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/build_system_rules.py (no function)   100% 195 0 4   50% 4 2   99%
src/debputy/plugins/debputy/debputy_plugin.py initialize_debputy_features   100% 4 0 0   100% 0 0   100%
src/debputy/plugins/debputy/debputy_plugin.py declare_manifest_variables   100% 11 0 0   100% 0 0   100%
src/debputy/plugins/debputy/debputy_plugin.py register_package_metadata_detectors   100% 13 0 0   100% 0 0   100%
src/debputy/plugins/debputy/debputy_plugin.py register_packager_provided_files   100% 48 0 0   100% 4 0   100%
src/debputy/plugins/debputy/debputy_plugin.py _replace_dot_with_underscore   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/debputy_plugin.py (no function)   100% 11 0 0   100% 0 0   100%
src/debputy/plugins/debputy/discard_rules.py _debputy_discard_python_cache_files   100% 5 0 0   100% 4 0   100%
src/debputy/plugins/debputy/discard_rules.py _debputy_prune_la_files   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/discard_rules.py _debputy_prune_backup_files   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/discard_rules.py _debputy_prune_vcs_paths   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/discard_rules.py _debputy_prune_info_dir_file   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/discard_rules.py _debputy_prune_binary_debian_dir   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/discard_rules.py _debputy_prune_doxygen_cruft   94% 16 1 0   90% 10 1   92%
src/debputy/plugins/debputy/discard_rules.py (no function)   100% 12 0 0   100% 0 0   100%
src/debputy/plugins/debputy/manifest_root_rules.py register_manifest_root_rules   100% 7 0 0   100% 0 0   100%
src/debputy/plugins/debputy/manifest_root_rules.py _handle_version   75% 4 1 0   50% 2 1   67%
src/debputy/plugins/debputy/manifest_root_rules.py _handle_manifest_variables   65% 20 7 0   62% 8 1   64%
src/debputy/plugins/debputy/manifest_root_rules.py _handle_installation_rules   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/manifest_root_rules.py _handle_remove_during_clean   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/manifest_root_rules.py _handle_opaque_dict   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/manifest_root_rules.py (no function)   100% 25 0 2   100% 0 0   100%
src/debputy/plugins/debputy/metadata_detectors.py detect_initramfs_hooks   100% 7 0 0   100% 4 0   100%
src/debputy/plugins/debputy/metadata_detectors.py _all_tmpfiles_conf   100% 11 0 0   100% 8 0   100%
src/debputy/plugins/debputy/metadata_detectors.py _read_all_files   100% 5 0 0   100% 2 0   100%
src/debputy/plugins/debputy/metadata_detectors.py detect_systemd_tmpfiles   100% 11 0 0   100% 2 0   100%
src/debputy/plugins/debputy/metadata_detectors.py _all_sysusers_conf   100% 7 0 0   100% 6 0   100%
src/debputy/plugins/debputy/metadata_detectors.py detect_systemd_sysusers   100% 7 0 0   100% 2 0   100%
src/debputy/plugins/debputy/metadata_detectors.py detect_commands   0% 10 10 0   0% 10 0   0%
src/debputy/plugins/debputy/metadata_detectors.py detect_icons   100% 18 0 0   100% 12 0   100%
src/debputy/plugins/debputy/metadata_detectors.py detect_gsettings_dependencies   100% 7 0 0   100% 6 0   100%
src/debputy/plugins/debputy/metadata_detectors.py detect_kernel_modules   100% 18 0 0   100% 14 0   100%
src/debputy/plugins/debputy/metadata_detectors.py detect_xfonts   100% 26 0 0   100% 12 0   100%
src/debputy/plugins/debputy/metadata_detectors.py _public_python_dist_dirs   93% 14 1 0   90% 10 1   92%
src/debputy/plugins/debputy/metadata_detectors.py _has_py_file_in_dir   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/metadata_detectors.py detect_pycompile_files   100% 12 0 0   100% 6 0   100%
src/debputy/plugins/debputy/metadata_detectors.py translate_capabilities   100% 16 0 0   100% 8 0   100%
src/debputy/plugins/debputy/metadata_detectors.py pam_auth_update   89% 9 1 0   75% 4 1   85%
src/debputy/plugins/debputy/metadata_detectors.py auto_depends_arch_any_solink   90% 41 4 0   85% 26 4   88%
src/debputy/plugins/debputy/metadata_detectors.py _built_using_enabled_matches   100% 16 0 0   100% 12 0   100%
src/debputy/plugins/debputy/metadata_detectors.py _split_dpkg_output   100% 4 0 0   75% 4 1   88%
src/debputy/plugins/debputy/metadata_detectors.py _sources_for   75% 4 1 0   50% 2 1   67%
src/debputy/plugins/debputy/metadata_detectors.py detect_built_using   100% 3 0 0   100% 2 0   100%
src/debputy/plugins/debputy/metadata_detectors.py _built_using_process_matches   56% 9 4 0   50% 6 1   53%
src/debputy/plugins/debputy/metadata_detectors.py (no function)   100% 42 0 0   100% 0 0   100%
src/debputy/plugins/debputy/package_processors.py _open_maybe_gzip   0% 5 5 0   0% 2 0   0%
src/debputy/plugins/debputy/package_processors.py _detect_so_link   0% 7 7 0   0% 4 0   0%
src/debputy/plugins/debputy/package_processors.py _replace_with_symlink   0% 9 9 0   0% 4 0   0%
src/debputy/plugins/debputy/package_processors.py _has_man_recode   0% 5 5 0   100% 0 0   0%
src/debputy/plugins/debputy/package_processors.py process_manpages   0% 36 36 0   0% 18 0   0%
src/debputy/plugins/debputy/package_processors.py _filter_compress_paths   100% 6 0 0   100% 0 0   100%
src/debputy/plugins/debputy/package_processors.py _filter_compress_paths._filtered_walk   56% 18 8 0   58% 12 3   57%
src/debputy/plugins/debputy/package_processors.py _find_compressable_paths   83% 12 2 0   75% 8 2   80%
src/debputy/plugins/debputy/package_processors.py apply_compression   86% 29 4 0   88% 8 1   86%
src/debputy/plugins/debputy/package_processors.py _la_files   100% 5 0 0   100% 2 0   100%
src/debputy/plugins/debputy/package_processors.py clean_la_files   100% 16 0 0   100% 10 0   100%
src/debputy/plugins/debputy/package_processors.py (no function)   100% 27 0 0   100% 0 0   100%
src/debputy/plugins/debputy/paths.py (no function)   100% 4 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py Capability.parse   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py load_libcap   91% 22 2 0   100% 4 0   92%
src/debputy/plugins/debputy/private_api.py load_libcap._is_valid_cap   0% 4 4 0   0% 2 0   0%
src/debputy/plugins/debputy/private_api.py check_cap_checker   0% 4 4 0   100% 0 0   0%
src/debputy/plugins/debputy/private_api.py check_cap_checker._check_cap   0% 4 4 0   0% 2 0   0%
src/debputy/plugins/debputy/private_api.py load_source_variables   84% 44 7 0   69% 16 5   80%
src/debputy/plugins/debputy/private_api.py initialize_via_private_api   100% 16 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py register_type_mappings   100% 16 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py register_type_mappings._parse_version   50% 4 2 0   100% 0 0   50%
src/debputy/plugins/debputy/private_api.py register_type_mappings._parse_maintscript_name   0% 8 8 0   0% 4 0   0%
src/debputy/plugins/debputy/private_api.py register_service_managers   100% 2 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py register_automatic_discard_rules   100% 7 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py register_processing_steps   100% 4 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py register_variables_via_private_api   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py document_builtin_variables   100% 7 0 0   100% 4 0   100%
src/debputy/plugins/debputy/private_api.py _format_docbase_filename   86% 7 1 0   50% 2 1   78%
src/debputy/plugins/debputy/private_api.py register_special_ppfs   100% 6 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py register_install_rules   100% 6 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py register_transformation_rules   100% 5 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py register_manifest_condition_rules   100% 10 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py register_maintscript_conditions   100% 8 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py register_dpkg_conffile_rules   100% 2 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py _parse_filename   56% 9 4 0   50% 4 2   54%
src/debputy/plugins/debputy/private_api.py _with_alt_form   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py _dpkg_conffile_rename   91% 11 1 0   50% 2 1   85%
src/debputy/plugins/debputy/private_api.py _dpkg_conffile_remove   100% 6 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py _parse_conffile_prior_version_and_owning_package   56% 9 4 0   50% 4 2   54%
src/debputy/plugins/debputy/private_api.py _install_rule_handler   100% 10 0 0   100% 2 0   100%
src/debputy/plugins/debputy/private_api.py _multi_dest_install_rule_handler   81% 16 3 0   62% 8 3   75%
src/debputy/plugins/debputy/private_api.py _install_docs_rule_handler   70% 10 3 0   50% 2 1   67%
src/debputy/plugins/debputy/private_api.py _install_examples_rule_handler   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py _install_man_rule_handler   67% 18 6 0   57% 14 6   62%
src/debputy/plugins/debputy/private_api.py _install_discard_rule_handler   67% 6 2 0   50% 2 1   62%
src/debputy/plugins/debputy/private_api.py _transformation_move_handler   83% 6 1 0   50% 2 1   75%
src/debputy/plugins/debputy/private_api.py _transformation_remove_handler   100% 3 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py _transformation_create_symlink   100% 6 0 2   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py _transformation_path_metadata   59% 22 9 0   38% 8 3   53%
src/debputy/plugins/debputy/private_api.py _transformation_mkdirs   100% 6 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py _at_least_two   50% 2 1 0   50% 2 1   50%
src/debputy/plugins/debputy/private_api.py _mc_any_of   83% 6 1 0   50% 2 1   75%
src/debputy/plugins/debputy/private_api.py _mc_not   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/private_api.py _extract_arch_matches   75% 8 2 0   50% 4 2   67%
src/debputy/plugins/debputy/private_api.py _mc_source_context_arch_matches   100% 2 0 0   100% 0 0   100%
src/debputy/plugins/debputy/private_api.py _mc_package_context_arch_matches   56% 9 4 0   50% 4 2   54%
src/debputy/plugins/debputy/private_api.py _mc_arch_matches   100% 3 0 0   100% 2 0   100%
src/debputy/plugins/debputy/private_api.py _mc_build_profile_matches   67% 9 3 0   50% 2 1   64%
src/debputy/plugins/debputy/private_api.py _parse_unconditionally_in_script   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/private_api.py _parse_upgrade_from_version   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/private_api.py (no function)   100% 123 0 0   100% 0 0   100%
src/debputy/plugins/debputy/service_management.py detect_systemd_service_files   100% 4 0 0   100% 2 0   100%
src/debputy/plugins/debputy/service_management.py generate_snippets_for_systemd_units   85% 48 7 1   63% 30 11   77%
src/debputy/plugins/debputy/service_management.py _remove_quote   67% 3 1 0   50% 2 1   60%
src/debputy/plugins/debputy/service_management.py _find_and_analyze_systemd_service_files   84% 49 8 0   72% 32 3   79%
src/debputy/plugins/debputy/service_management.py generate_snippets_for_init_scripts   83% 23 4 1   50% 8 2   74%
src/debputy/plugins/debputy/service_management.py detect_sysv_init_service_files   100% 7 0 0   100% 6 0   100%
src/debputy/plugins/debputy/service_management.py (no function)   100% 22 0 0   100% 0 0   100%
src/debputy/plugins/debputy/shlib_metadata_detectors.py _walk_filter   100% 4 0 0   100% 2 0   100%
src/debputy/plugins/debputy/shlib_metadata_detectors.py detect_shlibdeps   100% 4 0 0   100% 2 0   100%
src/debputy/plugins/debputy/shlib_metadata_detectors.py (no function)   100% 8 0 0   100% 0 0   100%
src/debputy/plugins/debputy/strip_non_determinism.py _file_starts_with   100% 6 0 0   100% 2 0   100%
src/debputy/plugins/debputy/strip_non_determinism.py _file_starts_with._checker   100% 3 0 0   100% 0 0   100%
src/debputy/plugins/debputy/strip_non_determinism.py _is_javadoc_file   0% 3 3 0   100% 0 0   0%
src/debputy/plugins/debputy/strip_non_determinism.py SndDetectionRule.initial_verdict   100% 0 0 1   100% 0 0   100%
src/debputy/plugins/debputy/strip_non_determinism.py SndDetectionRule.file_output_verdict   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/strip_non_determinism.py ExtensionPlusFileOutputRule.initial_verdict   50% 6 3 0   25% 4 1   40%
src/debputy/plugins/debputy/strip_non_determinism.py ExtensionPlusFileOutputRule.file_output_verdict   0% 4 4 0   100% 0 0   0%
src/debputy/plugins/debputy/strip_non_determinism.py ExtensionPlusContentCheck.initial_verdict   86% 7 1 0   75% 4 1   82%
src/debputy/plugins/debputy/strip_non_determinism.py PyzipFileCheck._is_pyzip_file   80% 5 1 0   50% 2 1   71%
src/debputy/plugins/debputy/strip_non_determinism.py PyzipFileCheck.initial_verdict   67% 3 1 0   50% 2 1   60%
src/debputy/plugins/debputy/strip_non_determinism.py _detect_paths_with_possible_non_determinism   72% 18 5 0   71% 14 4   72%
src/debputy/plugins/debputy/strip_non_determinism.py _apply_strip_non_determinism   0% 9 9 0   0% 2 0   0%
src/debputy/plugins/debputy/strip_non_determinism.py strip_non_determinism   57% 7 3 0   50% 2 1   56%
src/debputy/plugins/debputy/strip_non_determinism.py (no function)   100% 35 0 1   100% 0 0   100%
src/debputy/plugins/debputy/to_be_api_types.py CleanHelper.schedule_removal_of_files   100% 0 0 1   100% 0 0   100%
src/debputy/plugins/debputy/to_be_api_types.py CleanHelper.schedule_removal_of_directories   100% 0 0 1   100% 0 0   100%
src/debputy/plugins/debputy/to_be_api_types.py TestRule.__init__   100% 4 0 0   100% 0 0   100%
src/debputy/plugins/debputy/to_be_api_types.py TestRule.should_run_tests   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py TestRule.should_ignore_test_errors   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildRule.__init__   84% 19 3 0   67% 6 2   80%
src/debputy/plugins/debputy/to_be_api_types.py BuildRule.name   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildRule.attribute_path   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildRule.manifest_condition   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildRule.for_packages   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/to_be_api_types.py BuildRule.substitution   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildRule.environment   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/to_be_api_types.py BuildRule.auto_generated_stem   0% 3 3 1   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildRule.auto_generated_stem   0% 3 3 1   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildRule.run_build   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildRule.perform_build   100% 0 0 1   100% 0 0   100%
src/debputy/plugins/debputy/to_be_api_types.py BuildRule.is_buildsystem   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildRule.name_or_tag   0% 4 4 0   0% 2 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildRule.install_dest_dir   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py _is_type_or_none   67% 3 1 0   50% 2 1   60%
src/debputy/plugins/debputy/to_be_api_types.py BuildSystemRule.__init__   76% 17 4 0   33% 6 2   65%
src/debputy/plugins/debputy/to_be_api_types.py BuildSystemRule.auto_detect_build_system   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildSystemRule.out_of_source_build   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildSystemRule.build_directory   0% 4 4 0   0% 2 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildSystemRule.dump_logs_on_error   0% 16 16 0   0% 8 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildSystemRule.run_clean   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildSystemRule.perform_clean   100% 0 0 1   100% 0 0   100%
src/debputy/plugins/debputy/to_be_api_types.py BuildSystemRule.ensure_build_dir_exists   0% 5 5 0   0% 2 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildSystemRule.build_dir_path   0% 4 4 0   0% 2 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildSystemRule.relative_from_builddir_to_source   0% 8 8 0   0% 4 0   0%
src/debputy/plugins/debputy/to_be_api_types.py BuildSystemRule.is_buildsystem   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py StepBasedBuildSystemRule.characteristics   100% 0 0 1   100% 0 0   100%
src/debputy/plugins/debputy/to_be_api_types.py StepBasedBuildSystemRule.perform_clean   0% 11 11 0   0% 6 0   0%
src/debputy/plugins/debputy/to_be_api_types.py StepBasedBuildSystemRule.install_dest_dir   0% 4 4 0   0% 2 0   0%
src/debputy/plugins/debputy/to_be_api_types.py StepBasedBuildSystemRule._should_run_tests   0% 3 3 0   0% 2 0   0%
src/debputy/plugins/debputy/to_be_api_types.py StepBasedBuildSystemRule.perform_build   0% 15 15 0   0% 6 0   0%
src/debputy/plugins/debputy/to_be_api_types.py StepBasedBuildSystemRule.before_first_impl_step   100% 0 0 0   100% 0 0   100%
src/debputy/plugins/debputy/to_be_api_types.py StepBasedBuildSystemRule.configure_impl   100% 0 0 1   100% 0 0   100%
src/debputy/plugins/debputy/to_be_api_types.py StepBasedBuildSystemRule.build_impl   100% 0 0 1   100% 0 0   100%
src/debputy/plugins/debputy/to_be_api_types.py StepBasedBuildSystemRule.test_impl   100% 0 0 1   100% 0 0   100%
src/debputy/plugins/debputy/to_be_api_types.py StepBasedBuildSystemRule.install_impl   100% 0 0 1   100% 0 0   100%
src/debputy/plugins/debputy/to_be_api_types.py StepBasedBuildSystemRule.clean_impl   100% 0 0 1   100% 0 0   100%
src/debputy/plugins/debputy/to_be_api_types.py StepBasedBuildSystemRule._check_characteristics   0% 14 14 0   0% 10 0   0%
src/debputy/plugins/debputy/to_be_api_types.py StepBasedBuildSystemRule._pick_build_dir   0% 4 4 0   0% 2 0   0%
src/debputy/plugins/debputy/to_be_api_types.py StepBasedBuildSystemRule.resolve_dest_dir   0% 7 7 0   0% 4 0   0%
src/debputy/plugins/debputy/to_be_api_types.py _make_target_exists   0% 14 14 0   0% 2 0   0%
src/debputy/plugins/debputy/to_be_api_types.py _find_first_existing_make_target   0% 4 4 0   0% 4 0   0%
src/debputy/plugins/debputy/to_be_api_types.py NinjaBuildSupport.__init__   0% 2 2 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py NinjaBuildSupport.from_build_system   0% 3 3 0   0% 2 0   0%
src/debputy/plugins/debputy/to_be_api_types.py NinjaBuildSupport._directory   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py NinjaBuildSupport._pick_directory   0% 3 3 0   0% 2 0   0%
src/debputy/plugins/debputy/to_be_api_types.py NinjaBuildSupport.run_ninja_build   0% 4 4 0   0% 2 0   0%
src/debputy/plugins/debputy/to_be_api_types.py NinjaBuildSupport.run_ninja_test   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py NinjaBuildSupport.run_ninja_install   0% 4 4 0   0% 2 0   0%
src/debputy/plugins/debputy/to_be_api_types.py NinjaBuildSupport.run_ninja_clean   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py NinjaBuildSupport._run_ninja   0% 7 7 0   0% 2 0   0%
src/debputy/plugins/debputy/to_be_api_types.py MakefileSupport.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/plugins/debputy/to_be_api_types.py MakefileSupport.from_build_system   100% 3 0 0   50% 2 1   80%
src/debputy/plugins/debputy/to_be_api_types.py MakefileSupport._directory   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py MakefileSupport._make_program   0% 4 4 0   0% 2 0   0%
src/debputy/plugins/debputy/to_be_api_types.py MakefileSupport._pick_directory   0% 3 3 0   0% 2 0   0%
src/debputy/plugins/debputy/to_be_api_types.py MakefileSupport.find_first_existing_make_target   0% 4 4 0   0% 4 0   0%
src/debputy/plugins/debputy/to_be_api_types.py MakefileSupport.make_target_exists   0% 1 1 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py MakefileSupport.run_first_existing_target_if_any   0% 5 5 0   0% 2 0   0%
src/debputy/plugins/debputy/to_be_api_types.py MakefileSupport.run_make   0% 3 3 0   100% 0 0   0%
src/debputy/plugins/debputy/to_be_api_types.py debputy_build_system   82% 11 2 0   67% 6 2   76%
src/debputy/plugins/debputy/to_be_api_types.py debputy_build_system._constructor_wrapper   100% 1 0 0   100% 0 0   100%
src/debputy/plugins/debputy/to_be_api_types.py debputy_build_system._decorator_impl   67% 6 2 0   50% 4 2   60%
src/debputy/plugins/debputy/to_be_api_types.py (no function)   100% 150 0 14   100% 0 0   100%
src/debputy/plugins/debputy/types.py (no function)   100% 15 0 0   100% 0 0   100%
src/debputy/substitution.py Substitution.substitute   100% 0 0 1   100% 0 0   100%
src/debputy/substitution.py Substitution.with_extra_substitutions   100% 0 0 1   100% 0 0   100%
src/debputy/substitution.py Substitution.with_unresolvable_substitutions   100% 0 0 1   100% 0 0   100%
src/debputy/substitution.py Substitution.variable_state   0% 1 1 0   100% 0 0   0%
src/debputy/substitution.py Substitution.is_used   0% 1 1 0   100% 0 0   0%
src/debputy/substitution.py Substitution._mark_used   100% 1 0 0   100% 0 0   100%
src/debputy/substitution.py Substitution._replacement   0% 1 1 0   100% 0 0   0%
src/debputy/substitution.py Substitution._error   100% 1 0 0   100% 0 0   100%
src/debputy/substitution.py Substitution._apply_substitution   93% 15 1 0   75% 4 1   89%
src/debputy/substitution.py _NullSubstitution.substitute   100% 1 0 0   100% 0 0   100%
src/debputy/substitution.py _NullSubstitution.with_extra_substitutions   0% 1 1 0   100% 0 0   0%
src/debputy/substitution.py _NullSubstitution.with_unresolvable_substitutions   0% 1 1 0   100% 0 0   0%
src/debputy/substitution.py SubstitutionImpl.__init__   92% 12 1 0   75% 4 1   88%
src/debputy/substitution.py SubstitutionImpl.copy_for_subst_test   75% 4 1 0   50% 2 1   67%
src/debputy/substitution.py SubstitutionImpl.variable_state   89% 19 2 0   88% 16 2   89%
src/debputy/substitution.py SubstitutionImpl.is_used   100% 6 0 0   100% 4 0   100%
src/debputy/substitution.py SubstitutionImpl._mark_used   82% 11 2 0   83% 6 1   82%
src/debputy/substitution.py SubstitutionImpl._replacement   85% 26 4 0   83% 18 1   84%
src/debputy/substitution.py SubstitutionImpl.with_extra_substitutions   67% 3 1 0   50% 2 1   60%
src/debputy/substitution.py SubstitutionImpl.with_unresolvable_substitutions   0% 3 3 0   0% 2 0   0%
src/debputy/substitution.py SubstitutionImpl.substitute   100% 3 0 0   100% 2 0   100%
src/debputy/substitution.py (no function)   100% 42 0 6   100% 0 0   100%
src/debputy/transformation_rules.py TransformationRule.run_transform_file_system   100% 1 0 0   100% 0 0   100%
src/debputy/transformation_rules.py TransformationRule.transform_file_system   100% 0 0 1   100% 0 0   100%
src/debputy/transformation_rules.py TransformationRule._evaluate_condition   67% 3 1 0   50% 2 1   60%
src/debputy/transformation_rules.py TransformationRule._error   100% 1 0 0   100% 0 0   100%
src/debputy/transformation_rules.py TransformationRule._match_rule_had_no_matches   100% 1 0 0   100% 0 0   100%
src/debputy/transformation_rules.py TransformationRule._fs_path_as_dir   50% 4 2 0   50% 2 1   50%
src/debputy/transformation_rules.py TransformationRule._ensure_is_directory   100% 5 0 0   100% 2 0   100%
src/debputy/transformation_rules.py RemoveTransformationRule.__init__   100% 4 0 0   100% 0 0   100%
src/debputy/transformation_rules.py RemoveTransformationRule.transform_file_system   92% 13 1 0   90% 10 1   91%
src/debputy/transformation_rules.py MoveTransformationRule.__init__   100% 6 0 0   100% 0 0   100%
src/debputy/transformation_rules.py MoveTransformationRule.transform_file_system   44% 34 19 0   35% 20 5   41%
src/debputy/transformation_rules.py CreateSymlinkPathTransformationRule.__init__   100% 6 0 0   100% 0 0   100%
src/debputy/transformation_rules.py CreateSymlinkPathTransformationRule.transform_file_system   88% 8 1 0   75% 4 1   83%
src/debputy/transformation_rules.py CreateSymlinkPathTransformationRule._handle_existing_path   88% 16 2 0   88% 8 1   88%
src/debputy/transformation_rules.py CreateDirectoryTransformationRule.__init__   100% 7 0 0   100% 0 0   100%
src/debputy/transformation_rules.py CreateDirectoryTransformationRule.transform_file_system   79% 14 3 0   83% 6 1   80%
src/debputy/transformation_rules.py _apply_owner_and_mode   47% 15 8 0   38% 8 3   43%
src/debputy/transformation_rules.py PathMetadataTransformationRule.__init__   86% 14 2 0   50% 4 2   78%
src/debputy/transformation_rules.py PathMetadataTransformationRule.transform_file_system   60% 42 17 0   38% 32 8   50%
src/debputy/transformation_rules.py ModeNormalizationTransformationRule.__init__   100% 2 0 0   100% 0 0   100%
src/debputy/transformation_rules.py ModeNormalizationTransformationRule.transform_file_system   90% 10 1 1   100% 6 0   94%
src/debputy/transformation_rules.py NormalizeShebangLineTransformation.__init__   100% 1 0 0   100% 0 0   100%
src/debputy/transformation_rules.py NormalizeShebangLineTransformation.transform_file_system   100% 12 0 0   100% 8 0   100%
src/debputy/transformation_rules.py (no function)   100% 58 0 1   100% 0 0   100%
src/debputy/types.py EnvironmentModification.__bool__   0% 1 1 0   100% 0 0   0%
src/debputy/types.py EnvironmentModification.combine   0% 24 24 0   0% 16 0   0%
src/debputy/types.py EnvironmentModification.update_inplace   0% 9 9 0   0% 8 0   0%
src/debputy/types.py EnvironmentModification.compute_env   0% 17 17 0   0% 14 0   0%
src/debputy/types.py (no function)   100% 14 0 5   100% 0 0   100%
src/debputy/util.py PackageTypeSelector.__str__   100% 6 0 0   100% 2 0   100%
src/debputy/util.py PackageTypeSelector.singleton   71% 7 2 0   75% 4 1   73%
src/debputy/util.py assume_not_none   100% 1 0 2   100% 0 0   100%
src/debputy/util.py _non_verbose_info   0% 3 3 0   0% 2 0   0%
src/debputy/util.py _info   100% 3 0 0   50% 2 1   80%
src/debputy/util.py _is_trace_log_enabled   100% 2 0 0   100% 0 0   100%
src/debputy/util.py _trace_log   0% 3 3 0   0% 2 0   0%
src/debputy/util.py _is_debug_log_enabled   100% 2 0 0   100% 0 0   100%
src/debputy/util.py _debug_log   100% 3 0 0   50% 2 1   80%
src/debputy/util.py _error   0% 6 6 0   0% 2 0   0%
src/debputy/util.py _warn   60% 5 2 0   50% 2 1   57%
src/debputy/util.py ColorizedArgumentParser.error   0% 2 2 0   100% 0 0   0%
src/debputy/util.py ensure_dir   100% 2 0 0   50% 2 1   75%
src/debputy/util.py _clean_path   89% 19 2 0   81% 16 3   86%
src/debputy/util.py _normalize_path   80% 10 2 0   75% 8 2   78%
src/debputy/util.py _normalize_link_target   100% 10 0 0   88% 8 1   94%
src/debputy/util.py manifest_format_doc   100% 2 0 0   100% 0 0   100%
src/debputy/util.py _backslash_escape   100% 1 0 0   100% 0 0   100%
src/debputy/util.py _escape_shell_word   100% 10 0 0   100% 4 0   100%
src/debputy/util.py escape_shell   100% 1 0 0   100% 0 0   100%
src/debputy/util.py render_command   38% 13 8 0   25% 8 2   33%
src/debputy/util.py print_command   88% 8 1 0   50% 4 2   75%
src/debputy/util.py run_command   0% 19 19 0   0% 10 0   0%
src/debputy/util.py run_build_system_command   0% 1 1 0   100% 0 0   0%
src/debputy/util.py debian_policy_normalize_symlink_target   96% 26 1 0   93% 14 1   95%
src/debputy/util.py has_glob_magic   100% 1 0 0   100% 0 0   100%
src/debputy/util.py glob_escape   0% 3 3 0   0% 2 0   0%
src/debputy/util.py active_profiles_match   94% 18 1 0   92% 12 1   93%
src/debputy/util.py _parse_build_profiles   80% 5 1 0   50% 2 1   71%
src/debputy/util.py resolve_source_date_epoch   0% 16 16 0   0% 8 0   0%
src/debputy/util.py compute_output_filename   100% 13 0 0   100% 6 0   100%
src/debputy/util.py integrated_with_debhelper   0% 1 1 0   100% 0 0   0%
src/debputy/util.py scratch_dir   80% 15 3 0   60% 10 4   72%
src/debputy/util.py generated_root_directory   100% 4 0 0   50% 2 1   83%
src/debputy/util.py generated_content_dir   86% 14 2 0   67% 6 2   80%
src/debputy/util.py _perl_config_data   0% 2 2 0   100% 0 0   0%
src/debputy/util.py _perl_version   0% 1 1 0   100% 0 0   0%
src/debputy/util.py perlxs_api_dependency   0% 4 4 0   0% 2 0   0%
src/debputy/util.py resolve_perl_config   58% 24 10 0   42% 12 3   53%
src/debputy/util.py detect_fakeroot   0% 9 9 0   0% 2 0   0%
src/debputy/util.py _sc_arg_max   0% 5 5 0   100% 0 0   0%
src/debputy/util.py _split_xargs_args   0% 18 18 0   0% 10 0   0%
src/debputy/util.py xargs   0% 10 10 0   0% 4 0   0%
src/debputy/util.py grouper   50% 8 4 0   33% 6 2   43%
src/debputy/util.py _check_color   62% 13 5 0   50% 4 2   59%
src/debputy/util.py program_name   62% 8 3 0   50% 6 3   57%
src/debputy/util.py package_cross_check_precheck   100% 22 0 0   89% 18 2   95%
src/debputy/util.py change_log_level   100% 3 0 0   50% 2 1   80%
src/debputy/util.py current_log_level   0% 3 3 0   0% 2 0   0%
src/debputy/util.py setup_logging   62% 64 24 3   55% 20 5   61%
src/debputy/util.py setup_logging.LogLevelFilter.__init__   100% 3 0 0   100% 0 0   100%
src/debputy/util.py setup_logging.LogLevelFilter.filter   100% 3 0 0   100% 2 0   100%
src/debputy/util.py setup_logging.record_factory   100% 0 0 4   100% 0 0   100%
src/debputy/util.py (no function)   100% 124 0 4   100% 6 0   100%
src/debputy/version.py _from_git   36% 11 7 0   0% 2 0   31%
src/debputy/version.py _from_dch   70% 10 3 0   50% 2 1   67%
src/debputy/version.py version   100% 1 0 0   100% 0 0   100%
src/debputy/version.py debputy_doc_root_dir   100% 3 0 0   100% 0 0   100%
src/debputy/version.py (no function)   100% 13 0 0   100% 0 0   100%
src/debputy/yaml/__init__.py (no function)   100% 3 0 0   100% 0 0   100%
src/debputy/yaml/compat.py (no function)   56% 9 4 0   100% 0 0   56%
Total     66% 24906 8506 556   48% 8556 1156   61%

No items found using the specified filter.