Coverage report: 97.67%

Files Functions Classes

coverage.py v7.6.3, created at 2024-10-17 17:18 +0200

File function statements missing excluded branches partial coverage
src/duty/cli.py _DebugInfo.__init__ 1 0 0 0 0 100.00%
src/duty/cli.py _DebugInfo.__call__ 2 0 0 0 0 100.00%
src/duty/cli.py get_parser 12 0 0 0 0 100.00%
src/duty/cli.py split_args 14 0 0 10 0 100.00%
src/duty/cli.py get_duty_parser 3 0 0 0 0 100.00%
src/duty/cli.py specified_options 3 0 0 0 0 100.00%
src/duty/cli.py parse_options 3 0 0 0 0 100.00%
src/duty/cli.py parse_args 8 0 0 4 0 100.00%
src/duty/cli.py parse_commands 9 1 0 4 1 84.62%
src/duty/cli.py print_help 10 0 0 4 0 100.00%
src/duty/cli.py main 31 0 0 8 0 100.00%
src/duty/cli.py (no function) 24 0 0 0 0 100.00%
src/duty/collection.py Duty.__init__ 11 0 0 2 0 100.00%
src/duty/collection.py Duty.context 1 0 0 0 0 100.00%
src/duty/collection.py Duty.run 1 0 0 0 0 100.00%
src/duty/collection.py Duty.run_duties 7 0 0 8 0 100.00%
src/duty/collection.py Duty.__call__ 3 0 0 0 0 100.00%
src/duty/collection.py Collection.__init__ 3 0 0 0 0 100.00%
src/duty/collection.py Collection.clear 2 0 0 0 0 100.00%
src/duty/collection.py Collection.names 1 0 0 0 0 100.00%
src/duty/collection.py Collection.get 4 0 0 0 0 100.00%
src/duty/collection.py Collection.format_help 6 0 0 2 0 100.00%
src/duty/collection.py Collection.add 6 0 0 4 0 100.00%
src/duty/collection.py Collection.load 9 0 0 4 1 92.31%
src/duty/collection.py (no function) 25 0 0 0 0 100.00%
src/duty/context.py Context.__init__ 3 0 0 0 0 100.00%
src/duty/context.py Context.cd 8 0 0 2 0 100.00%
src/duty/context.py Context.run 17 2 0 6 1 86.96%
src/duty/context.py Context.options 5 0 0 0 0 100.00%
src/duty/context.py (no function) 15 0 2 0 0 100.00%
src/duty/debug.py _interpreter_name_version 8 1 0 4 1 83.33%
src/duty/debug.py get_version 4 2 0 0 0 50.00%
src/duty/debug.py get_debug_info 4 0 0 0 0 100.00%
src/duty/debug.py print_debug_info 9 0 0 4 0 100.00%
src/duty/debug.py (no function) 38 1 0 2 1 95.00%
src/duty/decorator.py _skip 2 0 0 0 0 100.00%
src/duty/decorator.py _skip.wrapper 1 0 0 0 0 100.00%
src/duty/decorator.py create_duty 14 0 0 4 0 100.00%
src/duty/decorator.py duty 1 0 0 2 1 66.67%
src/duty/decorator.py duty 1 0 0 2 1 66.67%
src/duty/decorator.py duty 6 0 0 4 0 100.00%
src/duty/decorator.py duty.decorator 1 0 0 0 0 100.00%
src/duty/decorator.py (no function) 11 0 3 0 0 100.00%
src/duty/exceptions.py DutyFailure.__init__ 2 0 0 0 0 100.00%
src/duty/exceptions.py (no function) 2 0 0 0 0 100.00%
src/duty/validation.py to_bool 1 0 0 0 0 100.00%
src/duty/validation.py cast_arg 14 1 0 10 2 87.50%
src/duty/validation.py ParamsCaster.__init__ 2 0 0 0 0 100.00%
src/duty/validation.py ParamsCaster.var_positional_position 4 0 0 4 0 100.00%
src/duty/validation.py ParamsCaster.has_var_positional 1 0 0 0 0 100.00%
src/duty/validation.py ParamsCaster.var_positional_annotation 1 0 0 0 0 100.00%
src/duty/validation.py ParamsCaster.var_keyword_annotation 4 1 0 4 1 75.00%
src/duty/validation.py ParamsCaster.annotation_at_pos 1 0 0 0 0 100.00%
src/duty/validation.py ParamsCaster.eaten_by_var_positional 1 0 0 0 0 100.00%
src/duty/validation.py ParamsCaster.cast_posarg 3 0 0 2 0 100.00%
src/duty/validation.py ParamsCaster.cast_kwarg 3 0 0 2 0 100.00%
src/duty/validation.py ParamsCaster.cast 3 0 0 0 0 100.00%
src/duty/validation.py _get_params_caster 21 0 0 6 0 100.00%
src/duty/validation.py validate 1 0 0 0 0 100.00%
src/duty/validation.py (no function) 35 0 2 4 0 100.00%
tests/conftest.py (no function) 0 0 0 0 0 100.00%
tests/fixtures/arguments.py say_hello 1 0 0 0 0 100.00%
tests/fixtures/arguments.py (no function) 3 0 0 0 0 100.00%
tests/fixtures/basic.py hello 1 0 0 0 0 100.00%
tests/fixtures/basic.py (no function) 3 0 0 0 0 100.00%
tests/fixtures/booleans.py boolean 1 0 0 0 0 100.00%
tests/fixtures/booleans.py (no function) 3 0 0 0 0 100.00%
tests/fixtures/code.py exit_with 1 0 0 0 0 100.00%
tests/fixtures/code.py (no function) 3 0 0 0 0 100.00%
tests/fixtures/list.py tong 0 0 0 0 0 100.00%
tests/fixtures/list.py deum 0 0 0 0 0 100.00%
tests/fixtures/list.py (no function) 5 0 0 0 0 100.00%
tests/fixtures/multiple.py first_duty 1 0 0 0 0 100.00%
tests/fixtures/multiple.py second_duty 1 0 0 0 0 100.00%
tests/fixtures/multiple.py (no function) 5 0 0 0 0 100.00%
tests/fixtures/precedence.py precedence 1 0 0 0 0 100.00%
tests/fixtures/precedence.py (no function) 3 0 0 0 0 100.00%
tests/fixtures/validation.py no_params 0 0 1 0 0 100.00%
tests/fixtures/validation.py pos_or_kw_param 0 0 1 0 0 100.00%
tests/fixtures/validation.py pos_or_kw_params 0 0 1 0 0 100.00%
tests/fixtures/validation.py varpos_param 0 0 1 0 0 100.00%
tests/fixtures/validation.py pos_and_varpos_param 0 0 1 0 0 100.00%
tests/fixtures/validation.py kwonly_param 0 0 1 0 0 100.00%
tests/fixtures/validation.py varkw_param 0 0 1 0 0 100.00%
tests/fixtures/validation.py varkw_no_annotation 0 0 1 0 0 100.00%
tests/fixtures/validation.py posonly_marker 0 0 1 0 0 100.00%
tests/fixtures/validation.py kwonly_marker 0 0 1 0 0 100.00%
tests/fixtures/validation.py only_markers 0 0 1 0 0 100.00%
tests/fixtures/validation.py full 0 0 1 0 0 100.00%
tests/fixtures/validation.py (no function) 12 0 0 0 0 100.00%
tests/test_cli.py test_no_duty 3 0 0 0 0 100.00%
tests/test_cli.py test_show_help 3 0 0 0 0 100.00%
tests/test_cli.py test_show_help_for_given_duties 3 0 0 0 0 100.00%
tests/test_cli.py test_show_help_unknown_duty 3 0 0 0 0 100.00%
tests/test_cli.py test_select_duties 1 0 0 0 0 100.00%
tests/test_cli.py test_unknown_duty 1 0 0 0 0 100.00%
tests/test_cli.py test_incorrect_arguments 1 0 0 0 0 100.00%
tests/test_cli.py test_duty_failure 1 0 0 0 0 100.00%
tests/test_cli.py test_multiple_duties 4 0 0 0 0 100.00%
tests/test_cli.py test_duty_arguments 8 0 0 0 0 100.00%
tests/test_cli.py test_list_duties 4 0 0 0 0 100.00%
tests/test_cli.py test_global_options 1 0 0 0 0 100.00%
tests/test_cli.py test_global_and_local_options 1 0 0 0 0 100.00%
tests/test_cli.py test_options_precedence 4 0 0 0 0 100.00%
tests/test_cli.py test_cast_bool_parameter 1 0 0 0 0 100.00%
tests/test_cli.py test_invalid_params 6 0 0 0 0 100.00%
tests/test_cli.py test_show_version 4 0 0 0 0 100.00%
tests/test_cli.py test_show_debug_info 7 0 0 0 0 100.00%
tests/test_cli.py (no function) 23 0 0 0 0 100.00%
tests/test_collection.py none 0 0 1 0 0 100.00%
tests/test_collection.py test_instantiate_duty 2 0 0 0 0 100.00%
tests/test_collection.py test_dont_get_duty 3 0 0 0 0 100.00%
tests/test_collection.py test_register_aliases 7 0 0 0 0 100.00%
tests/test_collection.py test_replace_name_and_set_alias 3 0 0 0 0 100.00%
tests/test_collection.py test_clear_collection 5 0 0 0 0 100.00%
tests/test_collection.py test_add_duty_to_multiple_collections 10 0 0 0 0 100.00%
tests/test_collection.py (no function) 11 0 0 0 0 100.00%
tests/test_context.py test_allow_overrides 11 0 0 0 0 100.00%
tests/test_context.py test_options_context_manager 13 0 0 0 0 100.00%
tests/test_context.py test_workdir 10 0 0 0 0 100.00%
tests/test_context.py test_workdir_as_context_manager 18 0 0 0 0 100.00%
tests/test_context.py (no function) 11 0 0 0 0 100.00%
tests/test_decorator.py test_accept_one_posarg_when_decorating 2 0 0 0 0 100.00%
tests/test_decorator.py test_skipping 4 0 0 0 0 100.00%
tests/test_decorator.py (no function) 8 0 0 0 0 100.00%
tests/test_running.py test_run_duty 3 0 0 0 0 100.00%
tests/test_running.py test_run_pre_post_duties_lambdas 6 0 0 0 0 100.00%
tests/test_running.py test_run_pre_post_duties_instances 8 0 0 0 0 100.00%
tests/test_running.py test_run_pre_post_duties_refs 9 0 0 0 0 100.00%
tests/test_running.py test_dont_run_other_pre_post_duties 6 0 0 0 0 100.00%
tests/test_running.py test_code_when_keyboard_interrupt 4 0 0 0 0 100.00%
tests/test_running.py test_code_when_keyboard_interrupt.interrupt 1 0 0 0 0 100.00%
tests/test_running.py test_dont_raise_duty_failure 2 0 0 0 0 100.00%
tests/test_running.py test_cant_find_duty_without_collection 3 0 0 0 0 100.00%
tests/test_running.py (no function) 16 0 0 0 0 100.00%
tests/test_validation.py test_bool_casting 1 0 0 0 0 100.00%
tests/test_validation.py CustomType1.__init__ 1 0 0 0 0 100.00%
tests/test_validation.py CustomType1.__eq__ 1 0 0 0 0 100.00%
tests/test_validation.py CustomType2.__init__ 0 0 1 0 0 100.00%
tests/test_validation.py test_cast_arg 1 0 0 0 0 100.00%
tests/test_validation.py test_params_caster 4 0 0 0 0 100.00%
tests/test_validation.py test_casting_based_on_default_value_type 4 0 0 0 0 100.00%
tests/test_validation.py test_casting_based_on_default_value_type.func 1 1 0 0 0 0.00%
tests/test_validation.py test_validating_modern_annotations 10 0 0 0 0 100.00%
tests/test_validation.py test_validating_modern_annotations.func 1 1 0 0 0 0.00%
tests/test_validation.py (no function) 20 0 0 0 0 100.00%
Total   789 11 21 112 10 97.67%

No items found using the specified filter.