Coverage report: 100%

Files Functions Classes

coverage.py v7.9.1, created at 2025-06-18 22:40 +0000

File function statements missing excluded branches partial coverage
b4_backup/__init__.py (no function) 0 0 0 0 0 100%
b4_backup/cli/__init__.py (no function) 1 0 0 0 0 100%
b4_backup/cli/init.py _version_callback 4 0 0 2 0 100%
b4_backup/cli/init.py init 8 0 0 0 0 100%
b4_backup/cli/init.py (no function) 10 0 0 0 0 100%
b4_backup/cli/main.py backup 12 0 0 4 0 100%
b4_backup/cli/main.py list_snapshots 8 0 0 6 0 100%
b4_backup/cli/main.py clean 8 0 0 4 0 100%
b4_backup/cli/main.py delete 9 0 0 6 0 100%
b4_backup/cli/main.py delete_all 13 0 0 8 0 100%
b4_backup/cli/main.py restore 9 0 0 4 0 100%
b4_backup/cli/main.py sync 8 0 0 4 0 100%
b4_backup/cli/main.py (no function) 27 0 0 0 0 100%
b4_backup/cli/tools.py dump_config 2 0 0 0 0 100%
b4_backup/cli/tools.py update_config 0 0 66 0 0 100%
b4_backup/cli/tools.py (no function) 15 0 9 0 0 100%
b4_backup/cli/utils.py validate_target 6 0 0 4 0 100%
b4_backup/cli/utils.py _parse_arg 18 0 0 12 0 100%
b4_backup/cli/utils.py parse_callback_args 6 0 0 2 0 100%
b4_backup/cli/utils.py complete_target 13 0 0 6 0 100%
b4_backup/cli/utils.py ErrorHandler.__init__ 1 0 0 0 0 100%
b4_backup/cli/utils.py ErrorHandler.add 2 0 0 0 0 100%
b4_backup/cli/utils.py ErrorHandler.finalize 2 0 0 2 0 100%
b4_backup/cli/utils.py error_handler 14 0 0 0 0 100%
b4_backup/cli/utils.py OutputFormat.output 5 0 0 4 0 100%
b4_backup/cli/utils.py OutputFormat.output_rich 6 0 0 2 0 100%
b4_backup/cli/utils.py OutputFormat.output_json 1 0 0 0 0 100%
b4_backup/cli/utils.py OutputFormat.output_raw 1 0 0 0 0 100%
b4_backup/cli/utils.py (no function) 42 0 0 0 0 100%
b4_backup/config_schema.py BaseConfig.__post_init__ 4 0 0 4 0 100%
b4_backup/config_schema.py (no function) 45 0 0 0 0 100%
b4_backup/exceptions.py FailedProcessError.__init__ 4 0 0 0 0 100%
b4_backup/exceptions.py (no function) 10 0 0 0 0 100%
b4_backup/main/__init__.py (no function) 0 0 0 0 0 100%
b4_backup/main/b4_backup.py B4Backup.backup 6 0 0 2 0 100%
b4_backup/main/b4_backup.py B4Backup.restore 10 0 0 6 0 100%
b4_backup/main/b4_backup.py B4Backup.sync 6 0 0 2 0 100%
b4_backup/main/b4_backup.py B4Backup.clean 3 0 0 0 0 100%
b4_backup/main/b4_backup.py B4Backup.delete 5 0 0 2 0 100%
b4_backup/main/b4_backup.py B4Backup.delete_all 5 0 0 4 0 100%
b4_backup/main/b4_backup.py B4Backup._restore_replace 5 0 0 0 0 100%
b4_backup/main/b4_backup.py B4Backup._restore_safe 6 0 0 4 0 100%
b4_backup/main/b4_backup.py B4Backup._rollback_replace 8 0 0 2 0 100%
b4_backup/main/b4_backup.py B4Backup._remove_target 8 0 0 2 0 100%
b4_backup/main/b4_backup.py B4Backup.generate_snapshot_name 4 0 0 2 0 100%
b4_backup/main/b4_backup.py B4Backup._restore_snapshot 14 0 0 8 0 100%
b4_backup/main/b4_backup.py B4Backup._create_fallback_subvolume 16 0 0 10 0 100%
b4_backup/main/b4_backup.py B4Backup._clean_target 14 0 0 8 0 100%
b4_backup/main/b4_backup.py B4Backup._apply_retention 11 0 0 8 0 100%
b4_backup/main/b4_backup.py B4Backup._filter_snapshots 1 0 0 0 0 100%
b4_backup/main/b4_backup.py B4Backup._extract_retention_name 1 0 0 0 0 100%
b4_backup/main/b4_backup.py B4Backup._clean_replace 9 0 0 6 0 100%
b4_backup/main/b4_backup.py B4Backup._clean_empty_dirs 3 0 0 2 0 100%
b4_backup/main/b4_backup.py B4Backup._remove_replaced_targets 3 0 0 2 0 100%
b4_backup/main/b4_backup.py B4Backup._transpose_snapshot_subvolumes 7 0 0 6 0 100%
b4_backup/main/b4_backup.py B4Backup._retained_snapshots 6 0 0 2 0 100%
b4_backup/main/b4_backup.py B4Backup._apply_retention_rule 16 0 0 10 0 100%
b4_backup/main/b4_backup.py B4Backup._timebox_str_extract 12 0 0 8 0 100%
b4_backup/main/b4_backup.py (no function) 40 0 0 0 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost.from_source_host 2 0 0 0 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost.from_destination_host 4 0 0 2 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost._mount_point 13 0 0 8 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost.mount_point 1 0 0 0 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost.type 0 0 0 0 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost.subvolumes 4 0 0 0 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost.remove_empty_dirs 10 0 0 8 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost._group_subvolumes 10 0 0 4 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost.snapshots 1 0 0 0 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost.path 3 0 0 2 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost.delete_snapshot 10 0 0 8 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost._get_nearest_matching_snapshot 4 0 0 2 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost._map_parent_snapshots 2 0 0 0 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost._filter_subvolumes 1 0 0 0 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost.source_subvolumes_from_snapshot 1 0 0 0 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost.filter_subvolumes_by_backup_strategy 1 0 0 0 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost._remove_source_subvolumes 3 0 0 4 0 100%
b4_backup/main/backup_target_host.py BackupTargetHost.send_snapshot 27 0 0 12 0 100%
b4_backup/main/backup_target_host.py SourceBackupTargetHost.type 1 0 0 0 0 100%
b4_backup/main/backup_target_host.py SourceBackupTargetHost.create_snapshot 15 0 0 6 0 100%
b4_backup/main/backup_target_host.py DestinationBackupTargetHost.type 1 0 0 0 0 100%
b4_backup/main/backup_target_host.py _connection_sort_key 2 0 0 0 0 100%
b4_backup/main/backup_target_host.py _connection_sort_key.conn_key 5 0 0 4 0 100%
b4_backup/main/backup_target_host.py _mark_keep_open 9 0 0 10 0 100%
b4_backup/main/backup_target_host.py host_generator 13 0 0 6 0 100%
b4_backup/main/backup_target_host.py (no function) 56 0 0 0 0 100%
b4_backup/main/connection.py URL.from_url 10 0 0 6 0 100%
b4_backup/main/connection.py Connection.__init__ 3 0 0 0 0 100%
b4_backup/main/connection.py Connection.from_url 9 0 0 6 0 100%
b4_backup/main/connection.py Connection.run_process 0 0 0 0 0 100%
b4_backup/main/connection.py Connection.open 0 0 0 0 0 100%
b4_backup/main/connection.py Connection.close 0 0 0 0 0 100%
b4_backup/main/connection.py Connection.exec_prefix 0 0 0 0 0 100%
b4_backup/main/connection.py Connection.__enter__ 1 0 0 0 0 100%
b4_backup/main/connection.py Connection.__exit__ 2 0 0 2 0 100%
b4_backup/main/connection.py LocalConnection.__init__ 2 0 0 0 0 100%
b4_backup/main/connection.py LocalConnection.run_process 8 0 0 2 0 100%
b4_backup/main/connection.py LocalConnection.open 3 0 0 0 0 100%
b4_backup/main/connection.py LocalConnection.close 2 0 0 0 0 100%
b4_backup/main/connection.py LocalConnection.exec_prefix 1 0 0 0 0 100%
b4_backup/main/connection.py SSHConnection.__init__ 6 0 0 0 0 100%
b4_backup/main/connection.py SSHConnection.run_process 8 0 0 2 0 100%
b4_backup/main/connection.py SSHConnection.open 11 0 0 2 0 100%
b4_backup/main/connection.py SSHConnection.close 7 0 0 0 0 100%
b4_backup/main/connection.py SSHConnection.exec_prefix 1 0 0 0 0 100%
b4_backup/main/connection.py (no function) 55 0 0 0 0 100%
b4_backup/main/dataclass.py BackupHostPath.__init__ 2 0 0 0 0 100%
b4_backup/main/dataclass.py BackupHostPath.with_segments 1 0 0 0 0 100%
b4_backup/main/dataclass.py BackupHostPath.rmdir 5 0 0 2 0 100%
b4_backup/main/dataclass.py BackupHostPath.exists 7 0 0 2 0 100%
b4_backup/main/dataclass.py BackupHostPath.mkdir 1 0 0 0 0 100%
b4_backup/main/dataclass.py BackupHostPath.rename 1 0 0 0 0 100%
b4_backup/main/dataclass.py BackupHostPath.iterdir 4 0 0 2 0 100%
b4_backup/main/dataclass.py BackupHostPath.is_dir 2 0 0 0 0 100%
b4_backup/main/dataclass.py Snapshot.from_new 1 0 0 0 0 100%
b4_backup/main/dataclass.py Snapshot.escape_path 1 0 0 0 0 100%
b4_backup/main/dataclass.py Snapshot.unescape_path 1 0 0 0 0 100%
b4_backup/main/dataclass.py Snapshot.subvolumes_unescaped 1 0 0 0 0 100%
b4_backup/main/dataclass.py RetentionGroup.from_target 3 0 0 0 0 100%
b4_backup/main/dataclass.py ChoiceSelector.resolve_target 9 0 0 8 0 100%
b4_backup/main/dataclass.py ChoiceSelector.resolve_retention_name 3 0 0 2 0 100%
b4_backup/main/dataclass.py (no function) 43 0 2 0 0 100%
b4_backup/utils.py rich_handler 1 0 0 0 0 100%
b4_backup/utils.py resolve_parent_dir 1 0 0 0 0 100%
b4_backup/utils.py resolve_from_file 1 0 0 0 0 100%
b4_backup/utils.py _copy_from_default_retention 7 0 0 10 0 100%
b4_backup/utils.py load_config 13 0 0 2 0 100%
b4_backup/utils.py contains_path 1 0 0 0 0 100%
b4_backup/utils.py (no function) 18 0 0 0 0 100%
Total   988 0 77 294 0 100%

No items found using the specified filter.