| src\derivepassphrase\__init__.py |
(no function) |
3 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\__init__.py |
(no function) |
5 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
shell_complete_path |
2 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
is_completable_item |
3 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
shell_complete_service |
12 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
ConfigurationMutex.__init__ |
22 |
8 |
0 |
2 |
1 |
62.500% |
| src\derivepassphrase\_internals\cli_helpers.py |
ConfigurationMutex.__init__.lock_fd |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
ConfigurationMutex.__init__.unlock_fd |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
ConfigurationMutex.__init__.lock_func |
6 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
ConfigurationMutex.__init__.unlock_func |
5 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
ConfigurationMutex.__enter__ |
2 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
ConfigurationMutex.__exit__ |
2 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
configuration_mutex |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
get_tempdir |
15 |
0 |
0 |
4 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
config_filename |
10 |
0 |
3 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
load_config |
6 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
migrate_and_load_old_config |
11 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
save_config |
7 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
load_user_config |
3 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
get_suitable_ssh_keys |
10 |
0 |
2 |
6 |
1 |
93.750% |
| src\derivepassphrase\_internals\cli_helpers.py |
prompt_for_selection |
21 |
0 |
2 |
8 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
handle_keyerror |
3 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
handle_keyerror.handle_keyerror |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
handle_notimplementederror |
2 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
handle_notimplementederror.handle_notimplementederror |
5 |
0 |
0 |
4 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
handle_oserror |
3 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
handle_oserror.handle_oserror |
3 |
0 |
1 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
handle_runtimeerror |
3 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
handle_runtimeerror.handle_runtimeerror |
2 |
0 |
1 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
select_ssh_key |
18 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
select_ssh_key.handle_lookuperror |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
select_ssh_key.handle_sshagentfailederror |
2 |
0 |
1 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
prompt_for_passphrase |
2 |
0 |
2 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
toml_key |
2 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
toml_key.escape |
2 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
check_for_misleading_passphrase |
13 |
0 |
1 |
6 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
key_to_phrase |
15 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
print_config_as_sh_script |
24 |
0 |
0 |
14 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_helpers.py |
(no function) |
73 |
0 |
12 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
ClickEchoStderrHandler.emit |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
CLIofPackageFormatter.__init__ |
2 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
CLIofPackageFormatter.format |
12 |
0 |
5 |
6 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
StandardCLILogging.ensure_standard_logging |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
StandardCLILogging.ensure_standard_warnings_logging |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
StandardLoggingContextManager.__init__ |
4 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
StandardLoggingContextManager.__enter__ |
4 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
StandardLoggingContextManager.__exit__ |
4 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
StandardWarningsLoggingContextManager.__init__ |
2 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
StandardWarningsLoggingContextManager.__enter__ |
7 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
StandardWarningsLoggingContextManager.__enter__.showwarning |
1 |
0 |
2 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
StandardWarningsLoggingContextManager.__exit__ |
4 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
adjust_logging_level |
4 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
OptionGroupOption.__init__ |
6 |
0 |
1 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
CommandWithHelpGroups._text |
3 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
CommandWithHelpGroups.collect_usage_pieces |
4 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
CommandWithHelpGroups.get_help_option |
3 |
0 |
2 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
CommandWithHelpGroups.get_help_option.show_help |
3 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
CommandWithHelpGroups.get_short_help_str |
3 |
0 |
6 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
CommandWithHelpGroups.format_help_text |
6 |
0 |
2 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
CommandWithHelpGroups.format_options |
28 |
0 |
2 |
12 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
CommandWithHelpGroups.format_commands |
17 |
0 |
2 |
10 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
CommandWithHelpGroups.format_epilog |
6 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
DefaultToVaultGroup.resolve_command |
12 |
0 |
3 |
4 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
color_forcing_callback |
2 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
validate_occurrence_constraint |
13 |
0 |
0 |
6 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
validate_length |
13 |
0 |
0 |
6 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
common_version_output |
11 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
print_version_info_types |
16 |
0 |
0 |
8 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
derivepassphrase_version_option_callback |
8 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
export_version_option_callback |
8 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
export_vault_version_option_callback |
13 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
vault_version_option_callback |
7 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
version_option |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
standard_logging_options |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
ZshComplete.format_completion |
3 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_machinery.py |
(no function) |
105 |
0 |
11 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
DebugTranslations._load_cache |
13 |
0 |
2 |
8 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
DebugTranslations._locate_message |
5 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
DebugTranslations._format_enum_name_maybe_with_fields |
2 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
DebugTranslations.gettext |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
DebugTranslations.pgettext |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
TranslatableString.fields |
8 |
0 |
3 |
6 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
TranslatableString._maybe_rewrap |
5 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
TranslatableString.maybe_without_filename |
7 |
0 |
2 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
TranslatableString.rewrapped |
5 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
TranslatableString.with_comments |
2 |
0 |
2 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
TranslatableString.validate_flags |
11 |
0 |
0 |
6 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
translatable |
2 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
TranslatedString.__init__ |
5 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
TranslatedString.__bool__ |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
TranslatedString.__str__ |
13 |
0 |
0 |
4 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
TranslatedString._escape |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
TranslatedString.constant |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
TranslatedString.maybe_without_filename |
4 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
commented |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_internals\cli_messages.py |
(no function) |
389 |
0 |
71 |
0 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
json_path |
4 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
json_path.needs_longhand |
3 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
_VaultConfigValidator.__init__ |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
_VaultConfigValidator.traverse_path |
4 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
_VaultConfigValidator.walk_subconfigs |
7 |
0 |
0 |
8 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
_VaultConfigValidator.validate |
51 |
0 |
0 |
40 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
_VaultConfigValidator.clean_up_falsy_values |
30 |
0 |
3 |
16 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
_VaultConfigValidator.clean_up_falsy_values.falsy |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
_VaultConfigValidator.clean_up_falsy_values.falsy_but_not_zero |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
_VaultConfigValidator.clean_up_falsy_values.falsy_but_not_string |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
validate_vault_config |
1 |
0 |
2 |
0 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
is_vault_config |
5 |
0 |
2 |
0 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
js_truthiness |
6 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
clean_up_falsy_vault_config_values |
4 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
SSHKeyCommentPair.toreadonly |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
StoreroomKeyPair.toreadonly |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
StoreroomMasterKeys.toreadonly |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\_types.py |
(no function) |
151 |
0 |
46 |
0 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
derivepassphrase |
8 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
derivepassphrase_export |
6 |
0 |
2 |
2 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
derivepassphrase_export_vault |
25 |
0 |
0 |
8 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.__init__ |
16 |
0 |
1 |
10 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.is_param_set |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.option_name |
4 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.check_incompatible_options |
11 |
0 |
0 |
6 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.err |
6 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.warning |
5 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.deprecation_warning |
5 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.deprecation_info |
5 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.get_config |
18 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.put_config |
6 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.get_user_config |
8 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.validate_command_line |
30 |
0 |
0 |
30 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.get_mutex |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.dispatch_op |
13 |
0 |
0 |
8 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.run_op_delete_service_settings |
6 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.run_op_delete_globals |
4 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.run_op_clear_all_settings |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.run_op_import_settings |
48 |
0 |
0 |
22 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.run_op_export_settings |
16 |
0 |
0 |
4 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.run_subop_query_phrase_or_key_change |
18 |
0 |
0 |
10 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.run_op_store_config_only |
68 |
0 |
0 |
34 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
_VaultContext.run_op_derive_passphrase |
34 |
0 |
0 |
14 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
derivepassphrase_vault |
3 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\cli.py |
(no function) |
100 |
0 |
6 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\__init__.py |
NotAVaultConfigError.__init__ |
2 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\__init__.py |
get_vault_key |
6 |
0 |
6 |
2 |
0 |
100.000% |
| src\derivepassphrase\exporter\__init__.py |
get_vault_path |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\__init__.py |
register_export_vault_config_data_handler |
8 |
0 |
0 |
4 |
0 |
100.000% |
| src\derivepassphrase\exporter\__init__.py |
register_export_vault_config_data_handler.wrapper |
6 |
0 |
0 |
4 |
0 |
100.000% |
| src\derivepassphrase\exporter\__init__.py |
find_vault_config_data_handlers |
2 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\__init__.py |
export_vault_config_data |
6 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\exporter\__init__.py |
(no function) |
15 |
0 |
15 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\storeroom.py |
export_storeroom_data |
66 |
0 |
3 |
26 |
0 |
100.000% |
| src\derivepassphrase\exporter\storeroom.py |
_h |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\storeroom.py |
_derive_master_keys_keys |
6 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\exporter\storeroom.py |
_decrypt_master_keys_data |
22 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\storeroom.py |
_decrypt_session_keys |
24 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\storeroom.py |
_decrypt_contents |
18 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\storeroom.py |
_decrypt_bucket_item |
9 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\exporter\storeroom.py |
_decrypt_bucket_file |
15 |
0 |
0 |
4 |
0 |
100.000% |
| src\derivepassphrase\exporter\storeroom.py |
_store |
6 |
0 |
0 |
4 |
0 |
100.000% |
| src\derivepassphrase\exporter\storeroom.py |
(no function) |
40 |
0 |
21 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
export_vault_native_data |
13 |
0 |
3 |
4 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
_h |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeConfigParser.__init__ |
18 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeConfigParser.__call__ |
7 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeConfigParser._pbkdf2 |
6 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeConfigParser._parse_contents |
18 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeConfigParser._parse_contents.cut |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeConfigParser._derive_keys |
5 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeConfigParser._check_signature |
12 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeConfigParser._decrypt_payload |
15 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeV03ConfigParser.__init__ |
3 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeV03ConfigParser._generate_keys |
4 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeV03ConfigParser._hmac_input |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeV03ConfigParser._make_decryptor |
4 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeV02ConfigParser.__init__ |
3 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeV02ConfigParser._parse_contents |
5 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeV02ConfigParser._generate_keys |
5 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeV02ConfigParser._hmac_input |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeV02ConfigParser._evp_bytestokey_md5_one_iteration_no_salt |
17 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
VaultNativeV02ConfigParser._make_decryptor |
4 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\exporter\vault_native.py |
(no function) |
61 |
0 |
30 |
0 |
0 |
100.000% |
| src\derivepassphrase\sequin.py |
Sequin.__init__ |
20 |
0 |
0 |
8 |
0 |
100.000% |
| src\derivepassphrase\sequin.py |
Sequin.__init__.uint8_to_bits |
2 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\sequin.py |
Sequin._all_or_nothing_shift |
15 |
0 |
0 |
4 |
0 |
100.000% |
| src\derivepassphrase\sequin.py |
Sequin._big_endian_number |
17 |
0 |
0 |
8 |
0 |
100.000% |
| src\derivepassphrase\sequin.py |
Sequin.generate |
7 |
0 |
0 |
4 |
0 |
100.000% |
| src\derivepassphrase\sequin.py |
Sequin._generate_inner |
27 |
0 |
0 |
16 |
0 |
100.000% |
| src\derivepassphrase\sequin.py |
Sequin._stash |
4 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\sequin.py |
SequinExhaustedError.__init__ |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\sequin.py |
(no function) |
16 |
0 |
2 |
0 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\__init__.py |
TrailingDataError.__init__ |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\__init__.py |
SSHAgentFailedError.__str__ |
2 |
0 |
6 |
0 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\__init__.py |
SSHAgentClient.__init__ |
31 |
2 |
4 |
12 |
1 |
93.023% |
| src\derivepassphrase\ssh_agent\__init__.py |
SSHAgentClient.__enter__ |
2 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\__init__.py |
SSHAgentClient.__exit__ |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\__init__.py |
SSHAgentClient.uint32 |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\__init__.py |
SSHAgentClient.string |
9 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\__init__.py |
SSHAgentClient.unstring |
6 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\__init__.py |
SSHAgentClient.unstring_prefix |
9 |
0 |
0 |
4 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\__init__.py |
SSHAgentClient.ensure_agent_subcontext |
6 |
0 |
4 |
2 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\__init__.py |
SSHAgentClient._agent_is_pageant |
1 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\__init__.py |
SSHAgentClient.has_deterministic_dsa_signatures |
2 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\__init__.py |
SSHAgentClient.request |
20 |
0 |
2 |
8 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\__init__.py |
SSHAgentClient.list_keys |
14 |
0 |
0 |
4 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\__init__.py |
SSHAgentClient.list_keys.shift |
10 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\__init__.py |
SSHAgentClient.sign |
11 |
0 |
0 |
4 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\__init__.py |
SSHAgentClient.query_extensions |
20 |
2 |
0 |
4 |
0 |
91.667% |
| src\derivepassphrase\ssh_agent\__init__.py |
(no function) |
39 |
0 |
32 |
0 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\socketprovider.py |
SocketProvider.unix_domain_ssh_auth_sock |
11 |
8 |
0 |
4 |
1 |
26.667% |
| src\derivepassphrase\ssh_agent\socketprovider.py |
SocketProvider.the_annoying_os_named_pipes |
4 |
1 |
1 |
2 |
1 |
66.667% |
| src\derivepassphrase\ssh_agent\socketprovider.py |
SocketProvider.register |
2 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\socketprovider.py |
SocketProvider.register.decorator |
9 |
0 |
0 |
4 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\socketprovider.py |
SocketProvider.resolve |
9 |
0 |
1 |
4 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\socketprovider.py |
SocketProvider._find_all_ssh_agent_socket_providers |
24 |
0 |
3 |
14 |
0 |
100.000% |
| src\derivepassphrase\ssh_agent\socketprovider.py |
(no function) |
26 |
0 |
3 |
0 |
0 |
100.000% |
| src\derivepassphrase\vault.py |
Vault.__init__ |
20 |
0 |
0 |
6 |
0 |
100.000% |
| src\derivepassphrase\vault.py |
Vault.__init__.subtract_or_require |
6 |
0 |
0 |
6 |
0 |
100.000% |
| src\derivepassphrase\vault.py |
Vault._entropy |
7 |
0 |
0 |
4 |
0 |
100.000% |
| src\derivepassphrase\vault.py |
Vault._estimate_sufficient_hash_length |
10 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\vault.py |
Vault._get_binary_string |
3 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\vault.py |
Vault.create_hash |
4 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\vault.py |
Vault.generate |
28 |
0 |
0 |
8 |
0 |
100.000% |
| src\derivepassphrase\vault.py |
Vault.is_suitable_ssh_key |
8 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\vault.py |
Vault.phrase_from_key |
8 |
2 |
0 |
2 |
1 |
70.000% |
| src\derivepassphrase\vault.py |
Vault.phrases_are_interchangable |
2 |
0 |
0 |
0 |
0 |
100.000% |
| src\derivepassphrase\vault.py |
Vault._phrase_to_hmac_key |
9 |
0 |
0 |
2 |
0 |
100.000% |
| src\derivepassphrase\vault.py |
Vault._subtract |
16 |
0 |
0 |
6 |
0 |
100.000% |
| src\derivepassphrase\vault.py |
(no function) |
33 |
0 |
3 |
0 |
0 |
100.000% |
| tests\__init__.py |
SSHTestKey.is_suitable |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
is_valid_test_config |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
vault_full_service_config |
12 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
is_smudgable_vault_test_config |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
smudged_vault_test_config |
25 |
0 |
0 |
16 |
0 |
100.000% |
| tests\__init__.py |
get_concurrency_limit |
8 |
0 |
0 |
2 |
0 |
100.000% |
| tests\__init__.py |
get_concurrency_step_count |
1 |
0 |
2 |
0 |
0 |
100.000% |
| tests\__init__.py |
FakeSSHAgentSocket.__init__ |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
FakeSSHAgentSocket.__enter__ |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
FakeSSHAgentSocket.__exit__ |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
FakeSSHAgentSocket.sendall |
11 |
0 |
0 |
2 |
0 |
100.000% |
| tests\__init__.py |
FakeSSHAgentSocket.recv |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
FakeSSHAgentSocket.parse_client_request_and_dispatch |
17 |
1 |
0 |
12 |
1 |
93.103% |
| tests\__init__.py |
FakeSSHAgentSocket.parse_client_request_and_dispatch.as_extension |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
FakeSSHAgentSocket.query_extensions |
5 |
0 |
0 |
2 |
0 |
100.000% |
| tests\__init__.py |
FakeSSHAgentSocket.request_identities |
11 |
3 |
0 |
6 |
2 |
70.588% |
| tests\__init__.py |
FakeSSHAgentSocket.sign |
15 |
0 |
0 |
12 |
0 |
100.000% |
| tests\__init__.py |
FakeSSHAgentSocketWithAddress.__init__ |
15 |
0 |
0 |
6 |
0 |
100.000% |
| tests\__init__.py |
list_keys |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
sign |
6 |
0 |
1 |
2 |
0 |
100.000% |
| tests\__init__.py |
list_keys_singleton |
4 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
suitable_ssh_keys |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
phrase_from_key |
3 |
0 |
1 |
0 |
0 |
100.000% |
| tests\__init__.py |
faked_entry_point_list |
27 |
0 |
29 |
8 |
0 |
100.000% |
| tests\__init__.py |
faked_entry_point_list.mangled_entry_points |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
isolated_config |
18 |
0 |
0 |
2 |
0 |
100.000% |
| tests\__init__.py |
isolated_vault_config |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
isolated_vault_exporter_config |
40 |
0 |
4 |
8 |
0 |
100.000% |
| tests\__init__.py |
auto_prompt |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
make_file_readonly |
10 |
0 |
0 |
4 |
0 |
100.000% |
| tests\__init__.py |
ReadableResult.clean_exit |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
ReadableResult.error_exit |
5 |
0 |
0 |
2 |
0 |
100.000% |
| tests\__init__.py |
ReadableResult.error_exit.error_match |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
CliRunner.__init__ |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
CliRunner.invoke |
6 |
0 |
2 |
0 |
0 |
100.000% |
| tests\__init__.py |
CliRunner.isolated_filesystem |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
parse_sh_export_line |
14 |
0 |
0 |
6 |
0 |
100.000% |
| tests\__init__.py |
message_emitted_factory |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
message_emitted_factory.message_emitted |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\__init__.py |
message_emitted_factory.message_emitted.check_record |
4 |
0 |
1 |
2 |
0 |
100.000% |
| tests\__init__.py |
(no function) |
231 |
0 |
15 |
0 |
0 |
100.000% |
| tests\conftest.py |
_hypothesis_settings_setup |
9 |
0 |
9 |
0 |
0 |
100.000% |
| tests\conftest.py |
terminate_on_exit |
4 |
4 |
0 |
0 |
0 |
0.000% |
| tests\conftest.py |
ssh_agent_client_with_test_keys_loaded |
14 |
0 |
21 |
2 |
0 |
100.000% |
| tests\conftest.py |
ssh_agent_client_with_test_keys_loaded.prepare_payload |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\conftest.py |
(no function) |
28 |
0 |
38 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
is_warning_line |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
is_harmless_config_import_warning |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
assert_vault_config_is_indented_and_line_broken |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
vault_config_exporter_shell_interpreter |
21 |
0 |
11 |
6 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
parse_version_output |
46 |
0 |
3 |
32 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
bash_format |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
fish_format |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
zsh_format |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
ListKeysAction.__call__ |
6 |
0 |
1 |
4 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
SignAction.__call__ |
4 |
0 |
1 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
SocketAddressAction.__call__ |
4 |
0 |
3 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
SystemSupportAction.__call__ |
14 |
3 |
1 |
6 |
0 |
85.000% |
| tests\test_derivepassphrase_cli.py |
SystemSupportAction.check_or_ensure_use |
2 |
0 |
21 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestAllCLI.test_001_parse_version_output |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestAllCLI.test_100_help_output |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestAllCLI.test_101_help_output_export |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestAllCLI.test_102_help_output_export_vault |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestAllCLI.test_103_help_output_vault |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestAllCLI.test_200_eager_options |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestAllCLI.test_201_automatic_color_mode |
8 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestAllCLI.test_202a_derivepassphrase_version_option_output |
15 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestAllCLI.test_202b_export_version_option_output |
15 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestAllCLI.test_202c_export_vault_version_option_output |
20 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestAllCLI.test_202d_vault_version_option_output |
14 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_200_help_output |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_200a_version_output |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_201_disable_character_set |
11 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_202_disable_repetition |
10 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_204a_key_from_config |
11 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_204b_key_from_command_line |
13 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_204c_key_override_on_command_line |
12 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_205_service_phrase_if_key_in_global_config |
13 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_206_setting_phrase_thus_overriding_key_in_config |
16 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_207_service_with_notes_actually_prints_notes |
12 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_210_invalid_argument_range |
7 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_211_service_needed |
17 |
0 |
0 |
4 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_211a_empty_service_name_causes_warning |
17 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_211a_empty_service_name_causes_warning.is_expected_warning |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_212_incompatible_options |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_213_import_config_success |
11 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_213a_import_config_success |
15 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_213b_import_bad_config_not_vault_config |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_213c_import_bad_config_not_json_data |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_213d_import_bad_config_not_a_file |
8 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_214_export_config_success |
13 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_214a_export_settings_no_stored_settings |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_214b_export_settings_bad_stored_config |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_214c_export_settings_not_a_file |
9 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_214d_export_settings_target_not_a_file |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_214e_export_settings_settings_directory_not_a_directory |
10 |
10 |
0 |
0 |
0 |
0.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_215_notes_placement |
11 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_220_edit_notes_successfully |
18 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_221_edit_notes_noop |
16 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_221_edit_notes_noop.empty |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_221_edit_notes_noop.space |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_222_edit_notes_marker_removed |
18 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_223_edit_notes_abort |
10 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_223a_edit_empty_notes_abort |
10 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_223b_edit_notes_fail_config_option_missing |
22 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_224_store_config_good |
11 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_225_store_config_fail |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_225b_store_config_fail_manual_no_ssh_agent |
8 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_225c_store_config_fail_manual_bad_ssh_agent_connection |
9 |
8 |
0 |
0 |
0 |
11.111% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_225d_store_config_fail_manual_read_only_file |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_225e_store_config_fail_manual_custom_error |
9 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_225e_store_config_fail_manual_custom_error.raiser |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_225f_store_config_fail_unset_and_set_same_settings |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_225g_store_config_fail_manual_ssh_agent_no_keys_loaded |
9 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_225g_store_config_fail_manual_ssh_agent_no_keys_loaded.func |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_225h_store_config_fail_manual_ssh_agent_runtime_error |
9 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_225h_store_config_fail_manual_ssh_agent_runtime_error.raiser |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_225i_store_config_fail_manual_ssh_agent_refuses |
9 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_225i_store_config_fail_manual_ssh_agent_refuses.func |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_226_no_arguments |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_226a_no_passphrase_or_key |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_230_config_directory_nonexistant |
12 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_230a_config_directory_not_a_file |
9 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_230a_config_directory_not_a_file.obstruct_config_saving |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_230b_store_config_custom_error |
9 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_230b_store_config_custom_error.raiser |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_300_unicode_normalization_form_warning |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_301_unicode_normalization_form_error |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_301a_unicode_normalization_form_error_from_stored_config |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_310_bad_user_config_file |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_311_bad_user_config_is_a_directory |
9 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLI.test_400_missing_af_unix_support |
10 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_100_load_config |
8 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_110_save_bad_config |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_111_prompt_for_selection_multiple |
13 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_111_prompt_for_selection_multiple.driver |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_112_prompt_for_selection_single |
13 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_112_prompt_for_selection_single.driver |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_113_prompt_for_passphrase |
11 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_120_standard_logging_context_manager |
16 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_121_standard_logging_warnings_context_manager |
22 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.export_as_sh_helper |
11 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_130a_export_as_sh_global |
4 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_130b_export_as_sh_global_only_imports |
6 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_130c_export_as_sh_service |
4 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_130d_export_as_sh_service_only_imports |
4 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_140a_get_tempdir |
21 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_140a_get_tempdir.make_temporary_directory |
4 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_140b_get_tempdir_force_default |
14 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_140b_get_tempdir_force_default.is_dir_false |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_140b_get_tempdir_force_default.is_dir_error |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_203_repeated_config_deletion |
10 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_204_phrase_from_key_manually |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_210a_validate_constraints_manually |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_227_get_suitable_ssh_keys |
11 |
0 |
11 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_400_key_to_phrase |
20 |
0 |
0 |
8 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_400_key_to_phrase.ErrCallback.__init__ |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLIUtils.test_400_key_to_phrase.err |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLITransition.test_110_load_config_backup |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLITransition.test_111_migrate_config |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLITransition.test_112_migrate_config_error |
10 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLITransition.test_113_migrate_config_error_bad_config_value |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLITransition.test_200_forward_export_vault_path_parameter |
11 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLITransition.test_201_forward_export_vault_empty_commandline |
9 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLITransition.test_210_forward_vault_disable_character_set |
13 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLITransition.test_211_forward_vault_empty_command_line |
8 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLITransition.test_300_export_using_old_config_file |
10 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLITransition.test_300a_export_using_old_config_file_migration_error |
12 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLITransition.test_300a_export_using_old_config_file_migration_error.raiser |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestCLITransition.test_400_completion_service_name_old_config_file |
10 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
build_reduced_vault_config_settings |
4 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
services_strategy |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
assemble_config |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
draw_service_name_and_data |
6 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
vault_full_config |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
ConfigManagementStateMachine.__init__ |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
ConfigManagementStateMachine.declare_initial_configs |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
ConfigManagementStateMachine.extract_initial_settings |
4 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
ConfigManagementStateMachine.fold_configs |
4 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
ConfigManagementStateMachine.set_globals |
14 |
0 |
0 |
6 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
ConfigManagementStateMachine.set_service |
14 |
0 |
0 |
6 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
ConfigManagementStateMachine.purge_global |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
ConfigManagementStateMachine.purge_service |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
ConfigManagementStateMachine.purge_all |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
ConfigManagementStateMachine.import_configuration |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
ConfigManagementStateMachine.teardown |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
run_actions_handler |
6 |
0 |
2 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
FakeConfigurationMutexStateMachine.ConfigurationMutexStub.__init__ |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
FakeConfigurationMutexStateMachine.ConfigurationMutexStub.__init__.lock |
4 |
0 |
6 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
FakeConfigurationMutexStateMachine.ConfigurationMutexStub.__init__.unlock |
3 |
0 |
3 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
FakeConfigurationMutexStateMachine.__init__ |
3 |
0 |
5 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
FakeConfigurationMutexStateMachine.declare_initial_configs |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
FakeConfigurationMutexStateMachine.extract_initial_settings |
4 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
FakeConfigurationMutexStateMachine.declare_initial_action |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
FakeConfigurationMutexStateMachine.add_set_globals_action |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
FakeConfigurationMutexStateMachine.add_set_service_action |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
FakeConfigurationMutexStateMachine.add_purge_global_action |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
FakeConfigurationMutexStateMachine.add_purge_service_action |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
FakeConfigurationMutexStateMachine.add_purge_all_action |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
FakeConfigurationMutexStateMachine.add_import_configuration_action |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
FakeConfigurationMutexStateMachine.run_actions |
56 |
0 |
11 |
10 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
FakeConfigurationMutexStateMachine.mainloop |
28 |
0 |
4 |
8 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
completion_item |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
assertable_item |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestShellCompletion.Completions.__init__ |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestShellCompletion.Completions.__call__ |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestShellCompletion.Completions.get_words |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestShellCompletion.test_100_is_completable_item |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestShellCompletion.test_200_options |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestShellCompletion.test_201_subcommands |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestShellCompletion.test_202_paths |
4 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestShellCompletion.test_203_service_names |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestShellCompletion.test_300_shell_completion_formatting |
20 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestShellCompletion.test_400_incompletable_service_names |
14 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestShellCompletion.test_410a_service_name_exceptions_not_found |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestShellCompletion.test_410b_service_name_exceptions_custom_error |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
TestShellCompletion.test_410b_service_name_exceptions_custom_error.raiser |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli.py |
(no function) |
458 |
0 |
6 |
6 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestCLI.test_200_path_parameter |
8 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestCLI.test_201_key_parameter |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestCLI.test_210_load_vault_v02_v03_storeroom |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestCLI.test_301_vault_config_not_found |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestCLI.test_302_vault_config_invalid |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestCLI.test_302a_vault_config_invalid_just_a_directory |
10 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestCLI.test_403_invalid_vault_config_bad_signature |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestCLI.test_500_vault_config_invalid_internal |
9 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestCLI.test_500_vault_config_invalid_internal.export_vault_config_data |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestStoreroom.test_200_export_data_path_and_keys_type |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestStoreroom.test_400_decrypt_bucket_item_unknown_version |
4 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestStoreroom.test_401_decrypt_bucket_file_bad_json_or_version |
10 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestStoreroom.test_402_export_storeroom_data_bad_master_keys_file |
9 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestStoreroom.test_403_export_storeroom_data_bad_directory_listing |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestStoreroom.test_404_decrypt_keys_wrong_data_length |
19 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestStoreroom.test_405_decrypt_keys_invalid_signature |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestVaultNativeConfig.test_200_pbkdf2_manually |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestVaultNativeConfig.test_201_export_vault_native_data_explicit_version |
9 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestVaultNativeConfig.test_202_export_data_path_and_keys_type |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestVaultNativeConfig.test_300_result_caching |
14 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestVaultNativeConfig.test_300_result_caching.null_func |
1 |
0 |
1 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
TestVaultNativeConfig.test_400_no_password |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_cli_export_vault.py |
(no function) |
67 |
0 |
4 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_exporter.py |
Test001ExporterUtils.VaultKeyEnvironment.strategy |
9 |
0 |
0 |
4 |
0 |
100.000% |
| tests\test_derivepassphrase_exporter.py |
Test001ExporterUtils.test_200_get_vault_key |
11 |
0 |
0 |
4 |
0 |
100.000% |
| tests\test_derivepassphrase_exporter.py |
Test001ExporterUtils.test_210_get_vault_path |
7 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_exporter.py |
Test001ExporterUtils.test_220_register_export_vault_config_data_handler |
7 |
0 |
6 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_exporter.py |
Test001ExporterUtils.test_300_get_vault_key_without_envs |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_exporter.py |
Test001ExporterUtils.test_310_get_vault_path_without_home |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_exporter.py |
Test001ExporterUtils.test_310_get_vault_path_without_home.raiser |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_exporter.py |
Test001ExporterUtils.test_320_register_export_vault_config_data_handler_errors |
5 |
0 |
6 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_exporter.py |
Test001ExporterUtils.test_321_export_vault_config_data_bad_handler |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_exporter.py |
Test002CLI.test_300_invalid_format |
7 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_exporter.py |
Test002CLI.test_999_no_cryptography_error_message |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_exporter.py |
(no function) |
62 |
0 |
2 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_sequin.py |
bits |
10 |
0 |
3 |
4 |
0 |
100.000% |
| tests\test_derivepassphrase_sequin.py |
bitseq |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_sequin.py |
TestStaticFunctionality.test_100_bits |
11 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_sequin.py |
TestStaticFunctionality.test_101_bits |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_sequin.py |
TestStaticFunctionality.BigEndianNumberTest.strategy |
7 |
0 |
4 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_sequin.py |
TestStaticFunctionality.test_200_big_endian_number |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_sequin.py |
TestStaticFunctionality.test_300_big_endian_number_exceptions |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_sequin.py |
TestSequin.ConstructorTestCase.strategy |
21 |
1 |
0 |
10 |
1 |
93.548% |
| tests\test_derivepassphrase_sequin.py |
TestSequin.test_200_constructor |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_sequin.py |
TestSequin.GenerationSequence.strategy |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_sequin.py |
TestSequin.test_201_generating |
6 |
0 |
1 |
4 |
0 |
100.000% |
| tests\test_derivepassphrase_sequin.py |
TestSequin.test_201a_generating_errors |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_sequin.py |
TestSequin.test_210_internal_generating |
8 |
0 |
0 |
6 |
0 |
100.000% |
| tests\test_derivepassphrase_sequin.py |
TestSequin.test_210a_internal_generating_errors |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_sequin.py |
TestSequin.ShiftSequence.strategy |
13 |
0 |
0 |
4 |
0 |
100.000% |
| tests\test_derivepassphrase_sequin.py |
TestSequin.test_211_shifting |
8 |
0 |
0 |
4 |
0 |
100.000% |
| tests\test_derivepassphrase_sequin.py |
TestSequin.test_300_constructor_exceptions |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_sequin.py |
(no function) |
86 |
0 |
2 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestTestingMachineryFakeSSHAgentSocket.test_100_query_extensions |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestTestingMachineryFakeSSHAgentSocket.test_101_request_identities |
14 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestTestingMachineryFakeSSHAgentSocket.test_102_sign |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestTestingMachineryFakeSSHAgentSocket.test_120_close_multiple |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestTestingMachineryFakeSSHAgentSocket.test_121_closed_agents_cannot_be_interacted_with |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestTestingMachineryFakeSSHAgentSocket.test_122_no_recv_without_sendall |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestTestingMachineryFakeSSHAgentSocket.test_123_invalid_ssh_agent_messages |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestTestingMachineryFakeSSHAgentSocket.test_124_unsupported_ssh_agent_messages |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestTestingMachineryFakeSSHAgentSocket.test_125_addresses |
8 |
0 |
0 |
4 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.as_ssh_string |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.canonicalize1 |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.canonicalize2 |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_100_key_decoding |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_190_sh_export_line_parsing |
4 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_200_constructor_posix_no_ssh_auth_sock |
6 |
6 |
0 |
0 |
0 |
0.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_210_uint32 |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_210a_uint32_from_number |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_210b_uint32_from_bytestring |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_211_string |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_211a_string_from_bytestring |
4 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_212_unstring |
4 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_212a_unstring_of_string_of_data |
9 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_212b_string_of_unstring_of_data |
5 |
0 |
0 |
4 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_220_registry_resolve |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_221_registry_resolve_chains |
13 |
0 |
3 |
4 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_230_find_all_socket_providers |
7 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_231_find_all_socket_providers_errors |
4 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_310_uint32_exceptions |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_311_string_exceptions |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_312_unstring_exceptions |
8 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_320_registry_already_registered |
17 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestStaticFunctionality.test_321_registry_resolve_non_existant_entries |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_200_sign_data_via_agent |
12 |
0 |
2 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_201_sign_data_via_agent_unsupported |
8 |
5 |
2 |
2 |
0 |
30.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_210_ssh_key_selector |
19 |
0 |
0 |
4 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_210_ssh_key_selector.key_is_suitable |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_210_ssh_key_selector.driver |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_300_constructor_bad_running_agent |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_301_constructor_no_af_unix_support |
6 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_302_no_ssh_agent_socket_provider_available |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_303_explicit_socket |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_310_truncated_server_response |
11 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_310_truncated_server_response.PseudoSocket.sendall |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_310_truncated_server_response.PseudoSocket.recv |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_320_list_keys_error_responses |
8 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_320_list_keys_error_responses.request |
9 |
0 |
2 |
4 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_330_sign_error_responses |
12 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_330_sign_error_responses.request |
8 |
0 |
3 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_340_request_error_responses |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_350_query_extensions_malformed_responses |
8 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
TestAgentInteraction.test_350_query_extensions_malformed_responses.request |
4 |
0 |
8 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_ssh_agent.py |
(no function) |
130 |
0 |
3 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_types.py |
js_atoms_strategy |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_types.py |
js_nested_strategy |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_types.py |
test_100_js_truthiness |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_types.py |
test_200_is_vault_config |
4 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_types.py |
test_200a_is_vault_config_smudged |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_types.py |
test_400_validate_vault_config |
9 |
0 |
2 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_types.py |
test_400a_validate_vault_config_smudged |
10 |
0 |
2 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_types.py |
(no function) |
28 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
phrases_are_interchangable |
4 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
phrases_are_interchangable.canon |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_100a_create_hash_phrase_dependence_small |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_100b_create_hash_phrase_dependence_medium |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_100c_create_hash_phrase_dependence_large |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_100d_create_hash_phrase_dependence_mixed |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_101_create_hash_service_name_dependence |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_102a_interchangable_phrases_small |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_102b_interchangable_phrases_large |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_200_basic_configuration |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_201_phrase_dependence |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_201a_phrase_dependence |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_202a_reproducibility_and_bytes_service_name |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_202b_reproducibility_and_bytearray_service_name |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_202c_reproducibility_and_buffer_like_service_name |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_203a_reproducibility_and_binary_phrases |
5 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_203b_reproducibility_and_binary_service_name |
5 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_204a_service_name_dependence |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_204b_service_name_dependence_with_config |
2 |
0 |
3 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_210_nonstandard_length |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_210a_password_with_length |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_211_repetition_limit |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_212_without_symbols |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_213_no_numbers |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_214_no_lowercase_letters |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_215_at_least_5_digits |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_216_lots_of_spaces |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_217_all_character_classes |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_217a_all_length_character_and_occurrence_constraints_satisfied |
16 |
0 |
3 |
10 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_217a_all_length_character_and_occurrence_constraints_satisfied.length_r_substrings |
2 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_218_only_numbers_and_very_high_repetition_limit |
4 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_218a_arbitrary_repetition_limit |
3 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_219_very_limited_character_set |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_220_character_set_subtraction |
1 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_221_entropy |
6 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_222_hash_length_estimation |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_223_hash_length_expansion |
4 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_224_binary_strings |
6 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_310_too_many_symbols |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_311_no_viable_characters |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_320_character_set_subtraction_duplicate |
4 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
TestVault.test_322_hash_length_estimation |
5 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_derivepassphrase_vault.py |
(no function) |
91 |
0 |
3 |
0 |
0 |
100.000% |
| tests\test_l10n.py |
use_debug_translations |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_l10n.py |
monkeypatched_null_translations |
3 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_l10n.py |
TestL10nMachineryWithDebugTranslations.test_100_debug_translation_get_str |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_l10n.py |
TestL10nMachineryWithDebugTranslations.test_100a_debug_translation_get_ts |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_l10n.py |
TestL10nMachineryWithDebugTranslations.test_100b_debug_translation_get_enum |
8 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_l10n.py |
TestL10nMachineryWithDebugTranslations.test_100c_debug_translation_get_ts_str |
2 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_l10n.py |
TestL10nMachineryWithDebugTranslations.test_101_translated_strings_operations |
12 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_l10n.py |
TestL10nMachineryWithDebugTranslations.test_101a_translated_strings_operations_interpolated |
8 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_l10n.py |
TestL10nMachineryWithDebugTranslations.test_101b_translated_strings_operations_interpolated |
7 |
0 |
0 |
0 |
0 |
100.000% |
| tests\test_l10n.py |
TestL10nMachineryWithDebugTranslations.test_102_translated_strings_suppressed_interpolation_fail |
12 |
0 |
0 |
2 |
0 |
100.000% |
| tests\test_l10n.py |
TestL10nMachineryWithDebugTranslations.test_102a_translated_strings_suppressed_interpolation_str |
4 |
0 |
3 |
0 |
0 |
100.000% |
| tests\test_l10n.py |
TestL10nMachineryWithDebugTranslations.test_102b_translated_strings_suppressed_interpolation_ts_manual |
5 |
0 |
3 |
0 |
0 |
100.000% |
| tests\test_l10n.py |
(no function) |
54 |
0 |
2 |
2 |
0 |
100.000% |