| lintro / __init__.py |
(no function) |
|
1 |
0 |
0 |
|
100% |
| lintro / __main__.py |
(no function) |
|
3 |
1 |
0 |
|
67% |
| lintro / _tool_versions.py |
_load_manifest_versions |
|
30 |
9 |
0 |
|
70% |
| lintro / _tool_versions.py |
_load_package_json |
|
12 |
3 |
0 |
|
75% |
| lintro / _tool_versions.py |
_load_npm_versions |
|
10 |
2 |
0 |
|
80% |
| lintro / _tool_versions.py |
get_tool_version |
|
19 |
6 |
0 |
|
68% |
| lintro / _tool_versions.py |
_get_npm_package_version |
|
4 |
0 |
0 |
|
100% |
| lintro / _tool_versions.py |
get_min_version |
|
4 |
0 |
0 |
|
100% |
| lintro / _tool_versions.py |
get_all_expected_versions |
|
9 |
0 |
0 |
|
100% |
| lintro / _tool_versions.py |
is_npm_managed |
|
4 |
4 |
0 |
|
0% |
| lintro / _tool_versions.py |
(no function) |
|
25 |
0 |
2 |
|
100% |
| lintro / ai / __init__.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / ai / apply.py |
_apply_fix |
|
54 |
7 |
0 |
|
87% |
| lintro / ai / apply.py |
apply_fixes |
|
4 |
0 |
0 |
|
100% |
| lintro / ai / apply.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| lintro / ai / audit.py |
write_audit_log |
|
5 |
0 |
0 |
|
100% |
| lintro / ai / audit.py |
(no function) |
|
8 |
0 |
2 |
|
100% |
| lintro / ai / availability.py |
is_ai_available |
|
16 |
10 |
0 |
|
38% |
| lintro / ai / availability.py |
is_provider_available |
|
19 |
11 |
0 |
|
42% |
| lintro / ai / availability.py |
require_ai |
|
2 |
0 |
0 |
|
100% |
| lintro / ai / availability.py |
reset_availability_cache |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / availability.py |
(no function) |
|
8 |
0 |
2 |
|
100% |
| lintro / ai / budget.py |
CostBudget.record |
|
2 |
0 |
0 |
|
100% |
| lintro / ai / budget.py |
CostBudget.spent |
|
2 |
0 |
0 |
|
100% |
| lintro / ai / budget.py |
CostBudget.remaining |
|
3 |
0 |
0 |
|
100% |
| lintro / ai / budget.py |
CostBudget.check |
|
3 |
0 |
0 |
|
100% |
| lintro / ai / budget.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| lintro / ai / cache.py |
_cache_key |
|
2 |
0 |
0 |
|
100% |
| lintro / ai / cache.py |
get_cached_suggestion |
|
24 |
8 |
0 |
|
67% |
| lintro / ai / cache.py |
_evict_lru |
|
12 |
2 |
0 |
|
83% |
| lintro / ai / cache.py |
cache_suggestion |
|
15 |
3 |
0 |
|
80% |
| lintro / ai / cache.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| lintro / ai / config.py |
AIConfig._check_retry_delays |
|
4 |
0 |
0 |
|
100% |
| lintro / ai / config.py |
AIConfig.provider_config |
|
1 |
1 |
0 |
|
0% |
| lintro / ai / config.py |
AIConfig.budget_config |
|
1 |
1 |
0 |
|
0% |
| lintro / ai / config.py |
AIConfig.output_config |
|
1 |
1 |
0 |
|
0% |
| lintro / ai / config.py |
(no function) |
|
56 |
0 |
0 |
|
100% |
| lintro / ai / config_views.py |
(no function) |
|
49 |
0 |
0 |
|
100% |
| lintro / ai / cost.py |
estimate_cost |
|
7 |
0 |
0 |
|
100% |
| lintro / ai / cost.py |
format_cost |
|
5 |
1 |
0 |
|
80% |
| lintro / ai / cost.py |
format_token_count |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / cost.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / ai / display / __init__.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / ai / display / fixes.py |
render_fixes_terminal |
|
31 |
31 |
0 |
|
0% |
| lintro / ai / display / fixes.py |
render_fixes_github |
|
27 |
3 |
0 |
|
89% |
| lintro / ai / display / fixes.py |
render_fixes_markdown |
|
34 |
34 |
0 |
|
0% |
| lintro / ai / display / fixes.py |
_risk_to_annotation_level |
|
12 |
0 |
0 |
|
100% |
| lintro / ai / display / fixes.py |
_escape_annotation |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / display / fixes.py |
_escape_property |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / display / fixes.py |
render_fixes_annotations |
|
26 |
1 |
0 |
|
96% |
| lintro / ai / display / fixes.py |
render_fixes |
|
9 |
2 |
0 |
|
78% |
| lintro / ai / display / fixes.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| lintro / ai / display / shared.py |
is_github_actions |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / display / shared.py |
cost_str |
|
4 |
0 |
0 |
|
100% |
| lintro / ai / display / shared.py |
print_section_header |
|
7 |
0 |
0 |
|
100% |
| lintro / ai / display / shared.py |
print_code_panel |
|
4 |
0 |
0 |
|
100% |
| lintro / ai / display / shared.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / ai / display / streaming.py |
stream_to_console |
|
6 |
6 |
0 |
|
0% |
| lintro / ai / display / streaming.py |
(no function) |
|
5 |
5 |
2 |
|
0% |
| lintro / ai / display / summary.py |
render_summary_terminal |
|
31 |
0 |
0 |
|
100% |
| lintro / ai / display / summary.py |
render_summary_github |
|
31 |
5 |
0 |
|
84% |
| lintro / ai / display / summary.py |
render_summary_markdown |
|
38 |
3 |
0 |
|
92% |
| lintro / ai / display / summary.py |
render_summary_annotations |
|
11 |
0 |
0 |
|
100% |
| lintro / ai / display / summary.py |
render_summary |
|
5 |
1 |
0 |
|
80% |
| lintro / ai / display / summary.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| lintro / ai / display / validation.py |
render_validation_terminal |
|
17 |
1 |
0 |
|
94% |
| lintro / ai / display / validation.py |
render_validation |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / display / validation.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / ai / enums / __init__.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / ai / enums / confidence_level.py |
ConfidenceLevel.numeric_order |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / enums / confidence_level.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / ai / enums / risk_level.py |
RiskLevel.to_severity_label |
|
3 |
0 |
0 |
|
100% |
| lintro / ai / enums / risk_level.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| lintro / ai / enums / sanitize_mode.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / ai / exceptions.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| lintro / ai / fallback.py |
_with_fallback |
|
30 |
2 |
0 |
|
93% |
| lintro / ai / fallback.py |
complete_with_fallback |
|
2 |
0 |
0 |
|
100% |
| lintro / ai / fallback.py |
complete_with_fallback._attempt |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / fallback.py |
stream_complete_with_fallback |
|
2 |
0 |
0 |
|
100% |
| lintro / ai / fallback.py |
stream_complete_with_fallback._attempt |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / fallback.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / ai / filters.py |
_glob_match |
|
23 |
20 |
0 |
|
13% |
| lintro / ai / filters.py |
should_process_issue |
|
9 |
0 |
0 |
|
100% |
| lintro / ai / filters.py |
filter_issues |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / filters.py |
(no function) |
|
8 |
0 |
3 |
|
100% |
| lintro / ai / fix.py |
_call_provider |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / fix.py |
_call_and_cache_fix |
|
16 |
2 |
0 |
|
88% |
| lintro / ai / fix.py |
_generate_single_fix |
|
13 |
4 |
0 |
|
69% |
| lintro / ai / fix.py |
_generate_batch_fixes |
|
48 |
13 |
0 |
|
73% |
| lintro / ai / fix.py |
generate_fixes |
|
74 |
15 |
0 |
|
80% |
| lintro / ai / fix.py |
generate_fixes_from_params |
|
1 |
1 |
0 |
|
0% |
| lintro / ai / fix.py |
(no function) |
|
29 |
0 |
3 |
|
100% |
| lintro / ai / fix_context.py |
read_file_safely |
|
5 |
0 |
0 |
|
100% |
| lintro / ai / fix_context.py |
extract_context |
|
7 |
0 |
0 |
|
100% |
| lintro / ai / fix_context.py |
validate_and_read_file |
|
19 |
4 |
0 |
|
79% |
| lintro / ai / fix_context.py |
check_cache |
|
9 |
9 |
0 |
|
0% |
| lintro / ai / fix_context.py |
build_fix_context |
|
33 |
0 |
0 |
|
100% |
| lintro / ai / fix_context.py |
(no function) |
|
21 |
0 |
3 |
|
100% |
| lintro / ai / fix_params.py |
(no function) |
|
26 |
0 |
0 |
|
100% |
| lintro / ai / fix_parsing.py |
generate_diff |
|
5 |
0 |
0 |
|
100% |
| lintro / ai / fix_parsing.py |
parse_fix_response |
|
21 |
0 |
0 |
|
100% |
| lintro / ai / fix_parsing.py |
parse_batch_response |
|
27 |
0 |
0 |
|
100% |
| lintro / ai / fix_parsing.py |
(no function) |
|
9 |
0 |
2 |
|
100% |
| lintro / ai / hook.py |
AIPostExecutionHook.__init__ |
|
2 |
0 |
0 |
|
100% |
| lintro / ai / hook.py |
AIPostExecutionHook.should_run |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / hook.py |
AIPostExecutionHook.execute |
|
10 |
1 |
0 |
|
90% |
| lintro / ai / hook.py |
(no function) |
|
9 |
0 |
4 |
|
100% |
| lintro / ai / integrations / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| lintro / ai / integrations / github_pr.py |
GitHubPRReporter.__init__ |
|
9 |
0 |
0 |
|
100% |
| lintro / ai / integrations / github_pr.py |
GitHubPRReporter.is_available |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / integrations / github_pr.py |
GitHubPRReporter.post_review_comments |
|
11 |
2 |
0 |
|
82% |
| lintro / ai / integrations / github_pr.py |
GitHubPRReporter._post_review |
|
29 |
8 |
0 |
|
72% |
| lintro / ai / integrations / github_pr.py |
GitHubPRReporter._fetch_pr_diff_lines |
|
29 |
29 |
0 |
|
0% |
| lintro / ai / integrations / github_pr.py |
GitHubPRReporter._post_issue_comment |
|
2 |
2 |
0 |
|
0% |
| lintro / ai / integrations / github_pr.py |
GitHubPRReporter._api_request |
|
20 |
12 |
0 |
|
40% |
| lintro / ai / integrations / github_pr.py |
_detect_repo_root |
|
10 |
3 |
0 |
|
70% |
| lintro / ai / integrations / github_pr.py |
_parse_patch_lines |
|
14 |
14 |
0 |
|
0% |
| lintro / ai / integrations / github_pr.py |
_detect_pr_number |
|
17 |
2 |
0 |
|
88% |
| lintro / ai / integrations / github_pr.py |
_format_summary_comment |
|
17 |
0 |
0 |
|
100% |
| lintro / ai / integrations / github_pr.py |
_format_inline_comment |
|
25 |
0 |
0 |
|
100% |
| lintro / ai / integrations / github_pr.py |
(no function) |
|
26 |
0 |
0 |
|
100% |
| lintro / ai / interactive.py |
_group_by_code |
|
5 |
0 |
0 |
|
100% |
| lintro / ai / interactive.py |
_print_group_header |
|
19 |
1 |
0 |
|
95% |
| lintro / ai / interactive.py |
_show_group_diffs |
|
8 |
8 |
0 |
|
0% |
| lintro / ai / interactive.py |
_apply_group |
|
9 |
1 |
0 |
|
89% |
| lintro / ai / interactive.py |
_validate_group |
|
8 |
8 |
0 |
|
0% |
| lintro / ai / interactive.py |
_render_prompt |
|
3 |
0 |
0 |
|
100% |
| lintro / ai / interactive.py |
review_fixes_interactive |
|
105 |
37 |
0 |
|
65% |
| lintro / ai / interactive.py |
(no function) |
|
35 |
0 |
0 |
|
100% |
| lintro / ai / metadata / __init__.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / ai / metadata / fix_suggestion_payload.py |
AIFixSuggestionPayload.to_dict |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / metadata / fix_suggestion_payload.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| lintro / ai / metadata / helpers.py |
summary_to_payload |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / metadata / helpers.py |
suggestion_to_payload |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / metadata / helpers.py |
ensure_ai_metadata |
|
3 |
0 |
0 |
|
100% |
| lintro / ai / metadata / helpers.py |
attach_summary_metadata |
|
3 |
0 |
0 |
|
100% |
| lintro / ai / metadata / helpers.py |
attach_fix_suggestions_metadata |
|
4 |
0 |
0 |
|
100% |
| lintro / ai / metadata / helpers.py |
attach_fixed_count_metadata |
|
4 |
0 |
0 |
|
100% |
| lintro / ai / metadata / helpers.py |
attach_validation_counts_metadata |
|
3 |
0 |
0 |
|
100% |
| lintro / ai / metadata / helpers.py |
attach_telemetry_metadata |
|
4 |
1 |
0 |
|
75% |
| lintro / ai / metadata / helpers.py |
normalize_ai_metadata |
|
31 |
1 |
0 |
|
97% |
| lintro / ai / metadata / helpers.py |
(no function) |
|
13 |
0 |
4 |
|
100% |
| lintro / ai / metadata / summary_payload.py |
AISummaryPayload.to_dict |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / metadata / summary_payload.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| lintro / ai / model_pricing.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / ai / models / __init__.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / ai / models / fix_suggestion.py |
(no function) |
|
18 |
0 |
0 |
|
100% |
| lintro / ai / models / result.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| lintro / ai / models / summary.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / ai / orchestrator.py |
run_ai_enhancement |
|
23 |
4 |
0 |
|
83% |
| lintro / ai / orchestrator.py |
_run_ai_check |
|
33 |
10 |
0 |
|
70% |
| lintro / ai / orchestrator.py |
_run_ai_fix |
|
18 |
2 |
0 |
|
89% |
| lintro / ai / orchestrator.py |
_collect_and_fix |
|
11 |
1 |
0 |
|
91% |
| lintro / ai / orchestrator.py |
_remaining_issues_for_fix_result |
|
15 |
3 |
0 |
|
80% |
| lintro / ai / orchestrator.py |
_resolve_issue_path |
|
11 |
11 |
0 |
|
0% |
| lintro / ai / orchestrator.py |
_post_pr_comments |
|
10 |
10 |
0 |
|
0% |
| lintro / ai / orchestrator.py |
_log_fix_limit_message |
|
4 |
0 |
0 |
|
100% |
| lintro / ai / orchestrator.py |
(no function) |
|
28 |
0 |
9 |
|
100% |
| lintro / ai / output / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| lintro / ai / output / sarif.py |
_risk_to_sarif_level |
|
12 |
0 |
0 |
|
100% |
| lintro / ai / output / sarif.py |
_confidence_to_score |
|
5 |
0 |
0 |
|
100% |
| lintro / ai / output / sarif.py |
to_sarif |
|
55 |
0 |
0 |
|
100% |
| lintro / ai / output / sarif.py |
render_fixes_sarif |
|
2 |
0 |
0 |
|
100% |
| lintro / ai / output / sarif.py |
write_sarif |
|
3 |
0 |
0 |
|
100% |
| lintro / ai / output / sarif.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| lintro / ai / output / sarif_bridge.py |
_coerce_confidence |
|
8 |
4 |
0 |
|
50% |
| lintro / ai / output / sarif_bridge.py |
suggestions_from_results |
|
15 |
4 |
0 |
|
73% |
| lintro / ai / output / sarif_bridge.py |
summary_from_results |
|
21 |
7 |
0 |
|
67% |
| lintro / ai / output / sarif_bridge.py |
summary_from_results._str_list |
|
5 |
1 |
0 |
|
80% |
| lintro / ai / output / sarif_bridge.py |
(no function) |
|
7 |
0 |
2 |
|
100% |
| lintro / ai / paths.py |
relative_path |
|
4 |
0 |
0 |
|
100% |
| lintro / ai / paths.py |
resolve_workspace_root |
|
3 |
0 |
0 |
|
100% |
| lintro / ai / paths.py |
resolve_workspace_file |
|
13 |
2 |
0 |
|
85% |
| lintro / ai / paths.py |
to_provider_path |
|
4 |
0 |
0 |
|
100% |
| lintro / ai / paths.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / ai / pipeline.py |
_confidence_numeric |
|
4 |
2 |
0 |
|
50% |
| lintro / ai / pipeline.py |
_generate_all_suggestions |
|
39 |
6 |
0 |
|
85% |
| lintro / ai / pipeline.py |
_generate_all_suggestions._progress_callback |
|
2 |
2 |
0 |
|
0% |
| lintro / ai / pipeline.py |
_filter_by_confidence |
|
12 |
8 |
0 |
|
33% |
| lintro / ai / pipeline.py |
_apply_or_review |
|
36 |
1 |
0 |
|
97% |
| lintro / ai / pipeline.py |
_verify_and_refine |
|
28 |
21 |
0 |
|
25% |
| lintro / ai / pipeline.py |
run_fix_pipeline |
|
54 |
8 |
0 |
|
85% |
| lintro / ai / pipeline.py |
_unique_results_from_fix_issues |
|
9 |
9 |
0 |
|
0% |
| lintro / ai / pipeline.py |
(no function) |
|
28 |
0 |
7 |
|
100% |
| lintro / ai / prompts / __init__.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / ai / prompts / fix.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / ai / prompts / post_fix.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| lintro / ai / prompts / summary.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / ai / provider_enum.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / ai / provider_info.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| lintro / ai / providers / __init__.py |
get_provider |
|
17 |
2 |
0 |
|
88% |
| lintro / ai / providers / __init__.py |
get_default_model |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / providers / __init__.py |
(no function) |
|
9 |
0 |
3 |
|
100% |
| lintro / ai / providers / anthropic.py |
AnthropicProvider._map_errors |
|
9 |
7 |
0 |
|
22% |
| lintro / ai / providers / anthropic.py |
AnthropicProvider.__init__ |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / providers / anthropic.py |
AnthropicProvider._create_client |
|
4 |
4 |
0 |
|
0% |
| lintro / ai / providers / anthropic.py |
AnthropicProvider.complete |
|
15 |
0 |
0 |
|
100% |
| lintro / ai / providers / anthropic.py |
AnthropicProvider.stream_complete |
|
10 |
10 |
0 |
|
0% |
| lintro / ai / providers / anthropic.py |
AnthropicProvider.stream_complete._generate |
|
8 |
8 |
0 |
|
0% |
| lintro / ai / providers / anthropic.py |
AnthropicProvider.stream_complete._on_done |
|
3 |
3 |
0 |
|
0% |
| lintro / ai / providers / anthropic.py |
(no function) |
|
26 |
1 |
0 |
|
96% |
| lintro / ai / providers / base.py |
BaseAIProvider.__init__ |
|
9 |
0 |
0 |
|
100% |
| lintro / ai / providers / base.py |
BaseAIProvider._get_client |
|
7 |
2 |
0 |
|
71% |
| lintro / ai / providers / base.py |
BaseAIProvider._create_client |
|
0 |
0 |
1 |
|
100% |
| lintro / ai / providers / base.py |
BaseAIProvider.complete |
|
0 |
0 |
1 |
|
100% |
| lintro / ai / providers / base.py |
BaseAIProvider.stream_complete |
|
2 |
0 |
0 |
|
100% |
| lintro / ai / providers / base.py |
BaseAIProvider.is_available |
|
3 |
1 |
0 |
|
67% |
| lintro / ai / providers / base.py |
BaseAIProvider.name |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / providers / base.py |
BaseAIProvider.model_name |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / providers / base.py |
BaseAIProvider.model_name |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / providers / base.py |
(no function) |
|
24 |
0 |
4 |
|
100% |
| lintro / ai / providers / constants.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / ai / providers / openai.py |
OpenAIProvider._map_errors |
|
9 |
7 |
0 |
|
22% |
| lintro / ai / providers / openai.py |
OpenAIProvider.__init__ |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / providers / openai.py |
OpenAIProvider._create_client |
|
4 |
4 |
0 |
|
0% |
| lintro / ai / providers / openai.py |
OpenAIProvider.complete |
|
16 |
0 |
0 |
|
100% |
| lintro / ai / providers / openai.py |
OpenAIProvider.stream_complete |
|
12 |
12 |
0 |
|
0% |
| lintro / ai / providers / openai.py |
OpenAIProvider.stream_complete._generate |
|
14 |
14 |
0 |
|
0% |
| lintro / ai / providers / openai.py |
OpenAIProvider.stream_complete._on_done |
|
3 |
3 |
0 |
|
0% |
| lintro / ai / providers / openai.py |
(no function) |
|
26 |
1 |
0 |
|
96% |
| lintro / ai / providers / response.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| lintro / ai / providers / stream_result.py |
AIStreamResult.__iter__ |
|
3 |
0 |
0 |
|
100% |
| lintro / ai / providers / stream_result.py |
AIStreamResult.response |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / providers / stream_result.py |
AIStreamResult.collect |
|
5 |
0 |
0 |
|
100% |
| lintro / ai / providers / stream_result.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / ai / refinement.py |
_revert_fix |
|
4 |
0 |
0 |
|
100% |
| lintro / ai / refinement.py |
refine_unverified_fixes |
|
64 |
10 |
0 |
|
84% |
| lintro / ai / refinement.py |
(no function) |
|
17 |
0 |
5 |
|
100% |
| lintro / ai / registry.py |
AIProviderRegistry.__post_init__ |
|
4 |
0 |
0 |
|
100% |
| lintro / ai / registry.py |
AIProviderRegistry.items |
|
2 |
0 |
0 |
|
100% |
| lintro / ai / registry.py |
AIProviderRegistry.get |
|
2 |
0 |
0 |
|
100% |
| lintro / ai / registry.py |
AIProviderRegistry.model_pricing |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / registry.py |
AIProviderRegistry.default_models |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / registry.py |
AIProviderRegistry.default_api_key_envs |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / registry.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| lintro / ai / rerun.py |
_tool_cwd |
|
9 |
0 |
0 |
|
100% |
| lintro / ai / rerun.py |
paths_for_context |
|
18 |
5 |
0 |
|
72% |
| lintro / ai / rerun.py |
rerun_tools |
|
21 |
3 |
0 |
|
86% |
| lintro / ai / rerun.py |
apply_rerun_results |
|
12 |
1 |
0 |
|
92% |
| lintro / ai / rerun.py |
(no function) |
|
13 |
0 |
4 |
|
100% |
| lintro / ai / retry.py |
with_retry |
|
18 |
10 |
0 |
|
44% |
| lintro / ai / retry.py |
with_retry.decorator |
|
2 |
0 |
0 |
|
100% |
| lintro / ai / retry.py |
with_retry.decorator.wrapper |
|
17 |
2 |
0 |
|
88% |
| lintro / ai / retry.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| lintro / ai / risk.py |
_ast_equivalent |
|
7 |
2 |
0 |
|
71% |
| lintro / ai / risk.py |
_diff_is_style_only |
|
7 |
2 |
0 |
|
71% |
| lintro / ai / risk.py |
_diff_is_style_only._normalize |
|
5 |
5 |
0 |
|
0% |
| lintro / ai / risk.py |
classify_fix_risk |
|
9 |
0 |
0 |
|
100% |
| lintro / ai / risk.py |
is_safe_style_fix |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / risk.py |
calculate_patch_stats |
|
33 |
0 |
0 |
|
100% |
| lintro / ai / risk.py |
(no function) |
|
19 |
0 |
3 |
|
100% |
| lintro / ai / sanitize.py |
_neutralize_role_markers |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / sanitize.py |
_neutralize_xml_tags |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / sanitize.py |
sanitize_code_content |
|
3 |
0 |
0 |
|
100% |
| lintro / ai / sanitize.py |
detect_injection_patterns |
|
5 |
0 |
0 |
|
100% |
| lintro / ai / sanitize.py |
make_boundary_marker |
|
2 |
0 |
0 |
|
100% |
| lintro / ai / sanitize.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| lintro / ai / secrets.py |
scan_for_secrets |
|
5 |
0 |
0 |
|
100% |
| lintro / ai / secrets.py |
redact_secrets |
|
3 |
0 |
0 |
|
100% |
| lintro / ai / secrets.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / ai / summary.py |
_ensure_str_list |
|
8 |
4 |
0 |
|
50% |
| lintro / ai / summary.py |
_build_issues_digest |
|
62 |
21 |
0 |
|
66% |
| lintro / ai / summary.py |
_parse_summary_response |
|
20 |
5 |
0 |
|
75% |
| lintro / ai / summary.py |
_call_summary_provider |
|
8 |
0 |
0 |
|
100% |
| lintro / ai / summary.py |
_call_summary_provider._call |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / summary.py |
generate_summary |
|
7 |
0 |
0 |
|
100% |
| lintro / ai / summary.py |
generate_summary_from_params |
|
1 |
1 |
0 |
|
0% |
| lintro / ai / summary.py |
generate_post_fix_summary |
|
9 |
2 |
0 |
|
78% |
| lintro / ai / summary.py |
generate_post_fix_summary_from_params |
|
1 |
1 |
0 |
|
0% |
| lintro / ai / summary.py |
(no function) |
|
24 |
0 |
3 |
|
100% |
| lintro / ai / summary_params.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| lintro / ai / telemetry.py |
AITelemetry.record_call |
|
5 |
0 |
0 |
|
100% |
| lintro / ai / telemetry.py |
AITelemetry.to_dict |
|
1 |
0 |
0 |
|
100% |
| lintro / ai / telemetry.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| lintro / ai / token_budget.py |
estimate_tokens |
|
3 |
0 |
0 |
|
100% |
| lintro / ai / token_budget.py |
truncate_to_budget |
|
10 |
0 |
0 |
|
100% |
| lintro / ai / token_budget.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / ai / undo.py |
save_undo_patch |
|
31 |
8 |
0 |
|
74% |
| lintro / ai / undo.py |
(no function) |
|
9 |
0 |
2 |
|
100% |
| lintro / ai / validation.py |
verify_fixes |
|
12 |
0 |
0 |
|
100% |
| lintro / ai / validation.py |
validate_applied_fixes |
|
21 |
0 |
0 |
|
100% |
| lintro / ai / validation.py |
_validate_suggestions |
|
30 |
1 |
0 |
|
97% |
| lintro / ai / validation.py |
_normalize_line |
|
5 |
1 |
0 |
|
80% |
| lintro / ai / validation.py |
_consume_matching_remaining_issue |
|
15 |
4 |
0 |
|
73% |
| lintro / ai / validation.py |
_normalize_file_path |
|
6 |
3 |
0 |
|
50% |
| lintro / ai / validation.py |
_run_tool_check |
|
14 |
1 |
0 |
|
93% |
| lintro / ai / validation.py |
(no function) |
|
24 |
0 |
4 |
|
100% |
| lintro / cli.py |
LintroGroup.format_help |
|
48 |
2 |
0 |
|
96% |
| lintro / cli.py |
LintroGroup.format_commands |
|
1 |
0 |
0 |
|
100% |
| lintro / cli.py |
LintroGroup.invoke |
|
14 |
0 |
0 |
|
100% |
| lintro / cli.py |
cli |
|
1 |
0 |
0 |
|
100% |
| lintro / cli.py |
main |
|
1 |
0 |
0 |
|
100% |
| lintro / cli.py |
(no function) |
|
62 |
0 |
0 |
|
100% |
| lintro / cli_utils / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| lintro / cli_utils / command_chainer.py |
CommandChainer.__init__ |
|
3 |
0 |
0 |
|
100% |
| lintro / cli_utils / command_chainer.py |
CommandChainer.command_names |
|
4 |
0 |
0 |
|
100% |
| lintro / cli_utils / command_chainer.py |
CommandChainer.should_chain |
|
8 |
0 |
0 |
|
100% |
| lintro / cli_utils / command_chainer.py |
CommandChainer.normalize_args |
|
17 |
0 |
0 |
|
100% |
| lintro / cli_utils / command_chainer.py |
CommandChainer.group_commands |
|
12 |
0 |
0 |
|
100% |
| lintro / cli_utils / command_chainer.py |
CommandChainer.execute_chain |
|
7 |
0 |
0 |
|
100% |
| lintro / cli_utils / command_chainer.py |
CommandChainer._execute_single_command |
|
14 |
0 |
0 |
|
100% |
| lintro / cli_utils / command_chainer.py |
(no function) |
|
14 |
0 |
2 |
|
100% |
| lintro / cli_utils / commands / __init__.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / check.py |
check_command |
|
10 |
2 |
0 |
|
80% |
| lintro / cli_utils / commands / check.py |
check |
|
34 |
10 |
0 |
|
71% |
| lintro / cli_utils / commands / check.py |
(no function) |
|
29 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / config.py |
_get_all_tool_names |
|
2 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / config.py |
config_command |
|
9 |
2 |
0 |
|
78% |
| lintro / cli_utils / commands / config.py |
_config_to_export_dict |
|
2 |
2 |
0 |
|
0% |
| lintro / cli_utils / commands / config.py |
_export_yaml |
|
7 |
7 |
3 |
|
0% |
| lintro / cli_utils / commands / config.py |
_output_json |
|
21 |
5 |
0 |
|
76% |
| lintro / cli_utils / commands / config.py |
_output_rich |
|
80 |
8 |
0 |
|
90% |
| lintro / cli_utils / commands / config.py |
(no function) |
|
19 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / doctor.py |
_check_tool |
|
28 |
2 |
0 |
|
93% |
| lintro / cli_utils / commands / doctor.py |
_compare_versions |
|
4 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / doctor.py |
_render_category |
|
8 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / doctor.py |
_render_tool_line |
|
37 |
18 |
0 |
|
51% |
| lintro / cli_utils / commands / doctor.py |
_generate_markdown_report |
|
29 |
6 |
0 |
|
79% |
| lintro / cli_utils / commands / doctor.py |
doctor_command |
|
82 |
18 |
0 |
|
78% |
| lintro / cli_utils / commands / doctor.py |
_output_json |
|
14 |
3 |
0 |
|
79% |
| lintro / cli_utils / commands / doctor.py |
_run_fix |
|
20 |
20 |
0 |
|
0% |
| lintro / cli_utils / commands / doctor.py |
(no function) |
|
39 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / format.py |
format_command |
|
3 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / format.py |
format_code |
|
26 |
2 |
0 |
|
92% |
| lintro / cli_utils / commands / format.py |
(no function) |
|
27 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / init.py |
_write_file |
|
10 |
3 |
0 |
|
70% |
| lintro / cli_utils / commands / init.py |
_write_json_file |
|
2 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / init.py |
_generate_native_configs |
|
5 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / init.py |
init_command |
|
30 |
3 |
0 |
|
90% |
| lintro / cli_utils / commands / init.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / install.py |
install_command |
|
78 |
12 |
0 |
|
85% |
| lintro / cli_utils / commands / install.py |
_detect_languages |
|
8 |
4 |
0 |
|
50% |
| lintro / cli_utils / commands / install.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / list_tools.py |
_resolve_conflicts |
|
8 |
8 |
0 |
|
0% |
| lintro / cli_utils / commands / list_tools.py |
list_tools_command |
|
1 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / list_tools.py |
list_tools |
|
74 |
33 |
0 |
|
55% |
| lintro / cli_utils / commands / list_tools.py |
_generate_plain_text_output |
|
29 |
29 |
0 |
|
0% |
| lintro / cli_utils / commands / list_tools.py |
(no function) |
|
19 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / setup.py |
_generate_config |
|
12 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / setup.py |
setup_command |
|
127 |
82 |
0 |
|
35% |
| lintro / cli_utils / commands / setup.py |
_print_next_steps |
|
6 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / setup.py |
(no function) |
|
18 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / test.py |
_ensure_pytest_prefix |
|
8 |
1 |
0 |
|
88% |
| lintro / cli_utils / commands / test.py |
test_command |
|
29 |
3 |
0 |
|
90% |
| lintro / cli_utils / commands / test.py |
test |
|
27 |
1 |
0 |
|
96% |
| lintro / cli_utils / commands / test.py |
(no function) |
|
31 |
0 |
0 |
|
100% |
| lintro / cli_utils / commands / versions.py |
versions_command |
|
39 |
39 |
0 |
|
0% |
| lintro / cli_utils / commands / versions.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / config / __init__.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / config / config_loader.py |
_find_config_file |
|
12 |
0 |
0 |
|
100% |
| lintro / config / config_loader.py |
_load_yaml_file |
|
5 |
1 |
0 |
|
80% |
| lintro / config / config_loader.py |
_load_pyproject_fallback |
|
19 |
6 |
0 |
|
68% |
| lintro / config / config_loader.py |
_parse_enforce_config |
|
1 |
0 |
0 |
|
100% |
| lintro / config / config_loader.py |
_parse_execution_config |
|
20 |
11 |
0 |
|
45% |
| lintro / config / config_loader.py |
_parse_tool_config |
|
10 |
3 |
0 |
|
70% |
| lintro / config / config_loader.py |
_parse_tools_config |
|
7 |
0 |
0 |
|
100% |
| lintro / config / config_loader.py |
_parse_defaults |
|
5 |
0 |
0 |
|
100% |
| lintro / config / config_loader.py |
_parse_ai_config |
|
8 |
1 |
0 |
|
88% |
| lintro / config / config_loader.py |
_convert_pyproject_to_config |
|
25 |
8 |
0 |
|
68% |
| lintro / config / config_loader.py |
load_config |
|
28 |
6 |
0 |
|
79% |
| lintro / config / config_loader.py |
get_default_config |
|
1 |
0 |
0 |
|
100% |
| lintro / config / config_loader.py |
get_config |
|
3 |
0 |
0 |
|
100% |
| lintro / config / config_loader.py |
clear_config_cache |
|
1 |
0 |
0 |
|
100% |
| lintro / config / config_loader.py |
(no function) |
|
29 |
2 |
0 |
|
93% |
| lintro / config / enforce_config.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / config / execution_config.py |
_get_default_max_workers |
|
2 |
0 |
0 |
|
100% |
| lintro / config / execution_config.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| lintro / config / lintro_config.py |
LintroConfig.get_tool_config |
|
1 |
0 |
0 |
|
100% |
| lintro / config / lintro_config.py |
LintroConfig.is_tool_enabled |
|
7 |
0 |
0 |
|
100% |
| lintro / config / lintro_config.py |
LintroConfig.get_tool_defaults |
|
1 |
0 |
0 |
|
100% |
| lintro / config / lintro_config.py |
LintroConfig.get_effective_line_length |
|
2 |
0 |
0 |
|
100% |
| lintro / config / lintro_config.py |
LintroConfig.get_effective_target_python |
|
2 |
0 |
0 |
|
100% |
| lintro / config / lintro_config.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| lintro / config / tool_config.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / config / tool_config_generator.py |
_convert_python_version_for_mypy |
|
5 |
0 |
0 |
|
100% |
| lintro / config / tool_config_generator.py |
_cleanup_temp_files |
|
7 |
7 |
0 |
|
0% |
| lintro / config / tool_config_generator.py |
get_enforce_cli_args |
|
15 |
0 |
0 |
|
100% |
| lintro / config / tool_config_generator.py |
has_native_config |
|
24 |
7 |
0 |
|
71% |
| lintro / config / tool_config_generator.py |
generate_defaults_config |
|
15 |
3 |
0 |
|
80% |
| lintro / config / tool_config_generator.py |
_transform_keys_for_native_config |
|
10 |
0 |
0 |
|
100% |
| lintro / config / tool_config_generator.py |
_write_defaults_config |
|
19 |
1 |
0 |
|
95% |
| lintro / config / tool_config_generator.py |
get_defaults_injection_args |
|
6 |
0 |
0 |
|
100% |
| lintro / config / tool_config_generator.py |
cleanup_temp_config |
|
8 |
8 |
0 |
|
0% |
| lintro / config / tool_config_generator.py |
(no function) |
|
31 |
2 |
0 |
|
94% |
| lintro / enums / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| lintro / enums / action.py |
normalize_action |
|
7 |
2 |
0 |
|
71% |
| lintro / enums / action.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / enums / bandit_levels.py |
normalize_bandit_severity_level |
|
7 |
0 |
0 |
|
100% |
| lintro / enums / bandit_levels.py |
normalize_bandit_confidence_level |
|
6 |
0 |
0 |
|
100% |
| lintro / enums / bandit_levels.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| lintro / enums / boolean_string.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / enums / config_format.py |
normalize_config_format |
|
6 |
0 |
0 |
|
100% |
| lintro / enums / config_format.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / enums / config_key.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / enums / display_column.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / enums / doc_url_template.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| lintro / enums / env_bool.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / enums / git_command.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / enums / git_ref.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / enums / group_by.py |
normalize_group_by |
|
7 |
0 |
0 |
|
100% |
| lintro / enums / group_by.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / enums / hadolint_enums.py |
normalize_hadolint_format |
|
7 |
1 |
0 |
|
86% |
| lintro / enums / hadolint_enums.py |
normalize_hadolint_threshold |
|
7 |
1 |
0 |
|
86% |
| lintro / enums / hadolint_enums.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| lintro / enums / hyphenated_str_enum.py |
HyphenatedStrEnum._generate_next_value_ |
|
1 |
0 |
0 |
|
100% |
| lintro / enums / hyphenated_str_enum.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / enums / install_context.py |
CISystem.detect |
|
4 |
0 |
0 |
|
100% |
| lintro / enums / install_context.py |
(no function) |
|
27 |
0 |
0 |
|
100% |
| lintro / enums / output_format.py |
normalize_output_format |
|
7 |
0 |
0 |
|
100% |
| lintro / enums / output_format.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| lintro / enums / pydoclint_style.py |
normalize_pydoclint_style |
|
7 |
7 |
0 |
|
0% |
| lintro / enums / pydoclint_style.py |
(no function) |
|
8 |
8 |
0 |
|
0% |
| lintro / enums / pytest_enums.py |
normalize_pytest_special_mode |
|
6 |
0 |
0 |
|
100% |
| lintro / enums / pytest_enums.py |
normalize_pytest_output_format |
|
6 |
0 |
0 |
|
100% |
| lintro / enums / pytest_enums.py |
normalize_test_status |
|
7 |
0 |
0 |
|
100% |
| lintro / enums / pytest_enums.py |
(no function) |
|
28 |
0 |
0 |
|
100% |
| lintro / enums / semgrep_enums.py |
normalize_semgrep_severity |
|
7 |
0 |
0 |
|
100% |
| lintro / enums / semgrep_enums.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| lintro / enums / severity_level.py |
normalize_severity_level |
|
8 |
0 |
0 |
|
100% |
| lintro / enums / severity_level.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / enums / tool_name.py |
normalize_tool_name |
|
7 |
0 |
0 |
|
100% |
| lintro / enums / tool_name.py |
(no function) |
|
33 |
0 |
0 |
|
100% |
| lintro / enums / tool_option_key.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / enums / tool_order.py |
normalize_tool_order |
|
6 |
0 |
0 |
|
100% |
| lintro / enums / tool_order.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / enums / tool_status.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| lintro / enums / tool_type.py |
normalize_tool_type |
|
9 |
5 |
0 |
|
44% |
| lintro / enums / tool_type.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| lintro / enums / tools_value.py |
normalize_tools_value |
|
6 |
0 |
0 |
|
100% |
| lintro / enums / tools_value.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / enums / uppercase_str_enum.py |
UppercaseStrEnum._generate_next_value_ |
|
1 |
0 |
0 |
|
100% |
| lintro / enums / uppercase_str_enum.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / enums / yamllint_format.py |
normalize_yamllint_format |
|
7 |
3 |
0 |
|
57% |
| lintro / enums / yamllint_format.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| lintro / exceptions / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| lintro / exceptions / errors.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / formatters / __init__.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / formatters / core / __init__.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| lintro / formatters / core / format_registry.py |
OutputStyle.format |
|
1 |
1 |
0 |
|
0% |
| lintro / formatters / core / format_registry.py |
TableDescriptor.get_columns |
|
1 |
1 |
0 |
|
0% |
| lintro / formatters / core / format_registry.py |
TableDescriptor.get_rows |
|
1 |
1 |
0 |
|
0% |
| lintro / formatters / core / format_registry.py |
_create_style_instances |
|
8 |
0 |
0 |
|
100% |
| lintro / formatters / core / format_registry.py |
get_style |
|
15 |
3 |
0 |
|
80% |
| lintro / formatters / core / format_registry.py |
get_format_map |
|
1 |
0 |
0 |
|
100% |
| lintro / formatters / core / format_registry.py |
get_string_format_map |
|
2 |
0 |
0 |
|
100% |
| lintro / formatters / core / format_registry.py |
(no function) |
|
19 |
0 |
2 |
|
100% |
| lintro / formatters / formatter.py |
UnifiedTableDescriptor.__init__ |
|
1 |
0 |
0 |
|
100% |
| lintro / formatters / formatter.py |
UnifiedTableDescriptor.get_columns |
|
1 |
0 |
0 |
|
100% |
| lintro / formatters / formatter.py |
UnifiedTableDescriptor.get_rows |
|
12 |
0 |
0 |
|
100% |
| lintro / formatters / formatter.py |
format_issues |
|
11 |
0 |
0 |
|
100% |
| lintro / formatters / formatter.py |
format_issues_with_sections |
|
21 |
1 |
0 |
|
95% |
| lintro / formatters / formatter.py |
format_tool_result |
|
3 |
3 |
0 |
|
0% |
| lintro / formatters / formatter.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| lintro / formatters / styles / __init__.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / formatters / styles / csv.py |
CsvStyle.format |
|
9 |
0 |
0 |
|
100% |
| lintro / formatters / styles / csv.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / formatters / styles / github.py |
_escape |
|
1 |
0 |
0 |
|
100% |
| lintro / formatters / styles / github.py |
_cell |
|
4 |
1 |
0 |
|
75% |
| lintro / formatters / styles / github.py |
GitHubStyle.format |
|
37 |
1 |
0 |
|
97% |
| lintro / formatters / styles / github.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| lintro / formatters / styles / grid.py |
GridStyle.format |
|
18 |
1 |
0 |
|
94% |
| lintro / formatters / styles / grid.py |
(no function) |
|
9 |
2 |
0 |
|
78% |
| lintro / formatters / styles / html.py |
HtmlStyle.format |
|
12 |
0 |
0 |
|
100% |
| lintro / formatters / styles / html.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / formatters / styles / json.py |
JsonStyle.format |
|
17 |
0 |
0 |
|
100% |
| lintro / formatters / styles / json.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / formatters / styles / markdown.py |
MarkdownStyle.format |
|
11 |
0 |
0 |
|
100% |
| lintro / formatters / styles / markdown.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / formatters / styles / plain.py |
PlainStyle.format |
|
10 |
0 |
0 |
|
100% |
| lintro / formatters / styles / plain.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / models / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| lintro / models / core / __init__.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / models / core / base_tool_options.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / models / core / black_options.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / models / core / prettier_options.py |
(no function) |
|
16 |
16 |
0 |
|
0% |
| lintro / models / core / pytest_options.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| lintro / models / core / ruff_options.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| lintro / models / core / tool_result.py |
ToolResult.__post_init__ |
|
8 |
3 |
0 |
|
62% |
| lintro / models / core / tool_result.py |
(no function) |
|
22 |
0 |
2 |
|
100% |
| lintro / models / core / yamllint_options.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / parsers / __init__.py |
__getattr__ |
|
5 |
5 |
0 |
|
0% |
| lintro / parsers / __init__.py |
__dir__ |
|
1 |
1 |
0 |
|
0% |
| lintro / parsers / __init__.py |
(no function) |
|
9 |
0 |
2 |
|
100% |
| lintro / parsers / actionlint / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / actionlint / actionlint_issue.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / parsers / actionlint / actionlint_parser.py |
parse_actionlint_output |
|
16 |
0 |
0 |
|
100% |
| lintro / parsers / actionlint / actionlint_parser.py |
_iter_nonempty_lines |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / actionlint / actionlint_parser.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / parsers / astro_check / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / astro_check / astro_check_issue.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / parsers / astro_check / astro_check_parser.py |
_parse_line |
|
36 |
9 |
0 |
|
75% |
| lintro / parsers / astro_check / astro_check_parser.py |
parse_astro_check_output |
|
9 |
0 |
0 |
|
100% |
| lintro / parsers / astro_check / astro_check_parser.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| lintro / parsers / bandit / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / bandit / bandit_issue.py |
BanditIssue.__post_init__ |
|
2 |
0 |
0 |
|
100% |
| lintro / parsers / bandit / bandit_issue.py |
BanditIssue._get_message |
|
1 |
0 |
0 |
|
100% |
| lintro / parsers / bandit / bandit_issue.py |
(no function) |
|
18 |
0 |
0 |
|
100% |
| lintro / parsers / bandit / bandit_parser.py |
parse_bandit_output |
|
45 |
11 |
0 |
|
76% |
| lintro / parsers / bandit / bandit_parser.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / parsers / base_issue.py |
BaseIssue.get_severity |
|
10 |
0 |
0 |
|
100% |
| lintro / parsers / base_issue.py |
BaseIssue.to_display_row |
|
8 |
0 |
0 |
|
100% |
| lintro / parsers / base_issue.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| lintro / parsers / base_parser.py |
extract_int_field |
|
5 |
0 |
0 |
|
100% |
| lintro / parsers / base_parser.py |
extract_str_field |
|
5 |
0 |
0 |
|
100% |
| lintro / parsers / base_parser.py |
extract_dict_field |
|
7 |
0 |
0 |
|
100% |
| lintro / parsers / base_parser.py |
is_empty_output |
|
1 |
1 |
0 |
|
0% |
| lintro / parsers / base_parser.py |
strip_ansi_codes |
|
1 |
0 |
0 |
|
100% |
| lintro / parsers / base_parser.py |
validate_str_field |
|
5 |
0 |
0 |
|
100% |
| lintro / parsers / base_parser.py |
validate_int_field |
|
5 |
0 |
0 |
|
100% |
| lintro / parsers / base_parser.py |
collect_continuation_lines |
|
11 |
0 |
0 |
|
100% |
| lintro / parsers / base_parser.py |
safe_parse_items |
|
13 |
0 |
0 |
|
100% |
| lintro / parsers / base_parser.py |
(no function) |
|
16 |
0 |
2 |
|
100% |
| lintro / parsers / black / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / black / black_issue.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| lintro / parsers / black / black_parser.py |
_iter_issue_lines |
|
5 |
0 |
0 |
|
100% |
| lintro / parsers / black / black_parser.py |
parse_black_output |
|
39 |
15 |
0 |
|
62% |
| lintro / parsers / black / black_parser.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / parsers / cargo_audit / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| lintro / parsers / cargo_audit / cargo_audit_issue.py |
CargoAuditIssue.__post_init__ |
|
3 |
1 |
0 |
|
67% |
| lintro / parsers / cargo_audit / cargo_audit_issue.py |
CargoAuditIssue._get_message |
|
1 |
0 |
0 |
|
100% |
| lintro / parsers / cargo_audit / cargo_audit_issue.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| lintro / parsers / cargo_audit / cargo_audit_parser.py |
_extract_cargo_audit_json |
|
13 |
1 |
0 |
|
92% |
| lintro / parsers / cargo_audit / cargo_audit_parser.py |
_normalize_severity |
|
5 |
0 |
0 |
|
100% |
| lintro / parsers / cargo_audit / cargo_audit_parser.py |
parse_cargo_audit_output |
|
43 |
10 |
0 |
|
77% |
| lintro / parsers / cargo_audit / cargo_audit_parser.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / parsers / cargo_deny / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / cargo_deny / cargo_deny_issue.py |
CargoDenyIssue.__post_init__ |
|
2 |
0 |
0 |
|
100% |
| lintro / parsers / cargo_deny / cargo_deny_issue.py |
CargoDenyIssue._build_message |
|
14 |
0 |
0 |
|
100% |
| lintro / parsers / cargo_deny / cargo_deny_issue.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| lintro / parsers / cargo_deny / cargo_deny_parser.py |
_extract_crate_info |
|
11 |
2 |
0 |
|
82% |
| lintro / parsers / cargo_deny / cargo_deny_parser.py |
_parse_diagnostic |
|
18 |
5 |
0 |
|
72% |
| lintro / parsers / cargo_deny / cargo_deny_parser.py |
_parse_advisory |
|
25 |
5 |
0 |
|
80% |
| lintro / parsers / cargo_deny / cargo_deny_parser.py |
parse_cargo_deny_output |
|
24 |
4 |
0 |
|
83% |
| lintro / parsers / cargo_deny / cargo_deny_parser.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / parsers / clippy / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / clippy / clippy_issue.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| lintro / parsers / clippy / clippy_parser.py |
_parse_issue |
|
41 |
11 |
0 |
|
73% |
| lintro / parsers / clippy / clippy_parser.py |
parse_clippy_output |
|
18 |
3 |
0 |
|
83% |
| lintro / parsers / clippy / clippy_parser.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / parsers / gitleaks / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / gitleaks / gitleaks_issue.py |
GitleaksIssue.__post_init__ |
|
1 |
0 |
0 |
|
100% |
| lintro / parsers / gitleaks / gitleaks_issue.py |
GitleaksIssue._get_message |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / gitleaks / gitleaks_issue.py |
(no function) |
|
25 |
0 |
0 |
|
100% |
| lintro / parsers / gitleaks / gitleaks_parser.py |
parse_gitleaks_output |
|
26 |
3 |
0 |
|
88% |
| lintro / parsers / gitleaks / gitleaks_parser.py |
_parse_single_finding |
|
27 |
0 |
0 |
|
100% |
| lintro / parsers / gitleaks / gitleaks_parser.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| lintro / parsers / hadolint / __init__.py |
__getattr__ |
|
5 |
5 |
0 |
|
0% |
| lintro / parsers / hadolint / __init__.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / parsers / hadolint / hadolint_issue.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / parsers / hadolint / hadolint_parser.py |
parse_hadolint_output |
|
15 |
0 |
0 |
|
100% |
| lintro / parsers / hadolint / hadolint_parser.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / parsers / markdownlint / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / markdownlint / markdownlint_issue.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / parsers / markdownlint / markdownlint_parser.py |
_is_markdownlint_continuation |
|
1 |
0 |
0 |
|
100% |
| lintro / parsers / markdownlint / markdownlint_parser.py |
parse_markdownlint_output |
|
27 |
0 |
0 |
|
100% |
| lintro / parsers / markdownlint / markdownlint_parser.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / parsers / mypy / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / mypy / mypy_issue.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / parsers / mypy / mypy_parser.py |
_parse_issue |
|
19 |
3 |
0 |
|
84% |
| lintro / parsers / mypy / mypy_parser.py |
_extract_errors |
|
11 |
2 |
0 |
|
82% |
| lintro / parsers / mypy / mypy_parser.py |
parse_mypy_output |
|
32 |
10 |
0 |
|
69% |
| lintro / parsers / mypy / mypy_parser.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / parsers / osv_scanner / __init__.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / parsers / osv_scanner / osv_scanner_issue.py |
OsvScannerIssue.__post_init__ |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / osv_scanner / osv_scanner_issue.py |
OsvScannerIssue._get_message |
|
4 |
0 |
0 |
|
100% |
| lintro / parsers / osv_scanner / osv_scanner_issue.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| lintro / parsers / osv_scanner / osv_scanner_parser.py |
_highest_severity |
|
6 |
0 |
0 |
|
100% |
| lintro / parsers / osv_scanner / osv_scanner_parser.py |
_extract_fixed_version |
|
26 |
8 |
0 |
|
69% |
| lintro / parsers / osv_scanner / osv_scanner_parser.py |
_parse_single_result |
|
45 |
6 |
0 |
|
87% |
| lintro / parsers / osv_scanner / osv_scanner_parser.py |
parse_osv_scanner_output |
|
27 |
5 |
0 |
|
81% |
| lintro / parsers / osv_scanner / osv_scanner_parser.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| lintro / parsers / osv_scanner / suppression_models.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| lintro / parsers / osv_scanner / suppression_parser.py |
parse_suppressions |
|
28 |
3 |
0 |
|
89% |
| lintro / parsers / osv_scanner / suppression_parser.py |
classify_suppressions |
|
11 |
0 |
0 |
|
100% |
| lintro / parsers / osv_scanner / suppression_parser.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| lintro / parsers / osv_scanner / suppression_status.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / parsers / oxfmt / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / oxfmt / oxfmt_issue.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / parsers / oxfmt / oxfmt_parser.py |
_is_valid_file_path |
|
5 |
0 |
0 |
|
100% |
| lintro / parsers / oxfmt / oxfmt_parser.py |
parse_oxfmt_output |
|
17 |
3 |
0 |
|
82% |
| lintro / parsers / oxfmt / oxfmt_parser.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| lintro / parsers / oxlint / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / oxlint / oxlint_issue.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / parsers / oxlint / oxlint_parser.py |
parse_oxlint_output |
|
34 |
11 |
0 |
|
68% |
| lintro / parsers / oxlint / oxlint_parser.py |
_parse_diagnostic |
|
19 |
0 |
0 |
|
100% |
| lintro / parsers / oxlint / oxlint_parser.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / parsers / prettier / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / prettier / prettier_issue.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / parsers / prettier / prettier_parser.py |
parse_prettier_output |
|
18 |
3 |
0 |
|
83% |
| lintro / parsers / prettier / prettier_parser.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / parsers / pydoclint / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / pydoclint / pydoclint_issue.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / parsers / pydoclint / pydoclint_parser.py |
_safe_int |
|
4 |
2 |
0 |
|
50% |
| lintro / parsers / pydoclint / pydoclint_parser.py |
parse_pydoclint_output |
|
23 |
1 |
0 |
|
96% |
| lintro / parsers / pydoclint / pydoclint_parser.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / parsers / pytest / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / pytest / format_parsers.py |
parse_pytest_json_output |
|
17 |
0 |
0 |
|
100% |
| lintro / parsers / pytest / format_parsers.py |
_parse_json_test_item |
|
23 |
0 |
0 |
|
100% |
| lintro / parsers / pytest / format_parsers.py |
parse_pytest_text_output |
|
80 |
14 |
0 |
|
82% |
| lintro / parsers / pytest / format_parsers.py |
parse_pytest_junit_xml |
|
42 |
10 |
0 |
|
76% |
| lintro / parsers / pytest / format_parsers.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| lintro / parsers / pytest / models.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / parsers / pytest / pytest_issue.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| lintro / parsers / pytest / pytest_parser.py |
parse_pytest_output |
|
6 |
0 |
0 |
|
100% |
| lintro / parsers / pytest / pytest_parser.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / parsers / pytest / summary_extractor.py |
extract_pytest_summary |
|
27 |
2 |
0 |
|
93% |
| lintro / parsers / pytest / summary_extractor.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / parsers / ruff / __init__.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / parsers / ruff / ruff_format_issue.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| lintro / parsers / ruff / ruff_issue.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| lintro / parsers / ruff / ruff_parser.py |
_parse_ruff_item |
|
16 |
0 |
0 |
|
100% |
| lintro / parsers / ruff / ruff_parser.py |
parse_ruff_output |
|
25 |
3 |
0 |
|
88% |
| lintro / parsers / ruff / ruff_parser.py |
parse_ruff_format_check_output |
|
11 |
0 |
0 |
|
100% |
| lintro / parsers / ruff / ruff_parser.py |
stream_ruff_output |
|
4 |
4 |
0 |
|
0% |
| lintro / parsers / ruff / ruff_parser.py |
stream_ruff_format_output |
|
8 |
8 |
0 |
|
0% |
| lintro / parsers / ruff / ruff_parser.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / parsers / rustfmt / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| lintro / parsers / rustfmt / rustfmt_issue.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| lintro / parsers / rustfmt / rustfmt_parser.py |
parse_rustfmt_output |
|
27 |
2 |
0 |
|
93% |
| lintro / parsers / rustfmt / rustfmt_parser.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| lintro / parsers / semgrep / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / semgrep / semgrep_issue.py |
SemgrepIssue.__post_init__ |
|
1 |
0 |
0 |
|
100% |
| lintro / parsers / semgrep / semgrep_issue.py |
SemgrepIssue._get_message |
|
8 |
0 |
0 |
|
100% |
| lintro / parsers / semgrep / semgrep_issue.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| lintro / parsers / semgrep / semgrep_parser.py |
_parse_single_result |
|
28 |
3 |
0 |
|
89% |
| lintro / parsers / semgrep / semgrep_parser.py |
parse_semgrep_output |
|
27 |
3 |
0 |
|
89% |
| lintro / parsers / semgrep / semgrep_parser.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / parsers / shellcheck / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / shellcheck / shellcheck_issue.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| lintro / parsers / shellcheck / shellcheck_parser.py |
_safe_int |
|
4 |
2 |
0 |
|
50% |
| lintro / parsers / shellcheck / shellcheck_parser.py |
parse_shellcheck_output |
|
29 |
0 |
0 |
|
100% |
| lintro / parsers / shellcheck / shellcheck_parser.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| lintro / parsers / shfmt / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / shfmt / shfmt_issue.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| lintro / parsers / shfmt / shfmt_parser.py |
parse_shfmt_output |
|
39 |
3 |
0 |
|
92% |
| lintro / parsers / shfmt / shfmt_parser.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| lintro / parsers / sqlfluff / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / sqlfluff / sqlfluff_issue.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| lintro / parsers / sqlfluff / sqlfluff_parser.py |
_parse_sqlfluff_violation |
|
8 |
0 |
0 |
|
100% |
| lintro / parsers / sqlfluff / sqlfluff_parser.py |
parse_sqlfluff_output |
|
23 |
2 |
0 |
|
91% |
| lintro / parsers / sqlfluff / sqlfluff_parser.py |
parse_sqlfluff_output.parse_with_filepath |
|
1 |
0 |
0 |
|
100% |
| lintro / parsers / sqlfluff / sqlfluff_parser.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| lintro / parsers / streaming.py |
stream_json_lines |
|
21 |
2 |
0 |
|
90% |
| lintro / parsers / streaming.py |
stream_text_lines |
|
16 |
3 |
0 |
|
81% |
| lintro / parsers / streaming.py |
stream_json_array_fallback |
|
24 |
3 |
0 |
|
88% |
| lintro / parsers / streaming.py |
StreamingParser.__init__ |
|
1 |
0 |
0 |
|
100% |
| lintro / parsers / streaming.py |
StreamingParser.parse_item |
|
1 |
0 |
0 |
|
100% |
| lintro / parsers / streaming.py |
StreamingParser.parse_line |
|
1 |
0 |
0 |
|
100% |
| lintro / parsers / streaming.py |
StreamingParser.stream_json_lines |
|
1 |
0 |
0 |
|
100% |
| lintro / parsers / streaming.py |
StreamingParser.stream_text_lines |
|
1 |
0 |
0 |
|
100% |
| lintro / parsers / streaming.py |
StreamingParser.stream_json_array |
|
1 |
0 |
0 |
|
100% |
| lintro / parsers / streaming.py |
collect_streaming_results |
|
1 |
0 |
0 |
|
100% |
| lintro / parsers / streaming.py |
(no function) |
|
19 |
0 |
0 |
|
100% |
| lintro / parsers / svelte_check / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / svelte_check / svelte_check_issue.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / parsers / svelte_check / svelte_check_parser.py |
_normalize_severity |
|
8 |
1 |
0 |
|
88% |
| lintro / parsers / svelte_check / svelte_check_parser.py |
_parse_ndjson_line |
|
25 |
5 |
0 |
|
80% |
| lintro / parsers / svelte_check / svelte_check_parser.py |
_parse_legacy_machine_verbose_line |
|
15 |
3 |
0 |
|
80% |
| lintro / parsers / svelte_check / svelte_check_parser.py |
_parse_machine_line |
|
13 |
3 |
0 |
|
77% |
| lintro / parsers / svelte_check / svelte_check_parser.py |
_parse_line |
|
15 |
1 |
0 |
|
93% |
| lintro / parsers / svelte_check / svelte_check_parser.py |
parse_svelte_check_output |
|
9 |
0 |
0 |
|
100% |
| lintro / parsers / svelte_check / svelte_check_parser.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| lintro / parsers / taplo / __init__.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / parsers / taplo / taplo_issue.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / parsers / taplo / taplo_parser.py |
parse_taplo_output |
|
33 |
0 |
0 |
|
100% |
| lintro / parsers / taplo / taplo_parser.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / parsers / tsc / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / tsc / tsc_issue.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / parsers / tsc / tsc_parser.py |
_parse_line |
|
18 |
4 |
0 |
|
78% |
| lintro / parsers / tsc / tsc_parser.py |
parse_tsc_output |
|
9 |
0 |
0 |
|
100% |
| lintro / parsers / tsc / tsc_parser.py |
categorize_tsc_issues |
|
7 |
0 |
0 |
|
100% |
| lintro / parsers / tsc / tsc_parser.py |
extract_missing_modules |
|
12 |
0 |
0 |
|
100% |
| lintro / parsers / tsc / tsc_parser.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| lintro / parsers / vue_tsc / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / vue_tsc / vue_tsc_issue.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| lintro / parsers / vue_tsc / vue_tsc_parser.py |
_parse_line |
|
18 |
4 |
0 |
|
78% |
| lintro / parsers / vue_tsc / vue_tsc_parser.py |
parse_vue_tsc_output |
|
9 |
0 |
0 |
|
100% |
| lintro / parsers / vue_tsc / vue_tsc_parser.py |
categorize_vue_tsc_issues |
|
7 |
0 |
0 |
|
100% |
| lintro / parsers / vue_tsc / vue_tsc_parser.py |
extract_missing_modules |
|
9 |
0 |
0 |
|
100% |
| lintro / parsers / vue_tsc / vue_tsc_parser.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| lintro / parsers / yamllint / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / parsers / yamllint / yamllint_issue.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / parsers / yamllint / yamllint_parser.py |
parse_yamllint_output |
|
30 |
9 |
0 |
|
70% |
| lintro / parsers / yamllint / yamllint_parser.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| lintro / plugins / __init__.py |
(no function) |
|
4 |
0 |
1 |
|
100% |
| lintro / plugins / base.py |
ExecutionContext.should_skip |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin.__post_init__ |
|
2 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin.definition |
|
0 |
0 |
1 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin.name |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin.reset_options |
|
4 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin.set_options |
|
21 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin.doc_url |
|
1 |
1 |
0 |
|
0% |
| lintro / plugins / base.py |
BaseToolPlugin.check |
|
0 |
0 |
1 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin.fix |
|
3 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin._setup_defaults |
|
3 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin._discover_files |
|
1 |
1 |
0 |
|
0% |
| lintro / plugins / base.py |
BaseToolPlugin._run_subprocess |
|
2 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin._run_subprocess_streaming |
|
2 |
2 |
0 |
|
0% |
| lintro / plugins / base.py |
BaseToolPlugin._get_effective_timeout |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin._validate_subprocess_command |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin._validate_paths |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin._get_cwd |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin._prepare_execution |
|
10 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin._process_files_with_progress |
|
11 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin._get_executable_command |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin._verify_tool_version |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin._get_lintro_config |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin._get_enforced_settings |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin._get_enforce_cli_args |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin._get_defaults_config_args |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin._should_use_lintro_config |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
BaseToolPlugin._build_config_args |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / base.py |
(no function) |
|
57 |
0 |
6 |
|
100% |
| lintro / plugins / discovery.py |
discover_builtin_tools |
|
18 |
4 |
0 |
|
78% |
| lintro / plugins / discovery.py |
discover_external_plugins |
|
25 |
5 |
0 |
|
80% |
| lintro / plugins / discovery.py |
discover_all_tools |
|
10 |
0 |
0 |
|
100% |
| lintro / plugins / discovery.py |
is_discovered |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / discovery.py |
reset_discovery |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / discovery.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| lintro / plugins / execution_preparation.py |
get_effective_timeout |
|
9 |
4 |
0 |
|
56% |
| lintro / plugins / execution_preparation.py |
get_executable_command |
|
8 |
0 |
0 |
|
100% |
| lintro / plugins / execution_preparation.py |
verify_tool_version |
|
7 |
0 |
0 |
|
100% |
| lintro / plugins / execution_preparation.py |
prepare_execution |
|
24 |
0 |
0 |
|
100% |
| lintro / plugins / execution_preparation.py |
get_lintro_config |
|
3 |
0 |
0 |
|
100% |
| lintro / plugins / execution_preparation.py |
get_enforced_settings |
|
4 |
0 |
0 |
|
100% |
| lintro / plugins / execution_preparation.py |
get_enforce_cli_args |
|
4 |
0 |
0 |
|
100% |
| lintro / plugins / execution_preparation.py |
get_defaults_config_args |
|
4 |
0 |
0 |
|
100% |
| lintro / plugins / execution_preparation.py |
should_use_lintro_config |
|
3 |
0 |
0 |
|
100% |
| lintro / plugins / execution_preparation.py |
build_config_args |
|
4 |
0 |
0 |
|
100% |
| lintro / plugins / execution_preparation.py |
(no function) |
|
19 |
0 |
0 |
|
100% |
| lintro / plugins / file_discovery.py |
setup_exclude_patterns |
|
17 |
0 |
0 |
|
100% |
| lintro / plugins / file_discovery.py |
discover_files |
|
7 |
0 |
0 |
|
100% |
| lintro / plugins / file_discovery.py |
validate_paths |
|
5 |
0 |
0 |
|
100% |
| lintro / plugins / file_discovery.py |
get_cwd |
|
14 |
3 |
0 |
|
79% |
| lintro / plugins / file_discovery.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| lintro / plugins / file_processor.py |
AggregatedResult.add_file_result |
|
18 |
0 |
0 |
|
100% |
| lintro / plugins / file_processor.py |
AggregatedResult.build_output |
|
13 |
0 |
0 |
|
100% |
| lintro / plugins / file_processor.py |
(no function) |
|
22 |
0 |
3 |
|
100% |
| lintro / plugins / protocol.py |
ToolDefinition.__post_init__ |
|
4 |
2 |
0 |
|
50% |
| lintro / plugins / protocol.py |
LintroPlugin.definition |
|
0 |
0 |
1 |
|
100% |
| lintro / plugins / protocol.py |
LintroPlugin.check |
|
0 |
0 |
1 |
|
100% |
| lintro / plugins / protocol.py |
LintroPlugin.fix |
|
0 |
0 |
1 |
|
100% |
| lintro / plugins / protocol.py |
LintroPlugin.set_options |
|
0 |
0 |
1 |
|
100% |
| lintro / plugins / protocol.py |
LintroPlugin.doc_url |
|
0 |
0 |
1 |
|
100% |
| lintro / plugins / protocol.py |
(no function) |
|
27 |
0 |
7 |
|
100% |
| lintro / plugins / registry.py |
ToolRegistry.register |
|
10 |
0 |
0 |
|
100% |
| lintro / plugins / registry.py |
ToolRegistry._ensure_discovered |
|
3 |
2 |
0 |
|
33% |
| lintro / plugins / registry.py |
ToolRegistry.get |
|
9 |
1 |
0 |
|
89% |
| lintro / plugins / registry.py |
ToolRegistry.get_all |
|
3 |
0 |
0 |
|
100% |
| lintro / plugins / registry.py |
ToolRegistry.get_definitions |
|
3 |
0 |
0 |
|
100% |
| lintro / plugins / registry.py |
ToolRegistry.get_names |
|
3 |
0 |
0 |
|
100% |
| lintro / plugins / registry.py |
ToolRegistry.is_registered |
|
3 |
0 |
0 |
|
100% |
| lintro / plugins / registry.py |
ToolRegistry.clear |
|
4 |
0 |
0 |
|
100% |
| lintro / plugins / registry.py |
ToolRegistry.get_check_tools |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / registry.py |
ToolRegistry.get_fix_tools |
|
2 |
0 |
0 |
|
100% |
| lintro / plugins / registry.py |
register_tool |
|
1 |
0 |
0 |
|
100% |
| lintro / plugins / registry.py |
(no function) |
|
30 |
0 |
3 |
|
100% |
| lintro / plugins / subprocess_executor.py |
is_compiled_binary |
|
19 |
8 |
0 |
|
58% |
| lintro / plugins / subprocess_executor.py |
validate_subprocess_command |
|
7 |
0 |
0 |
|
100% |
| lintro / plugins / subprocess_executor.py |
run_subprocess |
|
25 |
4 |
0 |
|
84% |
| lintro / plugins / subprocess_executor.py |
run_subprocess_streaming |
|
34 |
1 |
0 |
|
97% |
| lintro / plugins / subprocess_executor.py |
run_subprocess_streaming.read_output |
|
6 |
0 |
0 |
|
100% |
| lintro / plugins / subprocess_executor.py |
(no function) |
|
14 |
0 |
2 |
|
100% |
| lintro / tools / __init__.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / core / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| lintro / tools / core / command_builders.py |
CommandBuilder.can_handle |
|
0 |
0 |
1 |
|
100% |
| lintro / tools / core / command_builders.py |
CommandBuilder.get_command |
|
0 |
0 |
1 |
|
100% |
| lintro / tools / core / command_builders.py |
CommandBuilderRegistry.register |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / command_builders.py |
CommandBuilderRegistry.get_command |
|
4 |
0 |
0 |
|
100% |
| lintro / tools / core / command_builders.py |
CommandBuilderRegistry.clear |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / command_builders.py |
CommandBuilderRegistry.is_registered |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / command_builders.py |
register_command_builder |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / command_builders.py |
_is_compiled_binary |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / command_builders.py |
resolve_venv_tool_command |
|
18 |
1 |
0 |
|
94% |
| lintro / tools / core / command_builders.py |
PythonBundledBuilder.tools |
|
4 |
0 |
0 |
|
100% |
| lintro / tools / core / command_builders.py |
PythonBundledBuilder.can_handle |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / command_builders.py |
PythonBundledBuilder.get_command |
|
19 |
7 |
0 |
|
63% |
| lintro / tools / core / command_builders.py |
PytestBuilder.can_handle |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / command_builders.py |
PytestBuilder.get_command |
|
19 |
7 |
0 |
|
63% |
| lintro / tools / core / command_builders.py |
NodeJSBuilder.package_names |
|
4 |
0 |
0 |
|
100% |
| lintro / tools / core / command_builders.py |
NodeJSBuilder.binary_names |
|
4 |
0 |
0 |
|
100% |
| lintro / tools / core / command_builders.py |
NodeJSBuilder.can_handle |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / command_builders.py |
NodeJSBuilder.get_command |
|
8 |
2 |
0 |
|
75% |
| lintro / tools / core / command_builders.py |
CargoBuilder.can_handle |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / command_builders.py |
CargoBuilder.get_command |
|
6 |
1 |
0 |
|
83% |
| lintro / tools / core / command_builders.py |
StandaloneBuilder.tools |
|
4 |
0 |
0 |
|
100% |
| lintro / tools / core / command_builders.py |
StandaloneBuilder.can_handle |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / command_builders.py |
StandaloneBuilder.get_command |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / command_builders.py |
(no function) |
|
59 |
0 |
5 |
|
100% |
| lintro / tools / core / config_injection.py |
_get_lintro_config |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / config_injection.py |
_get_enforced_settings |
|
8 |
2 |
0 |
|
75% |
| lintro / tools / core / config_injection.py |
_get_enforce_cli_args |
|
4 |
1 |
0 |
|
75% |
| lintro / tools / core / config_injection.py |
_get_defaults_config_args |
|
5 |
1 |
0 |
|
80% |
| lintro / tools / core / config_injection.py |
_should_use_lintro_config |
|
11 |
3 |
0 |
|
73% |
| lintro / tools / core / config_injection.py |
_build_config_args |
|
8 |
2 |
0 |
|
75% |
| lintro / tools / core / config_injection.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| lintro / tools / core / install_context.py |
RuntimeContext.detect |
|
2 |
2 |
0 |
|
0% |
| lintro / tools / core / install_context.py |
_detect_install_context |
|
16 |
6 |
0 |
|
62% |
| lintro / tools / core / install_context.py |
_detect_platform_label |
|
5 |
5 |
0 |
|
0% |
| lintro / tools / core / install_context.py |
_is_ci |
|
6 |
1 |
0 |
|
83% |
| lintro / tools / core / install_context.py |
(no function) |
|
19 |
0 |
0 |
|
100% |
| lintro / tools / core / install_plan.py |
InstallPlan.has_work |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / install_plan.py |
InstallPlan.total_actions |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / install_plan.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / __init__.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / base.py |
InstallStrategy.install_type |
|
0 |
0 |
1 |
|
100% |
| lintro / tools / core / install_strategies / base.py |
InstallStrategy.is_available |
|
0 |
0 |
1 |
|
100% |
| lintro / tools / core / install_strategies / base.py |
InstallStrategy.check_prerequisites |
|
0 |
0 |
1 |
|
100% |
| lintro / tools / core / install_strategies / base.py |
InstallStrategy.install_hint |
|
0 |
0 |
1 |
|
100% |
| lintro / tools / core / install_strategies / base.py |
InstallStrategy.upgrade_hint |
|
0 |
0 |
1 |
|
100% |
| lintro / tools / core / install_strategies / base.py |
(no function) |
|
14 |
0 |
4 |
|
100% |
| lintro / tools / core / install_strategies / binary_strategy.py |
BinaryStrategy.install_type |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / binary_strategy.py |
BinaryStrategy.is_available |
|
1 |
1 |
0 |
|
0% |
| lintro / tools / core / install_strategies / binary_strategy.py |
BinaryStrategy.check_prerequisites |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / binary_strategy.py |
BinaryStrategy.install_hint |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / binary_strategy.py |
BinaryStrategy.upgrade_hint |
|
5 |
1 |
0 |
|
80% |
| lintro / tools / core / install_strategies / binary_strategy.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / brew_names.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / cargo_strategy.py |
CargoStrategy.install_type |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / cargo_strategy.py |
CargoStrategy.is_available |
|
1 |
1 |
0 |
|
0% |
| lintro / tools / core / install_strategies / cargo_strategy.py |
CargoStrategy.check_prerequisites |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / cargo_strategy.py |
CargoStrategy.install_hint |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / cargo_strategy.py |
CargoStrategy.upgrade_hint |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / cargo_strategy.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / environment.py |
InstallEnvironment.has |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / environment.py |
InstallEnvironment.detect |
|
8 |
8 |
0 |
|
0% |
| lintro / tools / core / install_strategies / environment.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / npm_strategy.py |
NpmStrategy.install_type |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / npm_strategy.py |
NpmStrategy.is_available |
|
1 |
1 |
0 |
|
0% |
| lintro / tools / core / install_strategies / npm_strategy.py |
NpmStrategy.check_prerequisites |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / npm_strategy.py |
NpmStrategy.install_hint |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / npm_strategy.py |
NpmStrategy.upgrade_hint |
|
5 |
1 |
0 |
|
80% |
| lintro / tools / core / install_strategies / npm_strategy.py |
_npm_cmd |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / npm_strategy.py |
_is_homebrew_context |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / npm_strategy.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / pip_strategy.py |
PipStrategy.install_type |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / pip_strategy.py |
PipStrategy.is_available |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / pip_strategy.py |
PipStrategy.check_prerequisites |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / pip_strategy.py |
PipStrategy.install_hint |
|
7 |
1 |
0 |
|
86% |
| lintro / tools / core / install_strategies / pip_strategy.py |
PipStrategy.upgrade_hint |
|
7 |
1 |
0 |
|
86% |
| lintro / tools / core / install_strategies / pip_strategy.py |
_pip_cmd |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / pip_strategy.py |
_is_homebrew_context |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / pip_strategy.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / registry.py |
register_strategy |
|
6 |
2 |
0 |
|
67% |
| lintro / tools / core / install_strategies / registry.py |
get_strategy |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / registry.py |
strategy_registry |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / registry.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / rustup_strategy.py |
RustupStrategy.install_type |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / rustup_strategy.py |
RustupStrategy.is_available |
|
1 |
1 |
0 |
|
0% |
| lintro / tools / core / install_strategies / rustup_strategy.py |
RustupStrategy.check_prerequisites |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / rustup_strategy.py |
RustupStrategy.install_hint |
|
4 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / rustup_strategy.py |
RustupStrategy.upgrade_hint |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / install_strategies / rustup_strategy.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / tools / core / line_length_checker.py |
check_line_length_violations |
|
43 |
1 |
0 |
|
98% |
| lintro / tools / core / line_length_checker.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| lintro / tools / core / manifest_models.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| lintro / tools / core / option_spec.py |
OptionSpec.validate |
|
20 |
0 |
0 |
|
100% |
| lintro / tools / core / option_spec.py |
OptionSpec.to_cli_args |
|
12 |
1 |
0 |
|
92% |
| lintro / tools / core / option_spec.py |
ToolOptionsSpec.add |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / option_spec.py |
ToolOptionsSpec.validate_all |
|
6 |
0 |
0 |
|
100% |
| lintro / tools / core / option_spec.py |
ToolOptionsSpec.to_cli_args |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / core / option_spec.py |
ToolOptionsSpec.get_defaults |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / option_spec.py |
bool_option |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / option_spec.py |
int_option |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / option_spec.py |
positive_int_option |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / option_spec.py |
str_option |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / option_spec.py |
list_option |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / option_spec.py |
enum_option |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / option_spec.py |
(no function) |
|
39 |
0 |
0 |
|
100% |
| lintro / tools / core / option_validators.py |
validate_bool |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / option_validators.py |
validate_str |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / option_validators.py |
validate_int |
|
8 |
0 |
0 |
|
100% |
| lintro / tools / core / option_validators.py |
validate_positive_int |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / core / option_validators.py |
validate_list |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / option_validators.py |
normalize_str_or_list |
|
9 |
1 |
0 |
|
89% |
| lintro / tools / core / option_validators.py |
filter_none_options |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / option_validators.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / tools / core / runtime_discovery.py |
_get_tool_probe_info |
|
7 |
3 |
0 |
|
57% |
| lintro / tools / core / runtime_discovery.py |
_extract_version |
|
6 |
0 |
0 |
|
100% |
| lintro / tools / core / runtime_discovery.py |
discover_tool |
|
41 |
7 |
0 |
|
83% |
| lintro / tools / core / runtime_discovery.py |
discover_all_tools |
|
17 |
6 |
0 |
|
65% |
| lintro / tools / core / runtime_discovery.py |
clear_discovery_cache |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / core / runtime_discovery.py |
is_tool_available |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / runtime_discovery.py |
get_tool_path |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / runtime_discovery.py |
get_unavailable_tools |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / runtime_discovery.py |
get_available_tools |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / runtime_discovery.py |
format_tool_status_table |
|
12 |
0 |
0 |
|
100% |
| lintro / tools / core / runtime_discovery.py |
(no function) |
|
36 |
0 |
0 |
|
100% |
| lintro / tools / core / timeout_utils.py |
run_subprocess_with_timeout |
|
9 |
0 |
0 |
|
100% |
| lintro / tools / core / timeout_utils.py |
get_timeout_value |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / core / timeout_utils.py |
create_timeout_result |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / timeout_utils.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_installer.py |
ToolInstaller.__init__ |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_installer.py |
ToolInstaller.plan |
|
13 |
2 |
0 |
|
85% |
| lintro / tools / core / tool_installer.py |
ToolInstaller._is_manual_hint |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_installer.py |
ToolInstaller._plan_tool |
|
30 |
3 |
0 |
|
90% |
| lintro / tools / core / tool_installer.py |
ToolInstaller._check_prerequisites |
|
4 |
1 |
0 |
|
75% |
| lintro / tools / core / tool_installer.py |
ToolInstaller._get_installed_version |
|
13 |
13 |
0 |
|
0% |
| lintro / tools / core / tool_installer.py |
ToolInstaller._version_meets_minimum |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_installer.py |
ToolInstaller._get_install_command |
|
14 |
5 |
0 |
|
64% |
| lintro / tools / core / tool_installer.py |
ToolInstaller._is_brew_managed |
|
7 |
2 |
0 |
|
71% |
| lintro / tools / core / tool_installer.py |
ToolInstaller.execute |
|
8 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_installer.py |
ToolInstaller._run_install |
|
23 |
5 |
0 |
|
78% |
| lintro / tools / core / tool_installer.py |
ToolInstaller._has_install_script |
|
6 |
6 |
0 |
|
0% |
| lintro / tools / core / tool_installer.py |
ToolInstaller._install_via_script |
|
20 |
20 |
0 |
|
0% |
| lintro / tools / core / tool_installer.py |
(no function) |
|
31 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_manager.py |
ToolManager._ensure_initialized |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_manager.py |
ToolManager.get_tool |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_manager.py |
ToolManager.get_tool_execution_order |
|
36 |
10 |
0 |
|
72% |
| lintro / tools / core / tool_manager.py |
ToolManager.set_tool_options |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_manager.py |
ToolManager.get_all_tools |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_manager.py |
ToolManager.get_check_tools |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_manager.py |
ToolManager.get_fix_tools |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_manager.py |
ToolManager.get_tool_names |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_manager.py |
ToolManager.is_tool_registered |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_manager.py |
(no function) |
|
19 |
0 |
2 |
|
100% |
| lintro / tools / core / tool_registry.py |
ToolRegistry.__init__ |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_registry.py |
ToolRegistry.load |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_registry.py |
ToolRegistry.clear_cache |
|
1 |
1 |
0 |
|
0% |
| lintro / tools / core / tool_registry.py |
ToolRegistry._load_from_path |
|
29 |
6 |
0 |
|
79% |
| lintro / tools / core / tool_registry.py |
ToolRegistry._parse_tool_entry |
|
17 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_registry.py |
ToolRegistry.get |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_registry.py |
ToolRegistry.get_or_none |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_registry.py |
ToolRegistry.all_tools |
|
4 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_registry.py |
ToolRegistry.tools_for_languages |
|
8 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_registry.py |
ToolRegistry.tools_for_profile |
|
19 |
3 |
0 |
|
84% |
| lintro / tools / core / tool_registry.py |
ToolRegistry.tools_by_category |
|
11 |
11 |
0 |
|
0% |
| lintro / tools / core / tool_registry.py |
ToolRegistry.version_command |
|
1 |
1 |
0 |
|
0% |
| lintro / tools / core / tool_registry.py |
ToolRegistry.profile_names |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_registry.py |
ToolRegistry.profiles |
|
1 |
1 |
0 |
|
0% |
| lintro / tools / core / tool_registry.py |
ToolRegistry.language_map |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_registry.py |
ToolRegistry.__len__ |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_registry.py |
ToolRegistry.__contains__ |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / tool_registry.py |
(no function) |
|
37 |
0 |
0 |
|
100% |
| lintro / tools / core / version_checking.py |
_get_version_timeout |
|
13 |
0 |
0 |
|
100% |
| lintro / tools / core / version_checking.py |
get_minimum_versions |
|
11 |
1 |
0 |
|
91% |
| lintro / tools / core / version_checking.py |
get_install_hints |
|
15 |
5 |
0 |
|
67% |
| lintro / tools / core / version_checking.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| lintro / tools / core / version_parsing.py |
_get_minimum_versions_cached |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / version_parsing.py |
_get_install_hints_cached |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / version_parsing.py |
get_minimum_versions |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / version_parsing.py |
get_install_hints |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / core / version_parsing.py |
parse_version |
|
11 |
0 |
0 |
|
100% |
| lintro / tools / core / version_parsing.py |
compare_versions |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / core / version_parsing.py |
check_tool_version |
|
48 |
7 |
0 |
|
85% |
| lintro / tools / core / version_parsing.py |
extract_version_from_output |
|
28 |
1 |
0 |
|
96% |
| lintro / tools / core / version_parsing.py |
(no function) |
|
32 |
0 |
0 |
|
100% |
| lintro / tools / core / version_requirements.py |
get_all_tool_versions |
|
16 |
7 |
0 |
|
56% |
| lintro / tools / core / version_requirements.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| lintro / tools / definitions / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| lintro / tools / definitions / actionlint.py |
ActionlintPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / actionlint.py |
ActionlintPlugin.set_options |
|
1 |
1 |
0 |
|
0% |
| lintro / tools / definitions / actionlint.py |
ActionlintPlugin._build_command |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / actionlint.py |
ActionlintPlugin._process_single_file |
|
14 |
4 |
4 |
|
71% |
| lintro / tools / definitions / actionlint.py |
ActionlintPlugin.doc_url |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / definitions / actionlint.py |
ActionlintPlugin.check |
|
24 |
10 |
0 |
|
58% |
| lintro / tools / definitions / actionlint.py |
ActionlintPlugin.fix |
|
1 |
1 |
0 |
|
0% |
| lintro / tools / definitions / actionlint.py |
(no function) |
|
28 |
0 |
0 |
|
100% |
| lintro / tools / definitions / astro_check.py |
AstroCheckPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / astro_check.py |
AstroCheckPlugin.set_options |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / definitions / astro_check.py |
AstroCheckPlugin._get_astro_command |
|
7 |
5 |
0 |
|
29% |
| lintro / tools / definitions / astro_check.py |
AstroCheckPlugin._find_astro_config |
|
11 |
0 |
0 |
|
100% |
| lintro / tools / definitions / astro_check.py |
AstroCheckPlugin._build_command |
|
7 |
0 |
0 |
|
100% |
| lintro / tools / definitions / astro_check.py |
AstroCheckPlugin.doc_url |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / definitions / astro_check.py |
AstroCheckPlugin.check |
|
65 |
30 |
0 |
|
54% |
| lintro / tools / definitions / astro_check.py |
AstroCheckPlugin.fix |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / astro_check.py |
(no function) |
|
35 |
0 |
0 |
|
100% |
| lintro / tools / definitions / bandit.py |
_extract_bandit_json |
|
13 |
1 |
0 |
|
92% |
| lintro / tools / definitions / bandit.py |
BanditPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / bandit.py |
BanditPlugin.__post_init__ |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / definitions / bandit.py |
BanditPlugin.reset_options |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / definitions / bandit.py |
BanditPlugin._apply_native_config |
|
34 |
10 |
0 |
|
71% |
| lintro / tools / definitions / bandit.py |
BanditPlugin.set_options |
|
11 |
3 |
0 |
|
73% |
| lintro / tools / definitions / bandit.py |
BanditPlugin._build_check_command |
|
48 |
21 |
0 |
|
56% |
| lintro / tools / definitions / bandit.py |
BanditPlugin.doc_url |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / definitions / bandit.py |
BanditPlugin.check |
|
41 |
14 |
0 |
|
66% |
| lintro / tools / definitions / bandit.py |
BanditPlugin.fix |
|
1 |
1 |
0 |
|
0% |
| lintro / tools / definitions / bandit.py |
(no function) |
|
33 |
0 |
0 |
|
100% |
| lintro / tools / definitions / black.py |
BlackPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / black.py |
BlackPlugin.set_options |
|
7 |
0 |
0 |
|
100% |
| lintro / tools / definitions / black.py |
BlackPlugin._build_common_args |
|
13 |
6 |
0 |
|
54% |
| lintro / tools / definitions / black.py |
BlackPlugin._check_line_length_violations |
|
21 |
7 |
0 |
|
67% |
| lintro / tools / definitions / black.py |
BlackPlugin._handle_timeout_error |
|
4 |
1 |
0 |
|
75% |
| lintro / tools / definitions / black.py |
BlackPlugin.check |
|
18 |
0 |
0 |
|
100% |
| lintro / tools / definitions / black.py |
BlackPlugin.fix |
|
49 |
12 |
0 |
|
76% |
| lintro / tools / definitions / black.py |
(no function) |
|
27 |
0 |
0 |
|
100% |
| lintro / tools / definitions / cargo_audit.py |
_find_cargo_root |
|
9 |
1 |
0 |
|
89% |
| lintro / tools / definitions / cargo_audit.py |
CargoAuditPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / cargo_audit.py |
CargoAuditPlugin.set_options |
|
8 |
0 |
0 |
|
100% |
| lintro / tools / definitions / cargo_audit.py |
CargoAuditPlugin._build_command |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / cargo_audit.py |
CargoAuditPlugin.doc_url |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / definitions / cargo_audit.py |
CargoAuditPlugin.check |
|
15 |
1 |
0 |
|
93% |
| lintro / tools / definitions / cargo_audit.py |
CargoAuditPlugin.fix |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / cargo_audit.py |
(no function) |
|
28 |
0 |
0 |
|
100% |
| lintro / tools / definitions / cargo_deny.py |
_find_cargo_root |
|
21 |
11 |
0 |
|
48% |
| lintro / tools / definitions / cargo_deny.py |
_build_cargo_deny_command |
|
1 |
1 |
0 |
|
0% |
| lintro / tools / definitions / cargo_deny.py |
CargoDenyPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / cargo_deny.py |
CargoDenyPlugin.set_options |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / definitions / cargo_deny.py |
CargoDenyPlugin.doc_url |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / definitions / cargo_deny.py |
CargoDenyPlugin.check |
|
15 |
9 |
0 |
|
40% |
| lintro / tools / definitions / cargo_deny.py |
CargoDenyPlugin.fix |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / cargo_deny.py |
(no function) |
|
29 |
0 |
0 |
|
100% |
| lintro / tools / definitions / clippy.py |
_find_cargo_root |
|
21 |
21 |
0 |
|
0% |
| lintro / tools / definitions / clippy.py |
_build_clippy_command |
|
4 |
4 |
0 |
|
0% |
| lintro / tools / definitions / clippy.py |
ClippyPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / clippy.py |
ClippyPlugin._verify_tool_version |
|
6 |
6 |
0 |
|
0% |
| lintro / tools / definitions / clippy.py |
ClippyPlugin.set_options |
|
3 |
3 |
0 |
|
0% |
| lintro / tools / definitions / clippy.py |
ClippyPlugin.doc_url |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / definitions / clippy.py |
ClippyPlugin.check |
|
16 |
16 |
0 |
|
0% |
| lintro / tools / definitions / clippy.py |
ClippyPlugin.fix |
|
30 |
30 |
0 |
|
0% |
| lintro / tools / definitions / clippy.py |
(no function) |
|
32 |
0 |
0 |
|
100% |
| lintro / tools / definitions / gitleaks.py |
GitleaksPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / gitleaks.py |
GitleaksPlugin.set_options |
|
7 |
0 |
0 |
|
100% |
| lintro / tools / definitions / gitleaks.py |
GitleaksPlugin._build_check_command |
|
20 |
0 |
0 |
|
100% |
| lintro / tools / definitions / gitleaks.py |
GitleaksPlugin.check |
|
42 |
8 |
0 |
|
81% |
| lintro / tools / definitions / gitleaks.py |
GitleaksPlugin.fix |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / gitleaks.py |
(no function) |
|
31 |
0 |
0 |
|
100% |
| lintro / tools / definitions / hadolint.py |
HadolintPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / hadolint.py |
HadolintPlugin.set_options |
|
14 |
0 |
0 |
|
100% |
| lintro / tools / definitions / hadolint.py |
HadolintPlugin._build_command |
|
26 |
0 |
0 |
|
100% |
| lintro / tools / definitions / hadolint.py |
HadolintPlugin._process_single_file |
|
9 |
4 |
0 |
|
56% |
| lintro / tools / definitions / hadolint.py |
HadolintPlugin.doc_url |
|
8 |
0 |
0 |
|
100% |
| lintro / tools / definitions / hadolint.py |
HadolintPlugin.check |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / definitions / hadolint.py |
HadolintPlugin.fix |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / hadolint.py |
(no function) |
|
33 |
0 |
0 |
|
100% |
| lintro / tools / definitions / markdownlint.py |
MarkdownlintPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / markdownlint.py |
MarkdownlintPlugin._verify_tool_version |
|
7 |
7 |
0 |
|
0% |
| lintro / tools / definitions / markdownlint.py |
MarkdownlintPlugin.set_options |
|
10 |
10 |
0 |
|
0% |
| lintro / tools / definitions / markdownlint.py |
MarkdownlintPlugin._get_markdownlint_command |
|
5 |
3 |
0 |
|
40% |
| lintro / tools / definitions / markdownlint.py |
MarkdownlintPlugin._create_temp_markdownlint_config |
|
10 |
10 |
0 |
|
0% |
| lintro / tools / definitions / markdownlint.py |
MarkdownlintPlugin.doc_url |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / definitions / markdownlint.py |
MarkdownlintPlugin.check |
|
39 |
16 |
0 |
|
59% |
| lintro / tools / definitions / markdownlint.py |
MarkdownlintPlugin.fix |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / markdownlint.py |
(no function) |
|
37 |
0 |
0 |
|
100% |
| lintro / tools / definitions / mypy.py |
_split_config_values |
|
6 |
0 |
0 |
|
100% |
| lintro / tools / definitions / mypy.py |
_regex_to_glob |
|
9 |
0 |
0 |
|
100% |
| lintro / tools / definitions / mypy.py |
MypyPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / mypy.py |
MypyPlugin.set_options |
|
13 |
0 |
0 |
|
100% |
| lintro / tools / definitions / mypy.py |
MypyPlugin._glob_to_regex |
|
14 |
14 |
0 |
|
0% |
| lintro / tools / definitions / mypy.py |
MypyPlugin._build_command |
|
28 |
11 |
0 |
|
61% |
| lintro / tools / definitions / mypy.py |
MypyPlugin._build_effective_excludes |
|
11 |
0 |
0 |
|
100% |
| lintro / tools / definitions / mypy.py |
MypyPlugin.doc_url |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / definitions / mypy.py |
MypyPlugin.check |
|
60 |
18 |
0 |
|
70% |
| lintro / tools / definitions / mypy.py |
MypyPlugin.fix |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / mypy.py |
(no function) |
|
36 |
0 |
0 |
|
100% |
| lintro / tools / definitions / osv_scanner.py |
OsvScannerPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / osv_scanner.py |
OsvScannerPlugin.set_options |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / definitions / osv_scanner.py |
OsvScannerPlugin._build_command |
|
6 |
0 |
0 |
|
100% |
| lintro / tools / definitions / osv_scanner.py |
OsvScannerPlugin._build_probe_command |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / osv_scanner.py |
OsvScannerPlugin._find_config_file |
|
6 |
0 |
0 |
|
100% |
| lintro / tools / definitions / osv_scanner.py |
OsvScannerPlugin._resolve_scan_root |
|
10 |
4 |
0 |
|
60% |
| lintro / tools / definitions / osv_scanner.py |
OsvScannerPlugin.doc_url |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / definitions / osv_scanner.py |
OsvScannerPlugin.check |
|
24 |
1 |
0 |
|
96% |
| lintro / tools / definitions / osv_scanner.py |
OsvScannerPlugin._check_suppression_staleness |
|
22 |
3 |
0 |
|
86% |
| lintro / tools / definitions / osv_scanner.py |
OsvScannerPlugin.fix |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / osv_scanner.py |
(no function) |
|
35 |
0 |
0 |
|
100% |
| lintro / tools / definitions / oxfmt.py |
OxfmtPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / oxfmt.py |
OxfmtPlugin.set_options |
|
9 |
0 |
0 |
|
100% |
| lintro / tools / definitions / oxfmt.py |
OxfmtPlugin._create_timeout_result |
|
5 |
5 |
0 |
|
0% |
| lintro / tools / definitions / oxfmt.py |
OxfmtPlugin._build_oxfmt_args |
|
8 |
0 |
0 |
|
100% |
| lintro / tools / definitions / oxfmt.py |
OxfmtPlugin.check |
|
33 |
3 |
0 |
|
91% |
| lintro / tools / definitions / oxfmt.py |
OxfmtPlugin.fix |
|
58 |
10 |
0 |
|
83% |
| lintro / tools / definitions / oxfmt.py |
(no function) |
|
28 |
0 |
0 |
|
100% |
| lintro / tools / definitions / oxlint.py |
OxlintPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / oxlint.py |
OxlintPlugin.__post_init__ |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / definitions / oxlint.py |
OxlintPlugin.set_options |
|
14 |
0 |
0 |
|
100% |
| lintro / tools / definitions / oxlint.py |
OxlintPlugin._create_timeout_result |
|
6 |
1 |
0 |
|
83% |
| lintro / tools / definitions / oxlint.py |
OxlintPlugin._build_oxlint_args |
|
20 |
0 |
0 |
|
100% |
| lintro / tools / definitions / oxlint.py |
OxlintPlugin.doc_url |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / definitions / oxlint.py |
OxlintPlugin.check |
|
35 |
3 |
0 |
|
91% |
| lintro / tools / definitions / oxlint.py |
OxlintPlugin.fix |
|
60 |
7 |
0 |
|
88% |
| lintro / tools / definitions / oxlint.py |
(no function) |
|
31 |
0 |
0 |
|
100% |
| lintro / tools / definitions / prettier.py |
PrettierPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / prettier.py |
PrettierPlugin.set_options |
|
4 |
0 |
0 |
|
100% |
| lintro / tools / definitions / prettier.py |
PrettierPlugin._find_prettier_config |
|
22 |
7 |
0 |
|
68% |
| lintro / tools / definitions / prettier.py |
PrettierPlugin._find_prettierignore |
|
13 |
0 |
0 |
|
100% |
| lintro / tools / definitions / prettier.py |
PrettierPlugin._create_not_found_result |
|
1 |
1 |
0 |
|
0% |
| lintro / tools / definitions / prettier.py |
PrettierPlugin._create_timeout_result |
|
5 |
5 |
0 |
|
0% |
| lintro / tools / definitions / prettier.py |
PrettierPlugin.check |
|
45 |
13 |
0 |
|
71% |
| lintro / tools / definitions / prettier.py |
PrettierPlugin.fix |
|
85 |
32 |
0 |
|
62% |
| lintro / tools / definitions / prettier.py |
(no function) |
|
33 |
0 |
0 |
|
100% |
| lintro / tools / definitions / pydoclint.py |
PydoclintPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / pydoclint.py |
PydoclintPlugin._build_command |
|
4 |
0 |
0 |
|
100% |
| lintro / tools / definitions / pydoclint.py |
PydoclintPlugin._process_single_file |
|
9 |
2 |
0 |
|
78% |
| lintro / tools / definitions / pydoclint.py |
PydoclintPlugin.doc_url |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / definitions / pydoclint.py |
PydoclintPlugin.check |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / definitions / pydoclint.py |
PydoclintPlugin.fix |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / pydoclint.py |
(no function) |
|
24 |
0 |
0 |
|
100% |
| lintro / tools / definitions / pytest.py |
PytestPlugin.__post_init__ |
|
14 |
2 |
0 |
|
86% |
| lintro / tools / definitions / pytest.py |
PytestPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / pytest.py |
PytestPlugin.set_options |
|
8 |
1 |
0 |
|
88% |
| lintro / tools / definitions / pytest.py |
PytestPlugin._parse_output |
|
4 |
4 |
0 |
|
0% |
| lintro / tools / definitions / pytest.py |
PytestPlugin.check |
|
59 |
32 |
0 |
|
46% |
| lintro / tools / definitions / pytest.py |
PytestPlugin.fix |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / pytest.py |
(no function) |
|
38 |
0 |
0 |
|
100% |
| lintro / tools / definitions / ruff.py |
RuffPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / ruff.py |
RuffPlugin.__post_init__ |
|
14 |
1 |
0 |
|
93% |
| lintro / tools / definitions / ruff.py |
RuffPlugin.set_options |
|
14 |
0 |
0 |
|
100% |
| lintro / tools / definitions / ruff.py |
RuffPlugin._resolve_rule_name |
|
15 |
0 |
0 |
|
100% |
| lintro / tools / definitions / ruff.py |
RuffPlugin.doc_url |
|
6 |
0 |
0 |
|
100% |
| lintro / tools / definitions / ruff.py |
RuffPlugin.check |
|
4 |
1 |
0 |
|
75% |
| lintro / tools / definitions / ruff.py |
RuffPlugin.fix |
|
4 |
1 |
0 |
|
75% |
| lintro / tools / definitions / ruff.py |
(no function) |
|
34 |
0 |
0 |
|
100% |
| lintro / tools / definitions / rustfmt.py |
_find_cargo_root |
|
25 |
10 |
0 |
|
60% |
| lintro / tools / definitions / rustfmt.py |
_build_rustfmt_check_command |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / rustfmt.py |
_build_rustfmt_fix_command |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / rustfmt.py |
RustfmtPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / rustfmt.py |
RustfmtPlugin.set_options |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / definitions / rustfmt.py |
RustfmtPlugin.check |
|
16 |
0 |
0 |
|
100% |
| lintro / tools / definitions / rustfmt.py |
RustfmtPlugin.fix |
|
32 |
2 |
0 |
|
94% |
| lintro / tools / definitions / rustfmt.py |
(no function) |
|
31 |
0 |
0 |
|
100% |
| lintro / tools / definitions / semgrep.py |
_extract_semgrep_json |
|
13 |
1 |
0 |
|
92% |
| lintro / tools / definitions / semgrep.py |
SemgrepPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / semgrep.py |
SemgrepPlugin.set_options |
|
12 |
0 |
0 |
|
100% |
| lintro / tools / definitions / semgrep.py |
SemgrepPlugin._build_check_command |
|
28 |
0 |
0 |
|
100% |
| lintro / tools / definitions / semgrep.py |
SemgrepPlugin.doc_url |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / definitions / semgrep.py |
SemgrepPlugin.check |
|
35 |
6 |
0 |
|
83% |
| lintro / tools / definitions / semgrep.py |
SemgrepPlugin.check._is_partial_parsing |
|
8 |
6 |
0 |
|
25% |
| lintro / tools / definitions / semgrep.py |
SemgrepPlugin.fix |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / semgrep.py |
(no function) |
|
34 |
0 |
0 |
|
100% |
| lintro / tools / definitions / shellcheck.py |
normalize_shellcheck_severity |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / definitions / shellcheck.py |
normalize_shellcheck_shell |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / definitions / shellcheck.py |
ShellcheckPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / shellcheck.py |
ShellcheckPlugin.set_options |
|
9 |
0 |
0 |
|
100% |
| lintro / tools / definitions / shellcheck.py |
ShellcheckPlugin.doc_url |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / definitions / shellcheck.py |
ShellcheckPlugin._build_command |
|
12 |
0 |
0 |
|
100% |
| lintro / tools / definitions / shellcheck.py |
ShellcheckPlugin._process_single_file |
|
9 |
2 |
0 |
|
78% |
| lintro / tools / definitions / shellcheck.py |
ShellcheckPlugin.check |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / definitions / shellcheck.py |
ShellcheckPlugin.fix |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / shellcheck.py |
(no function) |
|
35 |
0 |
0 |
|
100% |
| lintro / tools / definitions / shfmt.py |
ShfmtPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / shfmt.py |
ShfmtPlugin.set_options |
|
14 |
0 |
0 |
|
100% |
| lintro / tools / definitions / shfmt.py |
ShfmtPlugin._build_common_args |
|
16 |
0 |
0 |
|
100% |
| lintro / tools / definitions / shfmt.py |
ShfmtPlugin._process_single_file |
|
11 |
2 |
0 |
|
82% |
| lintro / tools / definitions / shfmt.py |
ShfmtPlugin._process_single_file_fix |
|
19 |
3 |
0 |
|
84% |
| lintro / tools / definitions / shfmt.py |
ShfmtPlugin.check |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / definitions / shfmt.py |
ShfmtPlugin.fix |
|
19 |
2 |
0 |
|
89% |
| lintro / tools / definitions / shfmt.py |
ShfmtPlugin.fix.process_fix |
|
6 |
0 |
0 |
|
100% |
| lintro / tools / definitions / shfmt.py |
(no function) |
|
29 |
0 |
0 |
|
100% |
| lintro / tools / definitions / sqlfluff.py |
SqlfluffPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / sqlfluff.py |
SqlfluffPlugin.set_options |
|
6 |
0 |
0 |
|
100% |
| lintro / tools / definitions / sqlfluff.py |
SqlfluffPlugin._build_lint_command |
|
16 |
0 |
0 |
|
100% |
| lintro / tools / definitions / sqlfluff.py |
SqlfluffPlugin._build_fix_command |
|
16 |
0 |
0 |
|
100% |
| lintro / tools / definitions / sqlfluff.py |
SqlfluffPlugin._process_single_file_check |
|
10 |
2 |
0 |
|
80% |
| lintro / tools / definitions / sqlfluff.py |
SqlfluffPlugin._process_single_file_fix |
|
8 |
2 |
0 |
|
75% |
| lintro / tools / definitions / sqlfluff.py |
SqlfluffPlugin.doc_url |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / definitions / sqlfluff.py |
SqlfluffPlugin.check |
|
6 |
0 |
0 |
|
100% |
| lintro / tools / definitions / sqlfluff.py |
SqlfluffPlugin.check.processor |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / sqlfluff.py |
SqlfluffPlugin.fix |
|
6 |
0 |
0 |
|
100% |
| lintro / tools / definitions / sqlfluff.py |
SqlfluffPlugin.fix.processor |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / sqlfluff.py |
(no function) |
|
32 |
0 |
0 |
|
100% |
| lintro / tools / definitions / svelte_check.py |
SvelteCheckPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / svelte_check.py |
SvelteCheckPlugin.set_options |
|
10 |
0 |
0 |
|
100% |
| lintro / tools / definitions / svelte_check.py |
SvelteCheckPlugin._get_svelte_check_command |
|
7 |
5 |
0 |
|
29% |
| lintro / tools / definitions / svelte_check.py |
SvelteCheckPlugin._find_svelte_config |
|
6 |
0 |
0 |
|
100% |
| lintro / tools / definitions / svelte_check.py |
SvelteCheckPlugin._build_command |
|
11 |
0 |
0 |
|
100% |
| lintro / tools / definitions / svelte_check.py |
SvelteCheckPlugin.check |
|
51 |
26 |
0 |
|
49% |
| lintro / tools / definitions / svelte_check.py |
SvelteCheckPlugin.fix |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / svelte_check.py |
(no function) |
|
31 |
0 |
0 |
|
100% |
| lintro / tools / definitions / taplo.py |
TaploPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / taplo.py |
TaploPlugin.set_options |
|
8 |
0 |
0 |
|
100% |
| lintro / tools / definitions / taplo.py |
TaploPlugin._build_format_args |
|
12 |
0 |
0 |
|
100% |
| lintro / tools / definitions / taplo.py |
TaploPlugin._build_lint_args |
|
4 |
0 |
0 |
|
100% |
| lintro / tools / definitions / taplo.py |
TaploPlugin._handle_timeout_error |
|
6 |
0 |
0 |
|
100% |
| lintro / tools / definitions / taplo.py |
TaploPlugin.doc_url |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / definitions / taplo.py |
TaploPlugin.check |
|
37 |
0 |
0 |
|
100% |
| lintro / tools / definitions / taplo.py |
TaploPlugin.fix |
|
52 |
6 |
0 |
|
88% |
| lintro / tools / definitions / taplo.py |
(no function) |
|
31 |
0 |
0 |
|
100% |
| lintro / tools / definitions / tsc.py |
TscPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / tsc.py |
TscPlugin.set_options |
|
11 |
0 |
0 |
|
100% |
| lintro / tools / definitions / tsc.py |
TscPlugin._get_tsc_command |
|
7 |
0 |
0 |
|
100% |
| lintro / tools / definitions / tsc.py |
TscPlugin._find_tsconfig |
|
9 |
1 |
0 |
|
89% |
| lintro / tools / definitions / tsc.py |
TscPlugin._detect_framework_project |
|
6 |
0 |
0 |
|
100% |
| lintro / tools / definitions / tsc.py |
TscPlugin._create_temp_tsconfig |
|
37 |
7 |
0 |
|
81% |
| lintro / tools / definitions / tsc.py |
TscPlugin._build_command |
|
13 |
0 |
0 |
|
100% |
| lintro / tools / definitions / tsc.py |
TscPlugin.doc_url |
|
7 |
0 |
0 |
|
100% |
| lintro / tools / definitions / tsc.py |
TscPlugin.check |
|
97 |
41 |
0 |
|
58% |
| lintro / tools / definitions / tsc.py |
TscPlugin.fix |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / tsc.py |
(no function) |
|
39 |
0 |
0 |
|
100% |
| lintro / tools / definitions / vue_tsc.py |
VueTscPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / vue_tsc.py |
VueTscPlugin.set_options |
|
11 |
0 |
0 |
|
100% |
| lintro / tools / definitions / vue_tsc.py |
VueTscPlugin._vue_tsc_cmd |
|
7 |
5 |
0 |
|
29% |
| lintro / tools / definitions / vue_tsc.py |
VueTscPlugin._find_tsconfig |
|
12 |
5 |
0 |
|
58% |
| lintro / tools / definitions / vue_tsc.py |
VueTscPlugin._create_temp_tsconfig |
|
37 |
8 |
0 |
|
78% |
| lintro / tools / definitions / vue_tsc.py |
VueTscPlugin._build_command |
|
13 |
0 |
0 |
|
100% |
| lintro / tools / definitions / vue_tsc.py |
VueTscPlugin.doc_url |
|
7 |
0 |
0 |
|
100% |
| lintro / tools / definitions / vue_tsc.py |
VueTscPlugin.check |
|
84 |
37 |
0 |
|
56% |
| lintro / tools / definitions / vue_tsc.py |
VueTscPlugin.fix |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / vue_tsc.py |
(no function) |
|
39 |
0 |
0 |
|
100% |
| lintro / tools / definitions / yamllint.py |
YamllintPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / yamllint.py |
YamllintPlugin.set_options |
|
10 |
0 |
0 |
|
100% |
| lintro / tools / definitions / yamllint.py |
YamllintPlugin._find_yamllint_config |
|
19 |
4 |
0 |
|
79% |
| lintro / tools / definitions / yamllint.py |
YamllintPlugin._load_yamllint_ignore_patterns |
|
22 |
20 |
0 |
|
9% |
| lintro / tools / definitions / yamllint.py |
YamllintPlugin._should_ignore_file |
|
14 |
14 |
0 |
|
0% |
| lintro / tools / definitions / yamllint.py |
YamllintPlugin._process_single_file |
|
49 |
23 |
0 |
|
53% |
| lintro / tools / definitions / yamllint.py |
YamllintPlugin.doc_url |
|
4 |
0 |
0 |
|
100% |
| lintro / tools / definitions / yamllint.py |
YamllintPlugin.check |
|
37 |
15 |
0 |
|
59% |
| lintro / tools / definitions / yamllint.py |
YamllintPlugin.fix |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / definitions / yamllint.py |
(no function) |
|
38 |
2 |
0 |
|
95% |
| lintro / tools / implementations / __init__.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / __init__.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / collection.py |
extract_all_test_results_from_junit |
|
31 |
31 |
0 |
|
0% |
| lintro / tools / implementations / pytest / collection.py |
get_cpu_count |
|
5 |
2 |
0 |
|
60% |
| lintro / tools / implementations / pytest / collection.py |
get_parallel_workers_from_preset |
|
13 |
13 |
0 |
|
0% |
| lintro / tools / implementations / pytest / collection.py |
is_ci_environment |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / collection.py |
get_flaky_cache_path |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / collection.py |
load_flaky_test_history |
|
10 |
3 |
0 |
|
70% |
| lintro / tools / implementations / pytest / collection.py |
save_flaky_test_history |
|
7 |
2 |
0 |
|
71% |
| lintro / tools / implementations / pytest / collection.py |
compute_updated_flaky_test_history |
|
22 |
10 |
0 |
|
55% |
| lintro / tools / implementations / pytest / collection.py |
(no function) |
|
18 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / coverage_processor.py |
parse_coverage_summary |
|
26 |
15 |
0 |
|
42% |
| lintro / tools / implementations / pytest / coverage_processor.py |
extract_coverage_report |
|
37 |
37 |
0 |
|
0% |
| lintro / tools / implementations / pytest / coverage_processor.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / formatters.py |
process_test_summary |
|
12 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / formatters.py |
format_pytest_issue |
|
30 |
30 |
0 |
|
0% |
| lintro / tools / implementations / pytest / formatters.py |
_extract_brief_message |
|
26 |
5 |
0 |
|
81% |
| lintro / tools / implementations / pytest / formatters.py |
format_pytest_issues_table |
|
33 |
10 |
0 |
|
70% |
| lintro / tools / implementations / pytest / formatters.py |
build_output_with_failures |
|
24 |
3 |
0 |
|
88% |
| lintro / tools / implementations / pytest / formatters.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / markers.py |
check_plugin_installed |
|
11 |
7 |
0 |
|
36% |
| lintro / tools / implementations / pytest / markers.py |
list_installed_plugins |
|
10 |
10 |
0 |
|
0% |
| lintro / tools / implementations / pytest / markers.py |
get_pytest_version_info |
|
7 |
7 |
0 |
|
0% |
| lintro / tools / implementations / pytest / markers.py |
collect_tests_once |
|
25 |
25 |
0 |
|
0% |
| lintro / tools / implementations / pytest / markers.py |
get_total_test_count |
|
1 |
1 |
0 |
|
0% |
| lintro / tools / implementations / pytest / markers.py |
(no function) |
|
10 |
0 |
2 |
|
100% |
| lintro / tools / implementations / pytest / output.py |
detect_flaky_tests |
|
11 |
4 |
0 |
|
64% |
| lintro / tools / implementations / pytest / output.py |
clear_pytest_config_cache |
|
1 |
1 |
0 |
|
0% |
| lintro / tools / implementations / pytest / output.py |
load_pytest_config |
|
33 |
6 |
0 |
|
82% |
| lintro / tools / implementations / pytest / output.py |
load_file_patterns_from_config |
|
12 |
6 |
0 |
|
50% |
| lintro / tools / implementations / pytest / output.py |
initialize_pytest_tool_config |
|
6 |
6 |
0 |
|
0% |
| lintro / tools / implementations / pytest / output.py |
(no function) |
|
16 |
0 |
2 |
|
100% |
| lintro / tools / implementations / pytest / output_parsers.py |
parse_pytest_output_with_fallback |
|
52 |
28 |
0 |
|
46% |
| lintro / tools / implementations / pytest / output_parsers.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_command_builder.py |
build_base_command |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_command_builder.py |
add_verbosity_options |
|
13 |
1 |
0 |
|
92% |
| lintro / tools / implementations / pytest / pytest_command_builder.py |
add_output_options |
|
18 |
5 |
0 |
|
72% |
| lintro / tools / implementations / pytest / pytest_command_builder.py |
add_parallel_options |
|
9 |
2 |
0 |
|
78% |
| lintro / tools / implementations / pytest / pytest_command_builder.py |
add_coverage_options |
|
34 |
22 |
0 |
|
35% |
| lintro / tools / implementations / pytest / pytest_command_builder.py |
add_test_mode_options |
|
3 |
2 |
0 |
|
33% |
| lintro / tools / implementations / pytest / pytest_command_builder.py |
add_plugin_options |
|
16 |
7 |
0 |
|
56% |
| lintro / tools / implementations / pytest / pytest_command_builder.py |
add_ignore_options |
|
11 |
2 |
0 |
|
82% |
| lintro / tools / implementations / pytest / pytest_command_builder.py |
build_check_command |
|
10 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_command_builder.py |
(no function) |
|
16 |
0 |
2 |
|
100% |
| lintro / tools / implementations / pytest / pytest_config.py |
PytestConfiguration.set_options |
|
14 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_config.py |
PytestConfiguration.get_options_dict |
|
6 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_config.py |
PytestConfiguration.is_special_mode |
|
3 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_config.py |
PytestConfiguration.get_special_mode |
|
6 |
1 |
0 |
|
83% |
| lintro / tools / implementations / pytest / pytest_config.py |
PytestConfiguration.get_special_mode_value |
|
5 |
5 |
0 |
|
0% |
| lintro / tools / implementations / pytest / pytest_config.py |
(no function) |
|
45 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_error_handler.py |
PytestErrorHandler.handle_timeout_error |
|
6 |
6 |
0 |
|
0% |
| lintro / tools / implementations / pytest / pytest_error_handler.py |
PytestErrorHandler.handle_execution_error |
|
8 |
8 |
0 |
|
0% |
| lintro / tools / implementations / pytest / pytest_error_handler.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_executor.py |
PytestExecutor.prepare_test_execution |
|
4 |
4 |
0 |
|
0% |
| lintro / tools / implementations / pytest / pytest_executor.py |
PytestExecutor.execute_tests |
|
5 |
5 |
0 |
|
0% |
| lintro / tools / implementations / pytest / pytest_executor.py |
PytestExecutor.display_run_config |
|
21 |
7 |
0 |
|
67% |
| lintro / tools / implementations / pytest / pytest_executor.py |
(no function) |
|
13 |
0 |
2 |
|
100% |
| lintro / tools / implementations / pytest / pytest_handlers.py |
handle_list_plugins |
|
9 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_handlers.py |
handle_check_plugins |
|
23 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_handlers.py |
handle_collect_only |
|
24 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_handlers.py |
handle_list_fixtures |
|
11 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_handlers.py |
handle_fixture_info |
|
26 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_handlers.py |
handle_list_markers |
|
10 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_handlers.py |
handle_parametrize_help |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_handlers.py |
(no function) |
|
13 |
0 |
2 |
|
100% |
| lintro / tools / implementations / pytest / pytest_option_validators.py |
validate_pytest_options |
|
76 |
28 |
0 |
|
63% |
| lintro / tools / implementations / pytest / pytest_option_validators.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_output_processor.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_result_processor.py |
PytestResultProcessor.process_test_results |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_result_processor.py |
PytestResultProcessor.build_result |
|
5 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / pytest_result_processor.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / tools / implementations / pytest / test_analytics.py |
detect_and_log_slow_tests |
|
16 |
1 |
0 |
|
94% |
| lintro / tools / implementations / pytest / test_analytics.py |
check_total_time_warning |
|
4 |
2 |
0 |
|
50% |
| lintro / tools / implementations / pytest / test_analytics.py |
detect_and_log_flaky_tests |
|
20 |
7 |
0 |
|
65% |
| lintro / tools / implementations / pytest / test_analytics.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| lintro / tools / implementations / ruff / __init__.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / tools / implementations / ruff / check.py |
execute_ruff_check |
|
65 |
3 |
0 |
|
95% |
| lintro / tools / implementations / ruff / check.py |
(no function) |
|
10 |
0 |
3 |
|
100% |
| lintro / tools / implementations / ruff / commands.py |
_get_list_option |
|
9 |
3 |
0 |
|
67% |
| lintro / tools / implementations / ruff / commands.py |
_get_set_option |
|
1 |
0 |
0 |
|
100% |
| lintro / tools / implementations / ruff / commands.py |
build_ruff_check_command |
|
37 |
6 |
0 |
|
84% |
| lintro / tools / implementations / ruff / commands.py |
build_ruff_format_command |
|
12 |
2 |
0 |
|
83% |
| lintro / tools / implementations / ruff / commands.py |
(no function) |
|
8 |
0 |
2 |
|
100% |
| lintro / tools / implementations / ruff / fix.py |
_temporary_option |
|
9 |
0 |
1 |
|
100% |
| lintro / tools / implementations / ruff / fix.py |
execute_ruff_fix |
|
90 |
1 |
0 |
|
99% |
| lintro / tools / implementations / ruff / fix.py |
(no function) |
|
13 |
0 |
3 |
|
100% |
| lintro / utils / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| lintro / utils / ai_metadata.py |
get_ai_count |
|
12 |
4 |
0 |
|
67% |
| lintro / utils / ai_metadata.py |
(no function) |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / ascii_normalize_cli.py |
_ascii_art_dir |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / ascii_normalize_cli.py |
_write_sections |
|
6 |
0 |
0 |
|
100% |
| lintro / utils / ascii_normalize_cli.py |
main |
|
25 |
0 |
0 |
|
100% |
| lintro / utils / ascii_normalize_cli.py |
(no function) |
|
7 |
0 |
2 |
|
100% |
| lintro / utils / async_tool_executor.py |
_get_default_max_workers |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / async_tool_executor.py |
AsyncToolExecutor.__post_init__ |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / async_tool_executor.py |
AsyncToolExecutor.__enter__ |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / async_tool_executor.py |
AsyncToolExecutor.__exit__ |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / async_tool_executor.py |
AsyncToolExecutor.run_tool_async |
|
13 |
1 |
0 |
|
92% |
| lintro / utils / async_tool_executor.py |
AsyncToolExecutor.run_tools_parallel |
|
14 |
0 |
0 |
|
100% |
| lintro / utils / async_tool_executor.py |
AsyncToolExecutor.run_tools_parallel.run_with_name |
|
5 |
0 |
0 |
|
100% |
| lintro / utils / async_tool_executor.py |
AsyncToolExecutor.shutdown |
|
3 |
0 |
0 |
|
100% |
| lintro / utils / async_tool_executor.py |
get_parallel_batches |
|
30 |
1 |
0 |
|
97% |
| lintro / utils / async_tool_executor.py |
(no function) |
|
20 |
0 |
4 |
|
100% |
| lintro / utils / config.py |
clear_pyproject_cache |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / config.py |
_find_pyproject |
|
12 |
0 |
0 |
|
100% |
| lintro / utils / config.py |
load_pyproject |
|
18 |
6 |
0 |
|
67% |
| lintro / utils / config.py |
load_pyproject_config |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / config.py |
_get_lintro_section |
|
5 |
0 |
0 |
|
100% |
| lintro / utils / config.py |
load_lintro_global_config |
|
3 |
0 |
0 |
|
100% |
| lintro / utils / config.py |
load_lintro_tool_config |
|
3 |
0 |
0 |
|
100% |
| lintro / utils / config.py |
get_tool_order_config |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / config.py |
load_post_checks_config |
|
5 |
0 |
0 |
|
100% |
| lintro / utils / config.py |
load_tool_config_from_pyproject |
|
7 |
0 |
0 |
|
100% |
| lintro / utils / config.py |
load_ruff_config |
|
13 |
0 |
0 |
|
100% |
| lintro / utils / config.py |
load_bandit_config |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / config.py |
load_pydoclint_config |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / config.py |
load_black_config |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / config.py |
load_mypy_config |
|
23 |
4 |
0 |
|
83% |
| lintro / utils / config.py |
get_central_line_length |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / config.py |
validate_line_length_consistency |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / config.py |
(no function) |
|
26 |
0 |
0 |
|
100% |
| lintro / utils / config_constants.py |
(no function) |
|
19 |
0 |
0 |
|
100% |
| lintro / utils / config_priority.py |
_get_nested_value |
|
7 |
0 |
0 |
|
100% |
| lintro / utils / config_priority.py |
get_tool_priority |
|
8 |
0 |
0 |
|
100% |
| lintro / utils / config_priority.py |
get_ordered_tools |
|
32 |
3 |
0 |
|
91% |
| lintro / utils / config_priority.py |
get_effective_line_length |
|
26 |
3 |
0 |
|
88% |
| lintro / utils / config_priority.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| lintro / utils / config_reporting.py |
get_config_report |
|
45 |
0 |
0 |
|
100% |
| lintro / utils / config_reporting.py |
print_config_report |
|
10 |
0 |
0 |
|
100% |
| lintro / utils / config_reporting.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / utils / config_validation.py |
is_tool_injectable |
|
3 |
0 |
0 |
|
100% |
| lintro / utils / config_validation.py |
validate_config_consistency |
|
16 |
1 |
0 |
|
94% |
| lintro / utils / config_validation.py |
get_tool_config_summary |
|
15 |
4 |
0 |
|
73% |
| lintro / utils / config_validation.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / utils / console / __init__.py |
create_logger |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / console / __init__.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / utils / console / constants.py |
get_tool_emoji |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / console / constants.py |
get_summary_value |
|
5 |
2 |
0 |
|
60% |
| lintro / utils / console / constants.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger.__init__ |
|
3 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger.console_output |
|
5 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger.info |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger.info_blue |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger.debug |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger.warning |
|
3 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger.error |
|
5 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger.success |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger.save_console_log |
|
13 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger.print_execution_summary |
|
59 |
1 |
0 |
|
98% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger._print_summary_table |
|
3 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger._print_totals_table |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger._print_final_status |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger._print_final_status_format |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger._print_ascii_art |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger.print_lintro_header |
|
4 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger.print_tool_header |
|
7 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger.print_tool_result |
|
7 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger._print_metadata_messages |
|
18 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger._print_pytest_results |
|
9 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
ThreadSafeConsoleLogger.print_post_checks_header |
|
10 |
0 |
0 |
|
100% |
| lintro / utils / console / logger.py |
(no function) |
|
36 |
0 |
0 |
|
100% |
| lintro / utils / console / pre_execution_summary.py |
print_pre_execution_summary |
|
77 |
19 |
0 |
|
75% |
| lintro / utils / console / pre_execution_summary.py |
(no function) |
|
5 |
0 |
3 |
|
100% |
| lintro / utils / display_helpers.py |
print_ascii_art |
|
9 |
0 |
0 |
|
100% |
| lintro / utils / display_helpers.py |
print_final_status |
|
25 |
0 |
0 |
|
100% |
| lintro / utils / display_helpers.py |
print_final_status_format |
|
25 |
0 |
0 |
|
100% |
| lintro / utils / display_helpers.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / utils / env.py |
get_subprocess_env |
|
6 |
2 |
0 |
|
67% |
| lintro / utils / env.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / utils / environment / __init__.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| lintro / utils / environment / _protocol.py |
Renderable.section_title |
|
0 |
0 |
1 |
|
100% |
| lintro / utils / environment / _protocol.py |
Renderable.to_display_rows |
|
0 |
0 |
1 |
|
100% |
| lintro / utils / environment / _protocol.py |
Renderable.is_available |
|
0 |
0 |
1 |
|
100% |
| lintro / utils / environment / _protocol.py |
(no function) |
|
8 |
0 |
2 |
|
100% |
| lintro / utils / environment / ci_environment.py |
CIEnvironment.section_title |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / ci_environment.py |
CIEnvironment.to_display_rows |
|
4 |
4 |
0 |
|
0% |
| lintro / utils / environment / ci_environment.py |
CIEnvironment.is_available |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / ci_environment.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| lintro / utils / environment / collectors.py |
_run_command |
|
7 |
7 |
0 |
|
0% |
| lintro / utils / environment / collectors.py |
_extract_version |
|
10 |
10 |
0 |
|
0% |
| lintro / utils / environment / collectors.py |
collect_system_info |
|
15 |
15 |
0 |
|
0% |
| lintro / utils / environment / collectors.py |
collect_python_info |
|
8 |
8 |
0 |
|
0% |
| lintro / utils / environment / collectors.py |
collect_node_info |
|
8 |
8 |
0 |
|
0% |
| lintro / utils / environment / collectors.py |
collect_rust_info |
|
8 |
8 |
0 |
|
0% |
| lintro / utils / environment / collectors.py |
collect_go_info |
|
7 |
7 |
0 |
|
0% |
| lintro / utils / environment / collectors.py |
collect_ruby_info |
|
7 |
7 |
0 |
|
0% |
| lintro / utils / environment / collectors.py |
_find_git_root |
|
5 |
5 |
0 |
|
0% |
| lintro / utils / environment / collectors.py |
collect_project_info |
|
39 |
39 |
0 |
|
0% |
| lintro / utils / environment / collectors.py |
collect_lintro_info |
|
22 |
22 |
0 |
|
0% |
| lintro / utils / environment / collectors.py |
detect_ci_environment |
|
8 |
3 |
0 |
|
62% |
| lintro / utils / environment / collectors.py |
collect_environment_vars |
|
2 |
2 |
0 |
|
0% |
| lintro / utils / environment / collectors.py |
collect_full_environment |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / collectors.py |
(no function) |
|
32 |
0 |
0 |
|
100% |
| lintro / utils / environment / container_detection.py |
is_container_environment |
|
16 |
14 |
0 |
|
12% |
| lintro / utils / environment / container_detection.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / utils / environment / environment_report.py |
(no function) |
|
23 |
0 |
0 |
|
100% |
| lintro / utils / environment / go_info.py |
GoInfo.section_title |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / go_info.py |
GoInfo.to_display_rows |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / go_info.py |
GoInfo.is_available |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / go_info.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| lintro / utils / environment / lintro_info.py |
LintroInfo.section_title |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / lintro_info.py |
LintroInfo.to_display_rows |
|
5 |
5 |
0 |
|
0% |
| lintro / utils / environment / lintro_info.py |
LintroInfo.is_available |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / lintro_info.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / utils / environment / node_info.py |
NodeInfo.section_title |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / node_info.py |
NodeInfo.to_display_rows |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / node_info.py |
NodeInfo.is_available |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / node_info.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| lintro / utils / environment / project_info.py |
ProjectInfo.section_title |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / project_info.py |
ProjectInfo.to_display_rows |
|
4 |
4 |
0 |
|
0% |
| lintro / utils / environment / project_info.py |
ProjectInfo.is_available |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / project_info.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / utils / environment / python_info.py |
PythonInfo.section_title |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / python_info.py |
PythonInfo.to_display_rows |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / python_info.py |
PythonInfo.is_available |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / python_info.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| lintro / utils / environment / renderer.py |
render_section |
|
12 |
12 |
0 |
|
0% |
| lintro / utils / environment / renderer.py |
_get_path_truncate_len |
|
5 |
5 |
0 |
|
0% |
| lintro / utils / environment / renderer.py |
_render_env_vars |
|
24 |
24 |
0 |
|
0% |
| lintro / utils / environment / renderer.py |
render_environment_report |
|
6 |
6 |
0 |
|
0% |
| lintro / utils / environment / renderer.py |
(no function) |
|
13 |
0 |
2 |
|
100% |
| lintro / utils / environment / ruby_info.py |
RubyInfo.section_title |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / ruby_info.py |
RubyInfo.to_display_rows |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / ruby_info.py |
RubyInfo.is_available |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / ruby_info.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| lintro / utils / environment / rust_info.py |
RustInfo.section_title |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / rust_info.py |
RustInfo.to_display_rows |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / rust_info.py |
RustInfo.is_available |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / rust_info.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / utils / environment / system_info.py |
SystemInfo.section_title |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / system_info.py |
SystemInfo.to_display_rows |
|
5 |
5 |
0 |
|
0% |
| lintro / utils / environment / system_info.py |
SystemInfo.is_available |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / environment / system_info.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| lintro / utils / execution / __init__.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / utils / execution / exit_codes.py |
determine_exit_code |
|
11 |
0 |
0 |
|
100% |
| lintro / utils / execution / exit_codes.py |
aggregate_tool_results |
|
13 |
1 |
0 |
|
92% |
| lintro / utils / execution / exit_codes.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / utils / execution / parallel_executor.py |
run_tools_parallel |
|
26 |
0 |
0 |
|
100% |
| lintro / utils / execution / parallel_executor.py |
run_tools_parallel.on_tool_complete |
|
4 |
0 |
0 |
|
100% |
| lintro / utils / execution / parallel_executor.py |
(no function) |
|
11 |
0 |
2 |
|
100% |
| lintro / utils / execution / tool_configuration.py |
_apply_conflict_resolution |
|
7 |
1 |
0 |
|
86% |
| lintro / utils / execution / tool_configuration.py |
_get_disabled_reason |
|
9 |
1 |
0 |
|
89% |
| lintro / utils / execution / tool_configuration.py |
configure_tool_for_execution |
|
28 |
2 |
0 |
|
93% |
| lintro / utils / execution / tool_configuration.py |
get_tool_display_name |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / execution / tool_configuration.py |
get_tool_lookup_keys |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / execution / tool_configuration.py |
get_tools_to_run |
|
47 |
3 |
0 |
|
94% |
| lintro / utils / execution / tool_configuration.py |
(no function) |
|
23 |
0 |
3 |
|
100% |
| lintro / utils / file_cache.py |
FileFingerprint.to_dict |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / file_cache.py |
FileFingerprint.from_dict |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / file_cache.py |
ToolCache.get_changed_files |
|
17 |
4 |
0 |
|
76% |
| lintro / utils / file_cache.py |
ToolCache.update |
|
10 |
4 |
0 |
|
60% |
| lintro / utils / file_cache.py |
ToolCache.save |
|
13 |
4 |
0 |
|
69% |
| lintro / utils / file_cache.py |
ToolCache.load |
|
13 |
3 |
0 |
|
77% |
| lintro / utils / file_cache.py |
ToolCache.clear |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / file_cache.py |
clear_all_caches |
|
9 |
3 |
0 |
|
67% |
| lintro / utils / file_cache.py |
get_cache_stats |
|
13 |
2 |
0 |
|
85% |
| lintro / utils / file_cache.py |
(no function) |
|
28 |
0 |
0 |
|
100% |
| lintro / utils / formatting.py |
read_ascii_art |
|
20 |
1 |
0 |
|
95% |
| lintro / utils / formatting.py |
normalize_ascii_block |
|
21 |
5 |
0 |
|
76% |
| lintro / utils / formatting.py |
normalize_ascii_block._pad_line |
|
11 |
1 |
0 |
|
91% |
| lintro / utils / formatting.py |
normalize_ascii_file_sections |
|
17 |
2 |
0 |
|
88% |
| lintro / utils / formatting.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / utils / json_output.py |
create_json_output |
|
16 |
0 |
0 |
|
100% |
| lintro / utils / json_output.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / utils / jsonc.py |
strip_jsonc_comments |
|
50 |
0 |
0 |
|
100% |
| lintro / utils / jsonc.py |
strip_trailing_commas |
|
39 |
8 |
0 |
|
79% |
| lintro / utils / jsonc.py |
extract_type_roots |
|
19 |
3 |
0 |
|
84% |
| lintro / utils / jsonc.py |
load_jsonc |
|
3 |
0 |
0 |
|
100% |
| lintro / utils / jsonc.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| lintro / utils / logger_setup.py |
setup_cli_logging |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / logger_setup.py |
setup_execution_logging |
|
6 |
0 |
0 |
|
100% |
| lintro / utils / logger_setup.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / utils / native_parsers.py |
_load_json_config |
|
13 |
3 |
0 |
|
77% |
| lintro / utils / native_parsers.py |
_load_native_tool_config |
|
132 |
51 |
0 |
|
61% |
| lintro / utils / native_parsers.py |
(no function) |
|
19 |
2 |
0 |
|
89% |
| lintro / utils / node_deps.py |
should_install_deps |
|
22 |
3 |
0 |
|
86% |
| lintro / utils / node_deps.py |
get_package_manager_command |
|
5 |
0 |
0 |
|
100% |
| lintro / utils / node_deps.py |
install_node_deps |
|
40 |
5 |
0 |
|
88% |
| lintro / utils / node_deps.py |
_get_frozen_install_cmd |
|
9 |
2 |
0 |
|
78% |
| lintro / utils / node_deps.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| lintro / utils / output / __init__.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / utils / output / constants.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| lintro / utils / output / file_writer.py |
build_doc_url_map |
|
9 |
5 |
0 |
|
44% |
| lintro / utils / output / file_writer.py |
write_output_file |
|
97 |
4 |
0 |
|
96% |
| lintro / utils / output / file_writer.py |
format_tool_output |
|
17 |
0 |
0 |
|
100% |
| lintro / utils / output / file_writer.py |
(no function) |
|
26 |
2 |
2 |
|
92% |
| lintro / utils / output / helpers.py |
markdown_escape |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / output / helpers.py |
html_escape |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / output / helpers.py |
sanitize_csv_value |
|
3 |
0 |
0 |
|
100% |
| lintro / utils / output / helpers.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / utils / output / manager.py |
OutputManager.__init__ |
|
6 |
0 |
0 |
|
100% |
| lintro / utils / output / manager.py |
OutputManager._create_run_dir |
|
10 |
0 |
0 |
|
100% |
| lintro / utils / output / manager.py |
OutputManager.write_console_log |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / output / manager.py |
OutputManager.write_json |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / output / manager.py |
OutputManager.write_markdown |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / output / manager.py |
OutputManager.write_html |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / output / manager.py |
OutputManager.write_csv |
|
4 |
0 |
0 |
|
100% |
| lintro / utils / output / manager.py |
OutputManager.write_reports_from_results |
|
3 |
0 |
0 |
|
100% |
| lintro / utils / output / manager.py |
OutputManager._write_markdown_report |
|
21 |
0 |
0 |
|
100% |
| lintro / utils / output / manager.py |
OutputManager._write_html_report |
|
21 |
0 |
0 |
|
100% |
| lintro / utils / output / manager.py |
OutputManager._write_csv_summary |
|
8 |
0 |
0 |
|
100% |
| lintro / utils / output / manager.py |
OutputManager.cleanup_old_runs |
|
5 |
1 |
0 |
|
80% |
| lintro / utils / output / manager.py |
OutputManager.get_run_dir |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / output / manager.py |
(no function) |
|
26 |
0 |
2 |
|
100% |
| lintro / utils / output / parser_registration.py |
_ruff_is_fixable |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / output / parser_registration.py |
_black_is_fixable |
|
1 |
1 |
0 |
|
0% |
| lintro / utils / output / parser_registration.py |
_parse_bandit_output |
|
5 |
0 |
0 |
|
100% |
| lintro / utils / output / parser_registration.py |
register_all_parsers |
|
12 |
0 |
0 |
|
100% |
| lintro / utils / output / parser_registration.py |
(no function) |
|
27 |
0 |
0 |
|
100% |
| lintro / utils / output / parser_registry.py |
ParserRegistry.register |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / output / parser_registry.py |
ParserRegistry.get |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / output / parser_registry.py |
ParserRegistry.parse |
|
4 |
0 |
0 |
|
100% |
| lintro / utils / output / parser_registry.py |
ParserRegistry.get_fixability_predicate |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / output / parser_registry.py |
ParserRegistry.clear |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / output / parser_registry.py |
ParserRegistry.is_registered |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / output / parser_registry.py |
(no function) |
|
21 |
0 |
4 |
|
100% |
| lintro / utils / path_filtering.py |
_compile_pathspec |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / path_filtering.py |
should_exclude_path |
|
19 |
1 |
0 |
|
95% |
| lintro / utils / path_filtering.py |
walk_files_with_excludes |
|
34 |
6 |
0 |
|
82% |
| lintro / utils / path_filtering.py |
_should_exclude_with_spec |
|
11 |
1 |
0 |
|
91% |
| lintro / utils / path_filtering.py |
_is_venv_directory |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / path_filtering.py |
(no function) |
|
11 |
0 |
2 |
|
100% |
| lintro / utils / path_utils.py |
validate_safe_path |
|
9 |
2 |
0 |
|
78% |
| lintro / utils / path_utils.py |
find_lintro_ignore |
|
19 |
3 |
0 |
|
84% |
| lintro / utils / path_utils.py |
load_lintro_ignore |
|
13 |
0 |
0 |
|
100% |
| lintro / utils / path_utils.py |
normalize_file_path_for_display |
|
29 |
2 |
0 |
|
93% |
| lintro / utils / path_utils.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / utils / post_checks.py |
execute_post_checks |
|
68 |
11 |
0 |
|
84% |
| lintro / utils / post_checks.py |
execute_post_checks.success_func |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / post_checks.py |
(no function) |
|
11 |
0 |
3 |
|
100% |
| lintro / utils / project_detection.py |
detect_project_languages |
|
57 |
9 |
0 |
|
84% |
| lintro / utils / project_detection.py |
detect_package_managers |
|
17 |
4 |
0 |
|
76% |
| lintro / utils / project_detection.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| lintro / utils / result_formatters.py |
_print_suppression_table |
|
32 |
30 |
0 |
|
6% |
| lintro / utils / result_formatters.py |
print_tool_result |
|
137 |
48 |
0 |
|
65% |
| lintro / utils / result_formatters.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| lintro / utils / streaming_output.py |
StreamingResultHandler.__post_init__ |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / streaming_output.py |
StreamingResultHandler.__enter__ |
|
11 |
0 |
0 |
|
100% |
| lintro / utils / streaming_output.py |
StreamingResultHandler.__exit__ |
|
7 |
2 |
0 |
|
71% |
| lintro / utils / streaming_output.py |
StreamingResultHandler.handle_result |
|
17 |
0 |
0 |
|
100% |
| lintro / utils / streaming_output.py |
StreamingResultHandler._write_jsonl |
|
5 |
0 |
0 |
|
100% |
| lintro / utils / streaming_output.py |
StreamingResultHandler._write_json_item |
|
9 |
0 |
0 |
|
100% |
| lintro / utils / streaming_output.py |
StreamingResultHandler._result_to_dict |
|
12 |
2 |
0 |
|
83% |
| lintro / utils / streaming_output.py |
StreamingResultHandler.get_totals |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / streaming_output.py |
StreamingResultHandler.get_results |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / streaming_output.py |
StreamingResultHandler.get_exit_code |
|
9 |
2 |
0 |
|
78% |
| lintro / utils / streaming_output.py |
create_streaming_handler |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / streaming_output.py |
(no function) |
|
26 |
0 |
3 |
|
100% |
| lintro / utils / summary_tables.py |
_extract_skip_reason |
|
18 |
16 |
0 |
|
11% |
| lintro / utils / summary_tables.py |
_safe_cast |
|
4 |
0 |
0 |
|
100% |
| lintro / utils / summary_tables.py |
_format_tool_display_name |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / summary_tables.py |
_get_ai_applied_count |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / summary_tables.py |
_get_ai_verified_count |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / summary_tables.py |
_get_ai_unverified_count |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / summary_tables.py |
_is_result_skipped |
|
9 |
2 |
0 |
|
78% |
| lintro / utils / summary_tables.py |
count_affected_files |
|
9 |
0 |
0 |
|
100% |
| lintro / utils / summary_tables.py |
print_summary_table |
|
122 |
26 |
0 |
|
79% |
| lintro / utils / summary_tables.py |
print_totals_table |
|
20 |
2 |
0 |
|
90% |
| lintro / utils / summary_tables.py |
(no function) |
|
24 |
0 |
0 |
|
100% |
| lintro / utils / tool_config_info.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / utils / tool_executor.py |
_get_remaining_count |
|
5 |
1 |
0 |
|
80% |
| lintro / utils / tool_executor.py |
_run_fix_with_retry |
|
20 |
2 |
0 |
|
90% |
| lintro / utils / tool_executor.py |
_warn_ai_fix_disabled |
|
5 |
0 |
0 |
|
100% |
| lintro / utils / tool_executor.py |
_display_fix_result |
|
22 |
7 |
0 |
|
68% |
| lintro / utils / tool_executor.py |
_write_artifacts |
|
22 |
0 |
0 |
|
100% |
| lintro / utils / tool_executor.py |
_enrich_issues_with_doc_urls |
|
12 |
0 |
0 |
|
100% |
| lintro / utils / tool_executor.py |
run_lint_tools_simple |
|
186 |
58 |
0 |
|
69% |
| lintro / utils / tool_executor.py |
run_lint_tools_simple.success_func |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / tool_executor.py |
run_lint_tools_simple._warn |
|
4 |
2 |
0 |
|
50% |
| lintro / utils / tool_executor.py |
(no function) |
|
21 |
0 |
3 |
|
100% |
| lintro / utils / tool_options.py |
_coerce_value |
|
19 |
0 |
0 |
|
100% |
| lintro / utils / tool_options.py |
parse_tool_options |
|
22 |
4 |
0 |
|
82% |
| lintro / utils / tool_options.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| lintro / utils / tool_utils.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| lintro / utils / unified_config.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| lintro / utils / unified_config_manager.py |
UnifiedConfigManager.__post_init__ |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / unified_config_manager.py |
UnifiedConfigManager.refresh |
|
3 |
0 |
0 |
|
100% |
| lintro / utils / unified_config_manager.py |
UnifiedConfigManager.get_effective_line_length |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / unified_config_manager.py |
UnifiedConfigManager.get_tool_config |
|
3 |
0 |
0 |
|
100% |
| lintro / utils / unified_config_manager.py |
UnifiedConfigManager.get_ordered_tools |
|
1 |
0 |
0 |
|
100% |
| lintro / utils / unified_config_manager.py |
UnifiedConfigManager.apply_config_to_tool |
|
21 |
0 |
0 |
|
100% |
| lintro / utils / unified_config_manager.py |
UnifiedConfigManager.get_report |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / unified_config_manager.py |
UnifiedConfigManager.print_report |
|
2 |
0 |
0 |
|
100% |
| lintro / utils / unified_config_manager.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| scripts / ci / maintenance / ghcr_prune_untagged.py |
_ResponseProto.raise_for_status |
|
0 |
0 |
1 |
|
100% |
| scripts / ci / maintenance / ghcr_prune_untagged.py |
_ResponseProto.json |
|
0 |
0 |
1 |
|
100% |
| scripts / ci / maintenance / ghcr_prune_untagged.py |
GhcrClient.get |
|
0 |
0 |
1 |
|
100% |
| scripts / ci / maintenance / ghcr_prune_untagged.py |
GhcrClient.delete |
|
0 |
0 |
1 |
|
100% |
| scripts / ci / maintenance / ghcr_prune_untagged.py |
get_repo_owner_repo |
|
3 |
0 |
0 |
|
100% |
| scripts / ci / maintenance / ghcr_prune_untagged.py |
_parse_link_header |
|
10 |
8 |
0 |
|
20% |
| scripts / ci / maintenance / ghcr_prune_untagged.py |
_parse_version_item |
|
14 |
5 |
0 |
|
64% |
| scripts / ci / maintenance / ghcr_prune_untagged.py |
_get_owner_type |
|
4 |
0 |
0 |
|
100% |
| scripts / ci / maintenance / ghcr_prune_untagged.py |
list_container_versions |
|
17 |
1 |
0 |
|
94% |
| scripts / ci / maintenance / ghcr_prune_untagged.py |
parse_iso_datetime |
|
11 |
5 |
0 |
|
55% |
| scripts / ci / maintenance / ghcr_prune_untagged.py |
is_older_than_days |
|
5 |
1 |
0 |
|
80% |
| scripts / ci / maintenance / ghcr_prune_untagged.py |
delete_version |
|
9 |
4 |
0 |
|
56% |
| scripts / ci / maintenance / ghcr_prune_untagged.py |
prune_package |
|
32 |
3 |
0 |
|
91% |
| scripts / ci / maintenance / ghcr_prune_untagged.py |
main |
|
32 |
8 |
0 |
|
75% |
| scripts / ci / maintenance / ghcr_prune_untagged.py |
(no function) |
|
33 |
1 |
7 |
|
97% |
| scripts / ci / maintenance / semantic_release_compute_next.py |
_validate_git_args |
|
32 |
4 |
0 |
|
88% |
| scripts / ci / maintenance / semantic_release_compute_next.py |
_validate_git_args.is_sha |
|
1 |
0 |
0 |
|
100% |
| scripts / ci / maintenance / semantic_release_compute_next.py |
_validate_git_args.is_head_range |
|
3 |
0 |
0 |
|
100% |
| scripts / ci / maintenance / semantic_release_compute_next.py |
run_git |
|
6 |
1 |
0 |
|
83% |
| scripts / ci / maintenance / semantic_release_compute_next.py |
read_last_tag |
|
1 |
1 |
0 |
|
0% |
| scripts / ci / maintenance / semantic_release_compute_next.py |
read_last_prepare_commit |
|
6 |
6 |
0 |
|
0% |
| scripts / ci / maintenance / semantic_release_compute_next.py |
read_pyproject_version |
|
8 |
8 |
0 |
|
0% |
| scripts / ci / maintenance / semantic_release_compute_next.py |
parse_semver |
|
4 |
4 |
0 |
|
0% |
| scripts / ci / maintenance / semantic_release_compute_next.py |
detect_commit_types |
|
7 |
7 |
0 |
|
0% |
| scripts / ci / maintenance / semantic_release_compute_next.py |
compute_next_version |
|
12 |
12 |
0 |
|
0% |
| scripts / ci / maintenance / semantic_release_compute_next.py |
clamp_to_minor |
|
9 |
9 |
0 |
|
0% |
| scripts / ci / maintenance / semantic_release_compute_next.py |
compute |
|
38 |
38 |
0 |
|
0% |
| scripts / ci / maintenance / semantic_release_compute_next.py |
main |
|
15 |
15 |
0 |
|
0% |
| scripts / ci / maintenance / semantic_release_compute_next.py |
(no function) |
|
35 |
1 |
0 |
|
97% |
| scripts / ci / verify-manifest-tools.py |
_run |
|
13 |
13 |
0 |
|
0% |
| scripts / ci / verify-manifest-tools.py |
_parse_version |
|
8 |
8 |
0 |
|
0% |
| scripts / ci / verify-manifest-tools.py |
_tool_command |
|
15 |
10 |
0 |
|
33% |
| scripts / ci / verify-manifest-tools.py |
_fallback_version_command |
|
20 |
9 |
0 |
|
55% |
| scripts / ci / verify-manifest-tools.py |
_load_manifest |
|
21 |
21 |
0 |
|
0% |
| scripts / ci / verify-manifest-tools.py |
_iter_tools |
|
7 |
7 |
0 |
|
0% |
| scripts / ci / verify-manifest-tools.py |
main |
|
37 |
37 |
0 |
|
0% |
| scripts / ci / verify-manifest-tools.py |
(no function) |
|
19 |
1 |
0 |
|
95% |
| scripts / utils / delete-previous-lintro-comments.py |
get_marker |
|
3 |
0 |
0 |
|
100% |
| scripts / utils / delete-previous-lintro-comments.py |
get_env_var |
|
5 |
2 |
0 |
|
60% |
| scripts / utils / delete-previous-lintro-comments.py |
get_pr_comments |
|
25 |
25 |
0 |
|
0% |
| scripts / utils / delete-previous-lintro-comments.py |
delete_comment |
|
8 |
8 |
0 |
|
0% |
| scripts / utils / delete-previous-lintro-comments.py |
main |
|
18 |
3 |
0 |
|
83% |
| scripts / utils / delete-previous-lintro-comments.py |
(no function) |
|
11 |
1 |
0 |
|
91% |
| scripts / utils / merge_pr_comment.py |
_normalize_newline |
|
1 |
0 |
0 |
|
100% |
| scripts / utils / merge_pr_comment.py |
_extract_details_blocks |
|
4 |
0 |
0 |
|
100% |
| scripts / utils / merge_pr_comment.py |
_extract_timestamp_from_details |
|
3 |
0 |
0 |
|
100% |
| scripts / utils / merge_pr_comment.py |
_sort_history_by_timestamp |
|
2 |
0 |
0 |
|
100% |
| scripts / utils / merge_pr_comment.py |
_sort_history_by_timestamp.sort_key |
|
5 |
1 |
0 |
|
80% |
| scripts / utils / merge_pr_comment.py |
merge_comment_bodies |
|
27 |
2 |
0 |
|
93% |
| scripts / utils / merge_pr_comment.py |
(no function) |
|
9 |
0 |
20 |
|
100% |
| tests / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / cli / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / cli / conftest.py |
mock_tool_manager |
|
4 |
4 |
0 |
|
0% |
| tests / cli / conftest.py |
mock_format_output |
|
1 |
1 |
0 |
|
0% |
| tests / cli / conftest.py |
mock_print_summary |
|
1 |
1 |
0 |
|
0% |
| tests / cli / conftest.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / cli / test_cli.py |
test_cli_help |
|
4 |
0 |
0 |
|
100% |
| tests / cli / test_cli.py |
test_cli_version |
|
4 |
0 |
0 |
|
100% |
| tests / cli / test_cli.py |
test_cli_commands_registered |
|
3 |
0 |
0 |
|
100% |
| tests / cli / test_cli.py |
test_main_function |
|
4 |
0 |
0 |
|
100% |
| tests / cli / test_cli.py |
test_cli_command_aliases |
|
4 |
0 |
0 |
|
100% |
| tests / cli / test_cli.py |
test_cli_with_no_args |
|
4 |
0 |
0 |
|
100% |
| tests / cli / test_cli.py |
test_main_module_execution |
|
3 |
0 |
0 |
|
100% |
| tests / cli / test_cli.py |
test_main_module_as_script |
|
3 |
0 |
0 |
|
100% |
| tests / cli / test_cli.py |
test_command_chaining_basic |
|
6 |
0 |
0 |
|
100% |
| tests / cli / test_cli.py |
test_pytest_excluded_from_command_help |
|
4 |
0 |
0 |
|
100% |
| tests / cli / test_cli.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| tests / cli / test_config_command.py |
cli_runner |
|
1 |
0 |
0 |
|
100% |
| tests / cli / test_config_command.py |
mock_config |
|
1 |
0 |
0 |
|
100% |
| tests / cli / test_config_command.py |
test_json_output_is_valid_json |
|
8 |
0 |
0 |
|
100% |
| tests / cli / test_config_command.py |
test_json_output_includes_line_length |
|
6 |
0 |
0 |
|
100% |
| tests / cli / test_config_command.py |
test_json_output_includes_tool_order |
|
10 |
0 |
0 |
|
100% |
| tests / cli / test_config_command.py |
test_json_output_includes_warnings |
|
8 |
0 |
0 |
|
100% |
| tests / cli / test_config_command.py |
test_json_output_includes_config_source |
|
7 |
0 |
0 |
|
100% |
| tests / cli / test_config_command.py |
test_verbose_shows_native_config |
|
7 |
0 |
0 |
|
100% |
| tests / cli / test_config_command.py |
(no function) |
|
37 |
0 |
0 |
|
100% |
| tests / cli / test_init_command.py |
test_init_command_help |
|
5 |
0 |
0 |
|
100% |
| tests / cli / test_init_command.py |
test_init_creates_minimal_config |
|
8 |
0 |
0 |
|
100% |
| tests / cli / test_init_command.py |
test_init_overwrites_with_force |
|
8 |
0 |
0 |
|
100% |
| tests / cli / test_init_command.py |
test_with_native_configs_creates_all_files |
|
6 |
0 |
0 |
|
100% |
| tests / cli / test_init_command.py |
test_markdownlint_config_has_correct_content |
|
7 |
0 |
0 |
|
100% |
| tests / cli / test_init_command.py |
test_native_configs_skips_existing_without_force |
|
8 |
0 |
0 |
|
100% |
| tests / cli / test_init_command.py |
test_output_shows_all_created_files |
|
7 |
0 |
0 |
|
100% |
| tests / cli / test_init_command.py |
test_init_via_cli |
|
5 |
0 |
0 |
|
100% |
| tests / cli / test_init_command.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / config / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
test_empty_data |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
test_execution_config_empty_data |
|
5 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
test_string_enabled_tools |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
test_tool_config_empty_data |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
test_disabled_tool |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
test_tools_config_empty_data |
|
2 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
test_with_bool_values |
|
4 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
test_defaults_empty_data |
|
2 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
test_case_normalization |
|
4 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
test_convert_pyproject_empty_data |
|
5 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
test_enforce_settings |
|
4 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
test_tool_sections |
|
4 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
test_execution_settings |
|
4 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
test_load_yaml_config_with_defaults |
|
12 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
test_load_explicit_path |
|
5 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
test_returns_default_when_no_config |
|
8 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
test_returns_sensible_defaults |
|
4 |
0 |
0 |
|
100% |
| tests / config / test_config_loader.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| tests / config / test_init_command.py |
runner |
|
1 |
0 |
0 |
|
100% |
| tests / config / test_init_command.py |
test_creates_minimal_template |
|
8 |
0 |
0 |
|
100% |
| tests / config / test_init_command.py |
test_refuses_to_overwrite_existing |
|
8 |
0 |
0 |
|
100% |
| tests / config / test_init_command.py |
test_force_overwrites_existing |
|
7 |
0 |
0 |
|
100% |
| tests / config / test_init_command.py |
test_custom_output_path |
|
6 |
0 |
0 |
|
100% |
| tests / config / test_init_command.py |
test_shows_next_steps |
|
5 |
0 |
0 |
|
100% |
| tests / config / test_init_command.py |
test_default_template_is_valid_yaml |
|
5 |
0 |
0 |
|
100% |
| tests / config / test_init_command.py |
test_minimal_template_is_valid_yaml |
|
4 |
0 |
0 |
|
100% |
| tests / config / test_init_command.py |
test_default_template_has_sensible_defaults |
|
8 |
0 |
0 |
|
100% |
| tests / config / test_init_command.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| tests / config / test_lintro_config.py |
test_default_values |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_lintro_config.py |
test_execution_config_defaults |
|
5 |
0 |
0 |
|
100% |
| tests / config / test_lintro_config.py |
test_tool_config_defaults |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_lintro_config.py |
test_lintro_config_defaults |
|
6 |
0 |
0 |
|
100% |
| tests / config / test_lintro_config.py |
test_get_tool_config_returns_default |
|
4 |
0 |
0 |
|
100% |
| tests / config / test_lintro_config.py |
test_get_tool_config_case_insensitive |
|
4 |
0 |
0 |
|
100% |
| tests / config / test_lintro_config.py |
test_is_tool_enabled_filtered |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_lintro_config.py |
test_get_tool_defaults |
|
4 |
0 |
0 |
|
100% |
| tests / config / test_lintro_config.py |
test_get_effective_line_length_from_enforce |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_lintro_config.py |
test_get_effective_target_python |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_lintro_config.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_returns_empty_when_no_enforce_settings |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_injects_line_length_for_black |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_injects_target_version_for_ruff |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_injects_both_line_length_and_target_version |
|
6 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_converts_target_version_format_for_mypy |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_convert_python_version_helper_handles_plain_version |
|
1 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_returns_empty_for_unsupported_tool |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_returns_empty_for_none_path |
|
2 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_markdownlint_config_uses_correct_suffix |
|
5 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_generic_tool_config_uses_json_suffix |
|
5 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_hadolint_key_mapping_exists |
|
4 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_transform_keys_converts_hadolint_trusted_registries |
|
7 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_transform_keys_preserves_unmapped_keys |
|
4 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_transform_keys_returns_unchanged_for_unknown_tool |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_hadolint_config_file_has_correct_keys |
|
11 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_get_defaults_injection_args_oxlint |
|
4 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_get_defaults_injection_args_oxfmt |
|
4 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_has_native_config_oxlint |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_has_native_config_oxfmt |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_has_native_config_oxlint_not_found |
|
2 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_has_native_config_oxfmt_not_found |
|
2 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_prettier_builtin_defaults_applied_when_no_user_defaults |
|
10 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_prettier_user_defaults_override_builtin_defaults |
|
9 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_prettier_user_defaults_merged_with_builtin_defaults |
|
10 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_prettier_native_config_skips_defaults_generation |
|
5 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_has_native_config_prettier_detects_prettierrc |
|
3 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
test_get_defaults_injection_args_prettier |
|
4 |
0 |
0 |
|
100% |
| tests / config / test_tool_config_generator.py |
(no function) |
|
34 |
0 |
0 |
|
100% |
| tests / conftest.py |
_discover_tools |
|
1 |
0 |
0 |
|
100% |
| tests / conftest.py |
cli_runner |
|
1 |
0 |
0 |
|
100% |
| tests / conftest.py |
temp_dir |
|
2 |
2 |
0 |
|
0% |
| tests / conftest.py |
ruff_violation_file |
|
5 |
5 |
0 |
|
0% |
| tests / conftest.py |
skip_config_injection |
|
2 |
2 |
0 |
|
0% |
| tests / conftest.py |
clear_logging_handlers |
|
3 |
0 |
0 |
|
100% |
| tests / conftest.py |
(no function) |
|
24 |
0 |
0 |
|
100% |
| tests / constants.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / formatters / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / formatters / test_formatters.py |
test_style_format |
|
6 |
0 |
0 |
|
100% |
| tests / formatters / test_formatters.py |
test_style_format_empty |
|
7 |
0 |
0 |
|
100% |
| tests / formatters / test_formatters.py |
test_grid_style_format_fallback |
|
10 |
0 |
0 |
|
100% |
| tests / formatters / test_formatters.py |
test_grid_style_format_fallback_empty |
|
6 |
0 |
0 |
|
100% |
| tests / formatters / test_formatters.py |
test_grid_style_format_fallback_single_column |
|
8 |
0 |
0 |
|
100% |
| tests / formatters / test_formatters.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| tests / integration / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / integration / conftest.py |
temp_project_dir |
|
10 |
10 |
0 |
|
0% |
| tests / integration / conftest.py |
lintro_test_mode |
|
2 |
0 |
0 |
|
100% |
| tests / integration / conftest.py |
skip_if_tool_unavailable |
|
2 |
0 |
0 |
|
100% |
| tests / integration / conftest.py |
skip_if_tool_unavailable._skip_if_unavailable |
|
3 |
1 |
0 |
|
67% |
| tests / integration / conftest.py |
get_plugin |
|
3 |
0 |
0 |
|
100% |
| tests / integration / conftest.py |
get_plugin._get_plugin |
|
5 |
1 |
0 |
|
80% |
| tests / integration / conftest.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / integration / test_actionlint_integration.py |
actionlint_available |
|
5 |
2 |
0 |
|
60% |
| tests / integration / test_actionlint_integration.py |
test_actionlint_available |
|
2 |
1 |
0 |
|
50% |
| tests / integration / test_actionlint_integration.py |
test_actionlint_reports_violations |
|
16 |
1 |
0 |
|
94% |
| tests / integration / test_actionlint_integration.py |
test_actionlint_no_files |
|
9 |
1 |
0 |
|
89% |
| tests / integration / test_actionlint_integration.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| tests / integration / test_bandit_integration.py |
test_bandit_detects_issues_on_sample_file |
|
10 |
0 |
0 |
|
100% |
| tests / integration / test_bandit_integration.py |
test_bandit_no_crash_on_clean_temp_file |
|
13 |
0 |
0 |
|
100% |
| tests / integration / test_bandit_integration.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / integration / test_built_package.py |
test_built_wheel_imports |
|
26 |
1 |
0 |
|
96% |
| tests / integration / test_built_package.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / integration / test_doc_url_e2e.py |
enriched_ruff_result |
|
8 |
0 |
0 |
|
100% |
| tests / integration / test_doc_url_e2e.py |
test_grid_output_contains_docs_column_and_urls |
|
5 |
0 |
0 |
|
100% |
| tests / integration / test_doc_url_e2e.py |
test_grid_output_omits_docs_when_no_urls |
|
3 |
0 |
0 |
|
100% |
| tests / integration / test_doc_url_e2e.py |
test_json_output_contains_doc_url |
|
7 |
0 |
0 |
|
100% |
| tests / integration / test_doc_url_e2e.py |
test_markdown_output_contains_clickable_links |
|
5 |
0 |
0 |
|
100% |
| tests / integration / test_doc_url_e2e.py |
test_csv_output_contains_doc_url_column |
|
5 |
0 |
0 |
|
100% |
| tests / integration / test_doc_url_e2e.py |
test_template_format_with_code |
|
2 |
0 |
0 |
|
100% |
| tests / integration / test_doc_url_e2e.py |
test_static_template_unchanged |
|
2 |
0 |
0 |
|
100% |
| tests / integration / test_doc_url_e2e.py |
test_osv_advisory_url |
|
2 |
0 |
0 |
|
100% |
| tests / integration / test_doc_url_e2e.py |
test_cargo_audit_advisory_url |
|
2 |
0 |
0 |
|
100% |
| tests / integration / test_doc_url_e2e.py |
test_sarif_includes_help_uri |
|
8 |
0 |
0 |
|
100% |
| tests / integration / test_doc_url_e2e.py |
test_sarif_omits_help_uri_when_no_doc_urls |
|
6 |
0 |
0 |
|
100% |
| tests / integration / test_doc_url_e2e.py |
(no function) |
|
27 |
0 |
0 |
|
100% |
| tests / integration / test_markdownlint_integration.py |
find_markdownlint_cmd |
|
5 |
2 |
0 |
|
60% |
| tests / integration / test_markdownlint_integration.py |
run_markdownlint_directly |
|
16 |
4 |
0 |
|
75% |
| tests / integration / test_markdownlint_integration.py |
test_markdownlint_available |
|
9 |
3 |
0 |
|
67% |
| tests / integration / test_markdownlint_integration.py |
test_markdownlint_direct_vs_lintro_parity |
|
13 |
3 |
0 |
|
77% |
| tests / integration / test_markdownlint_integration.py |
test_markdownlint_integration_basic |
|
17 |
2 |
0 |
|
88% |
| tests / integration / test_markdownlint_integration.py |
(no function) |
|
19 |
0 |
0 |
|
100% |
| tests / integration / test_mypy_integration.py |
set_lintro_test_mode_env |
|
1 |
0 |
0 |
|
100% |
| tests / integration / test_mypy_integration.py |
mypy_tool |
|
3 |
0 |
0 |
|
100% |
| tests / integration / test_mypy_integration.py |
mypy_violation_file |
|
8 |
1 |
0 |
|
88% |
| tests / integration / test_mypy_integration.py |
mypy_clean_file |
|
8 |
0 |
0 |
|
100% |
| tests / integration / test_mypy_integration.py |
test_mypy_tool_available |
|
2 |
0 |
0 |
|
100% |
| tests / integration / test_mypy_integration.py |
test_mypy_check_finds_violations |
|
3 |
0 |
0 |
|
100% |
| tests / integration / test_mypy_integration.py |
test_mypy_check_clean_file |
|
4 |
0 |
0 |
|
100% |
| tests / integration / test_mypy_integration.py |
test_mypy_handles_empty_path_list |
|
2 |
0 |
0 |
|
100% |
| tests / integration / test_mypy_integration.py |
(no function) |
|
23 |
0 |
2 |
|
100% |
| tests / integration / test_parallel_execution.py |
set_lintro_test_mode_env |
|
1 |
0 |
0 |
|
100% |
| tests / integration / test_parallel_execution.py |
temp_python_files |
|
14 |
0 |
0 |
|
100% |
| tests / integration / test_parallel_execution.py |
test_check_multiple_files |
|
2 |
0 |
0 |
|
100% |
| tests / integration / test_parallel_execution.py |
test_consistent_results_across_runs |
|
3 |
0 |
0 |
|
100% |
| tests / integration / test_parallel_execution.py |
test_check_with_single_file |
|
2 |
0 |
0 |
|
100% |
| tests / integration / test_parallel_execution.py |
test_format_action |
|
2 |
0 |
0 |
|
100% |
| tests / integration / test_parallel_execution.py |
test_different_output_formats |
|
3 |
0 |
0 |
|
100% |
| tests / integration / test_parallel_execution.py |
test_tool_definition_exists |
|
4 |
0 |
0 |
|
100% |
| tests / integration / test_parallel_execution.py |
test_tool_respects_execution_order |
|
5 |
0 |
0 |
|
100% |
| tests / integration / test_parallel_execution.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| tests / integration / test_prettier_convergence.py |
changelog_project |
|
4 |
0 |
0 |
|
100% |
| tests / integration / test_prettier_convergence.py |
prettier_plugin |
|
2 |
0 |
0 |
|
100% |
| tests / integration / test_prettier_convergence.py |
test_prettier_fmt_converges_on_changelog |
|
12 |
0 |
0 |
|
100% |
| tests / integration / test_prettier_convergence.py |
test_prettier_fmt_stable_after_convergence |
|
9 |
0 |
0 |
|
100% |
| tests / integration / test_prettier_convergence.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| tests / integration / test_pydoclint_integration.py |
run_pydoclint_directly |
|
7 |
0 |
0 |
|
100% |
| tests / integration / test_pydoclint_integration.py |
_ensure_pydoclint_available |
|
6 |
3 |
0 |
|
50% |
| tests / integration / test_pydoclint_integration.py |
test_pydoclint_reports_violations_direct |
|
9 |
0 |
0 |
|
100% |
| tests / integration / test_pydoclint_integration.py |
test_pydoclint_reports_violations_through_lintro |
|
11 |
0 |
0 |
|
100% |
| tests / integration / test_pydoclint_integration.py |
test_pydoclint_output_consistency_direct_vs_lintro |
|
12 |
0 |
0 |
|
100% |
| tests / integration / test_pydoclint_integration.py |
test_pydoclint_fix_method_not_implemented |
|
8 |
0 |
0 |
|
100% |
| tests / integration / test_pydoclint_integration.py |
test_pydoclint_clean_file_passes |
|
10 |
0 |
0 |
|
100% |
| tests / integration / test_pydoclint_integration.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| tests / integration / tools / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / integration / tools / astro_check / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / integration / tools / astro_check / conftest.py |
astro_check_is_available |
|
22 |
17 |
0 |
|
23% |
| tests / integration / tools / astro_check / conftest.py |
_find_project_root |
|
5 |
1 |
0 |
|
80% |
| tests / integration / tools / astro_check / conftest.py |
astro_check_violation_file |
|
3 |
3 |
0 |
|
0% |
| tests / integration / tools / astro_check / conftest.py |
astro_check_clean_file |
|
3 |
3 |
0 |
|
0% |
| tests / integration / tools / astro_check / conftest.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| tests / integration / tools / astro_check / test_check.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / astro_check / test_check.py |
test_definition_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / astro_check / test_check.py |
test_definition_has_version_command |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / astro_check / test_check.py |
test_check_empty_directory |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / astro_check / test_check.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / astro_check / test_check.py |
test_set_exclude_patterns |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / astro_check / test_check.py |
(no function) |
|
16 |
0 |
2 |
|
100% |
| tests / integration / tools / gitleaks / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / integration / tools / gitleaks / conftest.py |
_find_project_root |
|
5 |
1 |
0 |
|
80% |
| tests / integration / tools / gitleaks / conftest.py |
gitleaks_violation_file |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / gitleaks / conftest.py |
gitleaks_clean_file |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / gitleaks / conftest.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / integration / tools / gitleaks / test_check.py |
test_check_file_with_secrets |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / gitleaks / test_check.py |
test_check_clean_file |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / gitleaks / test_check.py |
test_check_empty_directory |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / gitleaks / test_check.py |
(no function) |
|
11 |
0 |
2 |
|
100% |
| tests / integration / tools / gitleaks / test_definition.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / gitleaks / test_definition.py |
test_definition_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / gitleaks / test_definition.py |
test_definition_tool_type |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / gitleaks / test_definition.py |
(no function) |
|
11 |
0 |
2 |
|
100% |
| tests / integration / tools / gitleaks / test_options.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / gitleaks / test_options.py |
(no function) |
|
9 |
0 |
2 |
|
100% |
| tests / integration / tools / osv_scanner / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / integration / tools / osv_scanner / conftest.py |
_find_project_root |
|
5 |
1 |
0 |
|
80% |
| tests / integration / tools / osv_scanner / conftest.py |
osv_violation_file |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / osv_scanner / conftest.py |
osv_clean_file |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / osv_scanner / conftest.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / integration / tools / osv_scanner / test_check.py |
test_check_file_with_vulnerabilities |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / osv_scanner / test_check.py |
test_check_clean_file |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / osv_scanner / test_check.py |
test_check_empty_directory |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / osv_scanner / test_check.py |
(no function) |
|
11 |
0 |
2 |
|
100% |
| tests / integration / tools / osv_scanner / test_definition.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / osv_scanner / test_definition.py |
test_definition_file_patterns_empty |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / osv_scanner / test_definition.py |
(no function) |
|
8 |
0 |
2 |
|
100% |
| tests / integration / tools / osv_scanner / test_options.py |
test_set_options_timeout |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / osv_scanner / test_options.py |
test_invalid_timeout |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / osv_scanner / test_options.py |
(no function) |
|
10 |
0 |
2 |
|
100% |
| tests / integration / tools / shellcheck / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / integration / tools / shellcheck / conftest.py |
shellcheck_violation_file |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / shellcheck / conftest.py |
shellcheck_clean_file |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / shellcheck / conftest.py |
shellcheck_style_issues_file |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / shellcheck / conftest.py |
(no function) |
|
20 |
2 |
0 |
|
90% |
| tests / integration / tools / shellcheck / test_check.py |
test_check_file_with_issues |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / shellcheck / test_check.py |
test_check_clean_file |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / shellcheck / test_check.py |
test_check_empty_directory |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / shellcheck / test_check.py |
test_check_severity_filters_issues |
|
7 |
0 |
0 |
|
100% |
| tests / integration / tools / shellcheck / test_check.py |
test_check_exclude_filters_issues |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / shellcheck / test_check.py |
(no function) |
|
13 |
0 |
2 |
|
100% |
| tests / integration / tools / shellcheck / test_definition.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / shellcheck / test_definition.py |
test_definition_file_patterns |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / shellcheck / test_definition.py |
test_definition_has_version_command |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / shellcheck / test_definition.py |
(no function) |
|
11 |
0 |
2 |
|
100% |
| tests / integration / tools / shellcheck / test_options.py |
test_check_with_options |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / shellcheck / test_options.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / shellcheck / test_options.py |
test_invalid_severity |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / shellcheck / test_options.py |
test_invalid_shell |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / shellcheck / test_options.py |
test_fix_raises_not_implemented |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / shellcheck / test_options.py |
(no function) |
|
14 |
0 |
2 |
|
100% |
| tests / integration / tools / svelte_check / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / integration / tools / svelte_check / conftest.py |
_check_command_version |
|
5 |
2 |
0 |
|
60% |
| tests / integration / tools / svelte_check / conftest.py |
svelte_check_is_available |
|
5 |
3 |
0 |
|
40% |
| tests / integration / tools / svelte_check / conftest.py |
_find_project_root |
|
5 |
1 |
0 |
|
80% |
| tests / integration / tools / svelte_check / conftest.py |
svelte_check_violation_file |
|
3 |
3 |
0 |
|
0% |
| tests / integration / tools / svelte_check / conftest.py |
svelte_check_clean_file |
|
3 |
3 |
0 |
|
0% |
| tests / integration / tools / svelte_check / conftest.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| tests / integration / tools / svelte_check / test_check.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / svelte_check / test_check.py |
test_definition_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / svelte_check / test_check.py |
test_definition_has_version_command |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / svelte_check / test_check.py |
test_check_empty_directory |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / svelte_check / test_check.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / svelte_check / test_check.py |
test_set_exclude_patterns |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / svelte_check / test_check.py |
(no function) |
|
16 |
0 |
2 |
|
100% |
| tests / integration / tools / test_bandit_integration.py |
temp_python_file_with_security_issues |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_bandit_integration.py |
temp_python_file_secure |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_bandit_integration.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_bandit_integration.py |
test_definition_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_bandit_integration.py |
test_check_file_with_security_issues |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_bandit_integration.py |
test_check_secure_file |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_bandit_integration.py |
test_check_empty_directory |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_bandit_integration.py |
test_set_options |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_bandit_integration.py |
(no function) |
|
20 |
0 |
2 |
|
100% |
| tests / integration / tools / test_black_integration.py |
temp_python_file_unformatted |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_black_integration.py |
temp_python_file_formatted |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_black_integration.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_black_integration.py |
test_definition_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_black_integration.py |
test_check_file_formatting_state |
|
8 |
0 |
0 |
|
100% |
| tests / integration / tools / test_black_integration.py |
test_check_empty_directory |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_black_integration.py |
test_fix_formats_file |
|
8 |
0 |
0 |
|
100% |
| tests / integration / tools / test_black_integration.py |
test_fix_preserves_formatted_file |
|
7 |
0 |
0 |
|
100% |
| tests / integration / tools / test_black_integration.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_black_integration.py |
(no function) |
|
22 |
0 |
2 |
|
100% |
| tests / integration / tools / test_cargo_deny_integration.py |
_get_cargo_deny_version |
|
10 |
4 |
0 |
|
60% |
| tests / integration / tools / test_cargo_deny_integration.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_cargo_deny_integration.py |
test_definition_file_patterns |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_cargo_deny_integration.py |
test_check_empty_directory |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / test_cargo_deny_integration.py |
test_check_no_cargo_toml |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / test_cargo_deny_integration.py |
test_set_options_timeout |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_cargo_deny_integration.py |
test_invalid_timeout |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_cargo_deny_integration.py |
(no function) |
|
22 |
0 |
2 |
|
100% |
| tests / integration / tools / test_mypy_integration.py |
temp_python_file_with_type_errors |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_mypy_integration.py |
temp_python_file_type_correct |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_mypy_integration.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_mypy_integration.py |
test_definition_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_mypy_integration.py |
test_check_file_with_type_errors |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_mypy_integration.py |
test_check_type_correct_file |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_mypy_integration.py |
test_check_empty_directory |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_mypy_integration.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_mypy_integration.py |
(no function) |
|
20 |
0 |
2 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
oxfmt_is_available |
|
10 |
4 |
0 |
|
60% |
| tests / integration / tools / test_oxfmt_integration.py |
temp_js_file_unformatted |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
temp_js_file_formatted |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
temp_ts_file_unformatted |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
test_definition_file_patterns |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
test_definition_has_version_command |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
test_check_file_unformatted |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
test_check_file_formatted |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
test_check_typescript_file |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
test_check_empty_directory |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
test_fix_formats_file |
|
7 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
test_fix_typescript_file |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
test_fix_formatted_file_unchanged |
|
7 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
test_fix_reports_issue_counts |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
test_set_formatting_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
test_set_exclude_patterns |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
test_config_option_accepted_by_fix |
|
10 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxfmt_integration.py |
(no function) |
|
34 |
0 |
2 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
oxlint_is_available |
|
10 |
4 |
0 |
|
60% |
| tests / integration / tools / test_oxlint_integration.py |
temp_js_file_with_issues |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
temp_js_file_clean |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
temp_ts_file_with_issues |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
test_definition_file_patterns |
|
13 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
test_definition_has_version_command |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
test_check_file_with_issues |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
test_check_clean_file |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
test_check_typescript_file |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
test_check_empty_directory |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
test_fix_applies_fixes |
|
11 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
test_fix_clean_file_unchanged |
|
7 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
test_set_exclude_patterns |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
test_set_config_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
test_set_deny_option |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
test_set_allow_option |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
test_set_warn_option |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
test_deny_option_affects_check_output |
|
7 |
0 |
0 |
|
100% |
| tests / integration / tools / test_oxlint_integration.py |
(no function) |
|
35 |
0 |
2 |
|
100% |
| tests / integration / tools / test_prettier_integration.py |
temp_json_file_unformatted |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_prettier_integration.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_prettier_integration.py |
test_definition_file_patterns |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / test_prettier_integration.py |
temp_json_file_formatted |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_prettier_integration.py |
test_check_json_file_formatting_state |
|
8 |
0 |
0 |
|
100% |
| tests / integration / tools / test_prettier_integration.py |
test_fix_formats_json_file |
|
7 |
0 |
0 |
|
100% |
| tests / integration / tools / test_prettier_integration.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_prettier_integration.py |
astro_project_dir |
|
10 |
3 |
0 |
|
70% |
| tests / integration / tools / test_prettier_integration.py |
temp_astro_file_unformatted |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_prettier_integration.py |
temp_astro_file_formatted |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_prettier_integration.py |
test_check_astro_file_formatting_state |
|
8 |
0 |
0 |
|
100% |
| tests / integration / tools / test_prettier_integration.py |
test_fix_formats_astro_file |
|
7 |
0 |
0 |
|
100% |
| tests / integration / tools / test_prettier_integration.py |
(no function) |
|
31 |
0 |
2 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
temp_python_file_with_issues |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
temp_python_file_clean |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
temp_python_file_formatting_issues |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
test_definition_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
test_definition_has_version_command |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
test_check_file_with_issues |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
test_check_clean_file |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
test_check_nonexistent_file |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
test_check_empty_directory |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
test_fix_formats_file |
|
7 |
0 |
0 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
test_fix_removes_unused_imports |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
test_check_with_options |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
test_fix_with_unsafe_fixes |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
test_fix_with_format_disabled |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
test_invalid_line_length |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / test_ruff_integration.py |
(no function) |
|
32 |
0 |
2 |
|
100% |
| tests / integration / tools / test_rustfmt_integration.py |
_get_rustfmt_version |
|
10 |
4 |
0 |
|
60% |
| tests / integration / tools / test_rustfmt_integration.py |
temp_rust_project_with_issues |
|
7 |
0 |
0 |
|
100% |
| tests / integration / tools / test_rustfmt_integration.py |
temp_rust_project_clean |
|
7 |
0 |
0 |
|
100% |
| tests / integration / tools / test_rustfmt_integration.py |
temp_rust_project_complex_issues |
|
7 |
0 |
0 |
|
100% |
| tests / integration / tools / test_rustfmt_integration.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_rustfmt_integration.py |
test_definition_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_rustfmt_integration.py |
test_definition_has_version_command |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_rustfmt_integration.py |
test_check_project_with_issues |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_rustfmt_integration.py |
test_check_clean_project |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_rustfmt_integration.py |
test_check_empty_directory |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / test_rustfmt_integration.py |
test_check_no_cargo_toml |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / test_rustfmt_integration.py |
test_fix_formats_project |
|
9 |
0 |
0 |
|
100% |
| tests / integration / tools / test_rustfmt_integration.py |
test_fix_complex_project |
|
8 |
0 |
0 |
|
100% |
| tests / integration / tools / test_rustfmt_integration.py |
test_fix_clean_project_unchanged |
|
9 |
0 |
0 |
|
100% |
| tests / integration / tools / test_rustfmt_integration.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_rustfmt_integration.py |
test_invalid_timeout |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_rustfmt_integration.py |
(no function) |
|
34 |
0 |
2 |
|
100% |
| tests / integration / tools / test_semgrep_integration.py |
temp_python_file_with_security_issues |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_semgrep_integration.py |
temp_python_file_secure |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_semgrep_integration.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_semgrep_integration.py |
test_definition_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_semgrep_integration.py |
test_definition_tool_type |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_semgrep_integration.py |
test_check_file_with_security_issues |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / test_semgrep_integration.py |
test_check_secure_file |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / test_semgrep_integration.py |
test_check_empty_directory |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_semgrep_integration.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_semgrep_integration.py |
(no function) |
|
21 |
0 |
2 |
|
100% |
| tests / integration / tools / test_shfmt_integration.py |
temp_shell_file_with_issues |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_shfmt_integration.py |
temp_shell_file_clean |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_shfmt_integration.py |
temp_shell_file_complex_issues |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_shfmt_integration.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_shfmt_integration.py |
test_definition_file_patterns |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_shfmt_integration.py |
test_definition_has_version_command |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_shfmt_integration.py |
test_check_file_with_issues |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_shfmt_integration.py |
test_check_clean_file |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_shfmt_integration.py |
test_check_empty_directory |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / test_shfmt_integration.py |
test_fix_formats_file |
|
7 |
0 |
0 |
|
100% |
| tests / integration / tools / test_shfmt_integration.py |
test_fix_complex_file |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / test_shfmt_integration.py |
test_fix_clean_file_unchanged |
|
7 |
0 |
0 |
|
100% |
| tests / integration / tools / test_shfmt_integration.py |
test_check_with_options |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_shfmt_integration.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_shfmt_integration.py |
test_invalid_language_dialect |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_shfmt_integration.py |
(no function) |
|
29 |
0 |
2 |
|
100% |
| tests / integration / tools / test_sqlfluff_integration.py |
temp_sql_file_with_issues |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_sqlfluff_integration.py |
temp_sql_file_clean |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_sqlfluff_integration.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_sqlfluff_integration.py |
test_definition_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_sqlfluff_integration.py |
test_definition_tool_type |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / test_sqlfluff_integration.py |
test_check_file_with_issues |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / test_sqlfluff_integration.py |
test_check_clean_file |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / test_sqlfluff_integration.py |
test_check_empty_directory |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_sqlfluff_integration.py |
test_fix_formats_sql_file |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / test_sqlfluff_integration.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_sqlfluff_integration.py |
(no function) |
|
22 |
0 |
2 |
|
100% |
| tests / integration / tools / test_taplo_integration.py |
temp_toml_file_with_issues |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_taplo_integration.py |
temp_toml_file_clean |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_taplo_integration.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_taplo_integration.py |
test_definition_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_taplo_integration.py |
test_definition_tool_type |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / test_taplo_integration.py |
test_check_file_with_issues |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_taplo_integration.py |
test_check_clean_file |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / test_taplo_integration.py |
test_check_empty_directory |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_taplo_integration.py |
test_fix_formats_toml_file |
|
8 |
0 |
0 |
|
100% |
| tests / integration / tools / test_taplo_integration.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_taplo_integration.py |
(no function) |
|
22 |
0 |
2 |
|
100% |
| tests / integration / tools / test_yamllint_integration.py |
temp_yaml_file_valid |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_yamllint_integration.py |
temp_yaml_file_with_issues |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_yamllint_integration.py |
temp_yaml_file_syntax_error |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_yamllint_integration.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / test_yamllint_integration.py |
test_definition_file_patterns |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_yamllint_integration.py |
test_check_valid_yaml_file |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / test_yamllint_integration.py |
test_check_yaml_file_with_issues |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / test_yamllint_integration.py |
test_check_yaml_file_with_syntax_error |
|
6 |
0 |
0 |
|
100% |
| tests / integration / tools / test_yamllint_integration.py |
test_check_empty_directory |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / test_yamllint_integration.py |
test_check_nonexistent_file |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / test_yamllint_integration.py |
test_check_preserves_output_on_failure |
|
9 |
0 |
0 |
|
100% |
| tests / integration / tools / test_yamllint_integration.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_yamllint_integration.py |
test_set_options_format |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / test_yamllint_integration.py |
(no function) |
|
26 |
0 |
2 |
|
100% |
| tests / integration / tools / tsc / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / integration / tools / tsc / conftest.py |
tsc_is_available |
|
7 |
3 |
0 |
|
57% |
| tests / integration / tools / tsc / conftest.py |
_find_project_root |
|
5 |
1 |
0 |
|
80% |
| tests / integration / tools / tsc / conftest.py |
tsc_violation_file |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / tsc / conftest.py |
tsc_clean_file |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / tsc / conftest.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| tests / integration / tools / tsc / test_check.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / tsc / test_check.py |
test_definition_file_patterns |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / tsc / test_check.py |
test_check_file_with_type_errors |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / tsc / test_check.py |
test_check_type_correct_file |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / tsc / test_check.py |
test_check_empty_directory |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / tsc / test_check.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / tsc / test_check.py |
test_file_targeting_with_tsconfig |
|
11 |
0 |
0 |
|
100% |
| tests / integration / tools / tsc / test_check.py |
test_use_project_files_checks_all_files |
|
9 |
0 |
0 |
|
100% |
| tests / integration / tools / tsc / test_check.py |
(no function) |
|
18 |
0 |
2 |
|
100% |
| tests / integration / tools / vue_tsc / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / integration / tools / vue_tsc / conftest.py |
vue_tsc_is_available |
|
22 |
17 |
0 |
|
23% |
| tests / integration / tools / vue_tsc / conftest.py |
_find_project_root |
|
5 |
1 |
0 |
|
80% |
| tests / integration / tools / vue_tsc / conftest.py |
vue_tsc_violation_file |
|
3 |
3 |
0 |
|
0% |
| tests / integration / tools / vue_tsc / conftest.py |
vue_tsc_clean_file |
|
3 |
3 |
0 |
|
0% |
| tests / integration / tools / vue_tsc / conftest.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| tests / integration / tools / vue_tsc / test_check.py |
test_definition_attributes |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / vue_tsc / test_check.py |
test_definition_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / vue_tsc / test_check.py |
test_definition_has_version_command |
|
2 |
0 |
0 |
|
100% |
| tests / integration / tools / vue_tsc / test_check.py |
test_check_empty_directory |
|
5 |
0 |
0 |
|
100% |
| tests / integration / tools / vue_tsc / test_check.py |
test_set_options |
|
3 |
0 |
0 |
|
100% |
| tests / integration / tools / vue_tsc / test_check.py |
test_set_exclude_patterns |
|
4 |
0 |
0 |
|
100% |
| tests / integration / tools / vue_tsc / test_check.py |
(no function) |
|
16 |
0 |
2 |
|
100% |
| tests / scripts / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / scripts / conftest.py |
temp_script_dir |
|
3 |
3 |
0 |
|
0% |
| tests / scripts / conftest.py |
mock_github_env |
|
4 |
4 |
0 |
|
0% |
| tests / scripts / conftest.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / scripts / test_ci_post_pr_comment.py |
ci_script_path |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_ci_post_pr_comment.py |
sample_data_dir |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_ci_post_pr_comment.py |
test_script_help_output |
|
5 |
0 |
0 |
|
100% |
| tests / scripts / test_ci_post_pr_comment.py |
test_script_help_short_flag |
|
3 |
0 |
0 |
|
100% |
| tests / scripts / test_ci_post_pr_comment.py |
test_script_exits_when_not_in_pr_context |
|
12 |
0 |
0 |
|
100% |
| tests / scripts / test_ci_post_pr_comment.py |
test_script_fails_with_missing_comment_file |
|
7 |
0 |
0 |
|
100% |
| tests / scripts / test_ci_post_pr_comment.py |
test_script_uses_default_comment_file |
|
8 |
0 |
0 |
|
100% |
| tests / scripts / test_ci_post_pr_comment.py |
test_script_integrates_with_python_utilities |
|
10 |
0 |
0 |
|
100% |
| tests / scripts / test_ci_post_pr_comment.py |
test_script_syntax_check |
|
4 |
1 |
0 |
|
75% |
| tests / scripts / test_ci_post_pr_comment.py |
test_script_has_proper_shebang |
|
3 |
0 |
0 |
|
100% |
| tests / scripts / test_ci_post_pr_comment.py |
test_script_sources_utilities |
|
6 |
0 |
0 |
|
100% |
| tests / scripts / test_ci_post_pr_comment.py |
test_script_handles_marker_logic |
|
6 |
0 |
0 |
|
100% |
| tests / scripts / test_ci_post_pr_comment.py |
test_python_utilities_are_executable |
|
6 |
0 |
0 |
|
100% |
| tests / scripts / test_ci_post_pr_comment.py |
(no function) |
|
24 |
0 |
0 |
|
100% |
| tests / scripts / test_coverage_pipeline_integration.py |
test_full_pipeline_extract_to_comment |
|
39 |
0 |
0 |
|
100% |
| tests / scripts / test_coverage_pipeline_integration.py |
test_pipeline_handles_missing_coverage_xml |
|
11 |
0 |
0 |
|
100% |
| tests / scripts / test_coverage_pipeline_integration.py |
test_pipeline_quiet_mode_produces_valid_json |
|
11 |
0 |
0 |
|
100% |
| tests / scripts / test_coverage_pipeline_integration.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / scripts / test_delete_previous_lintro_comments.py |
patch_env |
|
3 |
0 |
0 |
|
100% |
| tests / scripts / test_delete_previous_lintro_comments.py |
test_deletes_only_marker_comments |
|
11 |
0 |
0 |
|
100% |
| tests / scripts / test_delete_previous_lintro_comments.py |
test_deletes_only_marker_comments.mock_get_pr_comments |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_delete_previous_lintro_comments.py |
test_deletes_only_marker_comments.mock_delete_comment |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_delete_previous_lintro_comments.py |
test_no_marker_comments |
|
9 |
0 |
0 |
|
100% |
| tests / scripts / test_delete_previous_lintro_comments.py |
test_no_marker_comments.mock_get_pr_comments |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_delete_previous_lintro_comments.py |
test_no_marker_comments.mock_delete_comment |
|
1 |
1 |
0 |
|
0% |
| tests / scripts / test_delete_previous_lintro_comments.py |
(no function) |
|
19 |
1 |
0 |
|
95% |
| tests / scripts / test_extract_test_summary.py |
test_script_help_output |
|
6 |
0 |
0 |
|
100% |
| tests / scripts / test_extract_test_summary.py |
test_script_syntax_check |
|
3 |
0 |
0 |
|
100% |
| tests / scripts / test_extract_test_summary.py |
test_extract_from_standard_pytest_output |
|
13 |
0 |
0 |
|
100% |
| tests / scripts / test_extract_test_summary.py |
test_extract_from_lintro_table_format |
|
13 |
0 |
0 |
|
100% |
| tests / scripts / test_extract_test_summary.py |
test_extract_with_coverage_xml |
|
16 |
0 |
0 |
|
100% |
| tests / scripts / test_extract_test_summary.py |
test_extract_from_environment_variables |
|
16 |
0 |
0 |
|
100% |
| tests / scripts / test_extract_test_summary.py |
test_default_output_file |
|
10 |
0 |
0 |
|
100% |
| tests / scripts / test_extract_test_summary.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| tests / scripts / test_extract_version.py |
run |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_extract_version.py |
test_extract_version_from_repo_root |
|
9 |
0 |
0 |
|
100% |
| tests / scripts / test_extract_version.py |
test_extract_version_with_custom_file |
|
7 |
0 |
0 |
|
100% |
| tests / scripts / test_extract_version.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
MockOwnerResponse.__init__ |
|
2 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
MockOwnerResponse.raise_for_status |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
MockOwnerResponse.json |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
MockDeleteResponse.__init__ |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
MockDeleteResponse.raise_for_status |
|
0 |
0 |
3 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
make_versions_response |
|
6 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
make_versions_response.MockVersionsResponse.__init__ |
|
2 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
make_versions_response.MockVersionsResponse.raise_for_status |
|
2 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
make_versions_response.MockVersionsResponse.json |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
make_mock_client |
|
10 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
make_mock_client._MockClient.__init__ |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
make_mock_client._MockClient.__enter__ |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
make_mock_client._MockClient.__exit__ |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
make_mock_client._MockClient.get |
|
6 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
make_mock_client._MockClient.delete |
|
2 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
test_version_dataclass |
|
3 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
test_list_container_versions_parses_minimal_structure |
|
9 |
0 |
1 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
test_list_container_versions_parses_minimal_structure.DummyResp.__init__ |
|
2 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
test_list_container_versions_parses_minimal_structure.DummyResp.raise_for_status |
|
0 |
0 |
1 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
test_list_container_versions_parses_minimal_structure.DummyResp.json |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
test_list_container_versions_parses_minimal_structure.DummyClient.get |
|
3 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
test_delete_version_calls_delete |
|
6 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
test_delete_version_calls_delete.DummyClient.delete |
|
2 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
test_delete_version_raises_on_non_204_non_404 |
|
7 |
1 |
0 |
|
86% |
| tests / scripts / test_ghcr_prune_untagged.py |
test_delete_version_raises_on_non_204_non_404.DummyClient.delete |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
test_main_deletes_only_untagged |
|
12 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
test_main_respects_keep_n_and_dry_run |
|
14 |
0 |
0 |
|
100% |
| tests / scripts / test_ghcr_prune_untagged.py |
(no function) |
|
20 |
0 |
3 |
|
100% |
| tests / scripts / test_github_comment_utilities.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_encode.py |
json_encode_script_path |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_encode.py |
sample_data_dir |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_encode.py |
test_json_encode_simple_body |
|
5 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_encode.py |
test_json_encode_special_chars |
|
6 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_encode.py |
test_json_encode_from_stdin |
|
5 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_encode.py |
test_json_encode_nonexistent_file |
|
5 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_encode.py |
test_json_encode_empty_body |
|
11 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_encode.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_extract.py |
extract_comment_script_path |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_extract.py |
sample_data_dir |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_extract.py |
test_extract_comment_body_success |
|
5 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_extract.py |
test_extract_comment_body_paginated |
|
5 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_extract.py |
test_extract_comment_body_not_found |
|
5 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_extract.py |
test_extract_comment_body_invalid_json |
|
11 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_extract.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_find.py |
find_comment_script_path |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_find.py |
sample_data_dir |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_find.py |
test_find_comment_with_marker_success |
|
5 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_find.py |
test_find_comment_with_marker_paginated |
|
6 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_find.py |
test_find_comment_no_marker_found |
|
5 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_find.py |
test_find_comment_invalid_json |
|
11 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_find.py |
test_find_comment_empty_marker |
|
5 |
0 |
0 |
|
100% |
| tests / scripts / test_github_comment_utilities_find.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| tests / scripts / test_merge_pr_comment.py |
test_extract_details_blocks_no_blocks |
|
4 |
0 |
0 |
|
100% |
| tests / scripts / test_merge_pr_comment.py |
test_extract_details_blocks_single_block |
|
7 |
0 |
0 |
|
100% |
| tests / scripts / test_merge_pr_comment.py |
test_extract_details_blocks_multiple_blocks |
|
6 |
0 |
0 |
|
100% |
| tests / scripts / test_merge_pr_comment.py |
test_extract_details_blocks_no_newline_after_tag |
|
7 |
0 |
0 |
|
100% |
| tests / scripts / test_merge_pr_comment.py |
test_extract_details_blocks_preserves_non_history_blocks |
|
7 |
0 |
0 |
|
100% |
| tests / scripts / test_merge_pr_comment.py |
test_extract_timestamp_from_details_valid |
|
2 |
0 |
0 |
|
100% |
| tests / scripts / test_merge_pr_comment.py |
test_extract_timestamp_from_details_no_timestamp |
|
3 |
0 |
0 |
|
100% |
| tests / scripts / test_merge_pr_comment.py |
test_merge_no_previous_body |
|
6 |
0 |
0 |
|
100% |
| tests / scripts / test_merge_pr_comment.py |
test_merge_second_run_creates_history |
|
9 |
0 |
0 |
|
100% |
| tests / scripts / test_merge_pr_comment.py |
test_merge_new_content_above_history |
|
7 |
0 |
0 |
|
100% |
| tests / scripts / test_merge_pr_comment.py |
test_merge_place_new_below |
|
7 |
0 |
0 |
|
100% |
| tests / scripts / test_merge_pr_comment.py |
test_merge_preserves_existing_history_blocks |
|
9 |
0 |
0 |
|
100% |
| tests / scripts / test_merge_pr_comment.py |
test_merge_history_limit_enforced |
|
7 |
0 |
0 |
|
100% |
| tests / scripts / test_merge_pr_comment.py |
test_merge_marker_only_appears_once |
|
7 |
0 |
0 |
|
100% |
| tests / scripts / test_merge_pr_comment.py |
test_merge_normalizes_newlines |
|
6 |
0 |
0 |
|
100% |
| tests / scripts / test_merge_pr_comment.py |
(no function) |
|
23 |
0 |
0 |
|
100% |
| tests / scripts / test_semantic_release_compute_next.py |
_fake_completed |
|
1 |
0 |
0 |
|
100% |
| tests / scripts / test_semantic_release_compute_next.py |
_ensure_repo_root_on_path |
|
2 |
0 |
0 |
|
100% |
| tests / scripts / test_semantic_release_compute_next.py |
test_run_git_describe_allowed |
|
5 |
0 |
0 |
|
100% |
| tests / scripts / test_semantic_release_compute_next.py |
test_run_git_rev_parse_head_allowed |
|
5 |
0 |
0 |
|
100% |
| tests / scripts / test_semantic_release_compute_next.py |
test_run_git_log_allowed |
|
5 |
0 |
0 |
|
100% |
| tests / scripts / test_semantic_release_compute_next.py |
test_run_git_rejects_unsupported_or_unsafe |
|
5 |
0 |
4 |
|
100% |
| tests / scripts / test_semantic_release_compute_next.py |
test_run_git_rejects_unsupported_or_unsafe._should_not_run |
|
0 |
0 |
1 |
|
100% |
| tests / scripts / test_semantic_release_compute_next.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| tests / scripts / test_shell_scripts.py |
test_detect_changes_help |
|
4 |
0 |
0 |
|
100% |
| tests / scripts / test_shell_scripts.py |
test_renovate_regex_manager_current_value |
|
4 |
0 |
0 |
|
100% |
| tests / scripts / test_shell_scripts.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / scripts / test_verify_manifest_tools.py |
_load_verify_manifest_tools_module |
|
7 |
1 |
0 |
|
86% |
| tests / scripts / test_verify_manifest_tools.py |
test_tool_command_uses_install_bin_when_provided |
|
4 |
0 |
0 |
|
100% |
| tests / scripts / test_verify_manifest_tools.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / test_documentation.py |
test_scripts_have_help |
|
15 |
6 |
0 |
|
60% |
| tests / test_documentation.py |
test_scripts_readme_coverage |
|
18 |
2 |
0 |
|
89% |
| tests / test_documentation.py |
test_cli_help_works |
|
8 |
2 |
0 |
|
75% |
| tests / test_documentation.py |
test_internal_doc_links |
|
17 |
4 |
0 |
|
76% |
| tests / test_documentation.py |
test_all_docs_have_titles |
|
11 |
3 |
0 |
|
73% |
| tests / test_documentation.py |
test_command_consistency |
|
13 |
3 |
0 |
|
77% |
| tests / test_documentation.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / ai / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / ai / conftest.py |
MockAIProvider.__init__ |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / conftest.py |
MockAIProvider._create_client |
|
1 |
1 |
0 |
|
0% |
| tests / unit / ai / conftest.py |
MockAIProvider.complete |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / conftest.py |
MockAIProvider.is_available |
|
1 |
1 |
0 |
|
0% |
| tests / unit / ai / conftest.py |
mock_provider |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / conftest.py |
ai_config |
|
1 |
1 |
0 |
|
0% |
| tests / unit / ai / conftest.py |
ai_config_disabled |
|
1 |
1 |
0 |
|
0% |
| tests / unit / ai / conftest.py |
sample_issues |
|
1 |
1 |
0 |
|
0% |
| tests / unit / ai / conftest.py |
sample_fix_suggestions |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / conftest.py |
(no function) |
|
29 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_anthropic.py |
test_anthropic_provider_raises_when_sdk_missing |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_anthropic.py |
test_anthropic_provider_default_model |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_anthropic.py |
test_anthropic_provider_is_available_with_no_key |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_anthropic.py |
test_anthropic_provider_is_available_with_key |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_anthropic.py |
test_anthropic_provider_get_client_no_key_raises |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_anthropic.py |
test_anthropic_complete_parses_response |
|
24 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_anthropic.py |
test_anthropic_complete_multiple_text_blocks |
|
18 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_anthropic.py |
test_anthropic_complete_respects_max_tokens_cap |
|
15 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_anthropic.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_base.py |
test_ai_response_defaults |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_base.py |
test_ai_response_with_all_fields |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_base.py |
test_base_ai_provider_complete_subclass |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_base.py |
test_base_ai_provider_complete_subclass.TestProvider.__init__ |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_base.py |
test_base_ai_provider_complete_subclass.TestProvider._create_client |
|
1 |
1 |
0 |
|
0% |
| tests / unit / ai / providers / test_base.py |
test_base_ai_provider_complete_subclass.TestProvider.complete |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_base.py |
test_base_ai_provider_cannot_instantiate_directly |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_base.py |
test_incomplete_subclass_fails |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_base.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_factory.py |
test_get_provider_anthropic |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_factory.py |
test_get_provider_openai |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_factory.py |
test_get_provider_unknown_raises |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_factory.py |
test_get_provider_case_insensitive |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_factory.py |
test_get_provider_passes_model |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_factory.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_openai.py |
test_openai_provider_raises_when_sdk_missing |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_openai.py |
test_openai_provider_default_model |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_openai.py |
test_openai_provider_is_available_with_no_key |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_openai.py |
test_openai_provider_is_available_with_key |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_openai.py |
test_openai_provider_get_client_no_key_raises |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_openai.py |
test_openai_complete_parses_response |
|
25 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_openai.py |
test_openai_complete_without_system_prompt |
|
19 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_openai.py |
test_openai_complete_handles_none_usage |
|
16 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_openai.py |
test_openai_complete_respects_max_tokens_cap |
|
19 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_openai.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_stream.py |
_StubProvider.__init__ |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_stream.py |
_StubProvider._create_client |
|
1 |
1 |
0 |
|
0% |
| tests / unit / ai / providers / test_stream.py |
_StubProvider.complete |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_stream.py |
_make_response |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_stream.py |
test_stream_result_iter_yields_chunks |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_stream.py |
test_stream_result_response_returns_metadata |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_stream.py |
test_stream_result_collect_concatenates_and_returns_response |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_stream.py |
test_stream_result_collect_empty_stream |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_stream.py |
test_stream_result_collect_various_chunk_patterns |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_stream.py |
test_base_provider_stream_complete_delegates_to_complete |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_stream.py |
test_base_provider_stream_complete_passes_kwargs |
|
11 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_stream.py |
test_base_provider_stream_complete_passes_kwargs._CapturingProvider.complete |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_stream.py |
test_base_provider_stream_complete_single_chunk_iteration |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_stream.py |
test_collect_raises_on_double_call |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / providers / test_stream.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| tests / unit / ai / test_ai_config_validation.py |
test_max_tokens_default |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_ai_config_validation.py |
test_max_tokens_valid_upper_bound |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_ai_config_validation.py |
test_max_tokens_exceeds_upper_bound |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_ai_config_validation.py |
test_max_tokens_zero_rejected |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_ai_config_validation.py |
test_max_tokens_negative_rejected |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_ai_config_validation.py |
test_sanitize_mode_default |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_ai_config_validation.py |
test_sanitize_mode_block |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_ai_config_validation.py |
test_sanitize_mode_off |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_ai_config_validation.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_risk_to_annotation_level |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_escapes_percent |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_escapes_newline |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_escapes_carriage_return |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_plain_text_unchanged |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_empty_suggestions_returns_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_single_suggestion_emits_annotation |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_high_risk_emits_error |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_medium_risk_emits_warning |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_no_risk_level_defaults_to_warning |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_multiple_suggestions_emit_multiple_lines |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_includes_confidence_in_message |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_no_file_omits_file_prop |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_code_without_tool_name |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_empty_summary_returns_empty |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_key_patterns_emit_warnings |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_priority_actions_emit_notices |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_no_patterns_or_actions_returns_empty |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_escapes_special_characters |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
test_github_actions_includes_annotations |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_annotations.py |
(no function) |
|
28 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_exact_line_match |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_adjacent_line_within_radius |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_prefers_closest_occurrence |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_search_radius_1_limits_search |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_large_radius_finds_distant_match |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_rejects_symlink_escape |
|
10 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_rejects_parent_traversal |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_accepts_file_inside_workspace |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_empty_original_code_returns_false |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_whitespace_only_original_code |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_missing_file_returns_false |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_empty_file_path_returns_false |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_multi_line_original_and_suggested |
|
11 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_multi_line_to_single_line |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_single_line_to_multi_line |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_file_without_trailing_newline |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_preserves_other_lines_newlines |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_negative_line_returns_false |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_line_zero_returns_false |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_line_beyond_file_length_clamps |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fixes_returns_only_successful |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fixes_empty_list |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fixes_all_fail |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fixes_forwards_search_radius |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fixes_forwards_auto_apply |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_logs_debug_for_invalid_line |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
test_apply_fix_successful_no_warning |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_apply.py |
(no function) |
|
34 |
0 |
0 |
|
100% |
| tests / unit / ai / test_audit.py |
suggestion |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_audit.py |
test_writes_json_file |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_audit.py |
test_contains_correct_fields |
|
13 |
0 |
0 |
|
100% |
| tests / unit / ai / test_audit.py |
test_handles_empty_applied_list |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_audit.py |
test_rounds_cost_properly |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_audit.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / ai / test_availability.py |
test_availability_available_when_anthropic_installed |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_availability.py |
test_availability_caching |
|
11 |
0 |
0 |
|
100% |
| tests / unit / ai / test_availability.py |
test_availability_caching._tracking_import |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_availability.py |
test_availability_unknown_provider |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_availability.py |
test_availability_require_raises_when_unavailable |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_availability.py |
test_availability_require_passes_when_available |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_availability.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / ai / test_budget.py |
test_default_budget_has_no_limit |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_budget.py |
test_budget_with_limit |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_budget.py |
test_record_increments_spent |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_budget.py |
test_record_updates_remaining |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_budget.py |
test_remaining_never_negative |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_budget.py |
test_check_passes_when_under_limit |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_budget.py |
test_check_passes_with_no_limit |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_budget.py |
test_check_raises_when_at_limit |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_budget.py |
test_check_raises_when_over_limit |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_budget.py |
test_check_error_message_contains_amounts |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_budget.py |
test_thread_safety_concurrent_records |
|
12 |
0 |
0 |
|
100% |
| tests / unit / ai / test_budget.py |
test_thread_safety_concurrent_records.worker |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_budget.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cache.py |
_make_suggestion |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cache.py |
test_cache_key_is_deterministic |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cache.py |
test_cache_key_differs_for_different_inputs |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cache.py |
test_cache_key_is_16_hex_chars |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cache.py |
test_cache_miss_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cache.py |
test_cache_hit_returns_data |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cache.py |
test_expired_cache_returns_none_and_deletes_file |
|
10 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cache.py |
test_cache_stores_to_correct_path |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cache.py |
test_evict_lru_removes_oldest_entries |
|
10 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cache.py |
test_evict_lru_no_op_when_under_limit |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cache.py |
test_cache_suggestion_evicts_when_over_max |
|
14 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cache.py |
test_get_cached_suggestion_updates_mtime |
|
12 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cache.py |
(no function) |
|
19 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
test_default_config_booleans_and_provider |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
test_default_config_optional_fields |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
test_default_config_numeric_fields |
|
11 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
test_provider_anthropic |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
test_provider_openai |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
test_provider_invalid_rejected |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
test_enabled_override |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
test_auto_apply_override |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
test_auto_apply_safe_fixes_override |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
test_default_fix_override |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
test_validate_after_group_override |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
test_custom_model |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
test_custom_api_key_env |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
test_numeric_field_accepts_valid_value |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
test_numeric_field_rejects_invalid_value |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
test_retry_max_delay_less_than_base_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
test_extra_fields_forbidden |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config.py |
(no function) |
|
24 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config_wiring.py |
_make_suggestion |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config_wiring.py |
_make_fix_issues |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config_wiring.py |
test_context_lines_flows_to_generate_fixes |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config_wiring.py |
test_fix_search_radius_flows_to_apply_fixes |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config_wiring.py |
test_retry_delays_flow_to_generate_fixes |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config_wiring.py |
test_timeout_and_retries_flow_to_post_fix_summary |
|
14 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config_wiring.py |
test_timeout_and_retries_flow_to_generate_summary |
|
14 |
0 |
0 |
|
100% |
| tests / unit / ai / test_config_wiring.py |
(no function) |
|
51 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cost.py |
test_cost_known_model |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cost.py |
test_cost_unknown_model_uses_default |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cost.py |
test_cost_unknown_model_logs_debug |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cost.py |
test_cost_known_model_does_not_log |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cost.py |
test_cost_zero_tokens |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cost.py |
test_cost_large_token_count |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cost.py |
test_cost_all_known_models_have_pricing |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cost.py |
test_cost_format_small |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cost.py |
test_cost_format_normal |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cost.py |
test_cost_format_larger |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cost.py |
test_cost_format_token_count_small |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cost.py |
test_cost_format_token_count_large |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_cost.py |
(no function) |
|
21 |
0 |
0 |
|
100% |
| tests / unit / ai / test_display.py |
test_render_summary_auto_detect_markdown_format |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_display.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_enums.py |
test_confidence_string_value |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_enums.py |
test_confidence_string_equality |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_enums.py |
test_confidence_numeric_order |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_enums.py |
test_ordering_high_gt_medium_gt_low |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_enums.py |
test_confidence_is_str_subclass |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_enums.py |
test_confidence_construction_from_string |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_enums.py |
test_confidence_invalid_value_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_enums.py |
test_risk_hyphenated_string_value |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_enums.py |
test_risk_string_equality |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_enums.py |
test_risk_to_severity_label |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_enums.py |
test_risk_is_str_subclass |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_enums.py |
test_risk_construction_from_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_enums.py |
test_risk_invalid_value_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_enums.py |
(no function) |
|
23 |
0 |
0 |
|
100% |
| tests / unit / ai / test_exceptions.py |
test_exceptions_hierarchy |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_exceptions.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
_make_provider |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
_ok_response |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
test_returns_response_without_fallback |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
test_returns_response_with_empty_fallback_list |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
test_does_not_try_fallbacks_on_success |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
test_falls_back_on_provider_error |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
test_falls_back_on_rate_limit_error |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
test_tries_multiple_fallbacks_in_order |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
test_model_is_swapped_for_each_fallback |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
test_model_is_swapped_for_each_fallback.capture_model |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
test_raises_last_error_when_all_fail |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
test_raises_primary_error_when_no_fallbacks |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
test_auth_error_propagates_immediately |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
test_auth_error_on_fallback_propagates |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
test_model_restored_on_auth_error |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
test_model_restored_on_provider_error |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
test_model_restored_on_success |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
test_forwards_all_kwargs |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fallback.py |
(no function) |
|
24 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_no_filters_allows_all |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_no_filters_allows_empty_fields |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_include_paths_matches |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_include_paths_no_match |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_include_paths_multiple_patterns |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_include_paths_glob_star_star |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_exclude_paths_matches |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_exclude_paths_no_match |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_exclude_paths_multiple_patterns |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_include_and_exclude_paths_include_wins_when_not_excluded |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_include_and_exclude_paths_exclude_overrides |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_include_paths_rejects_before_exclude_checked |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_include_rules_matches |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_include_rules_no_match |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_include_rules_exact_match |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_exclude_rules_matches |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_exclude_rules_no_match |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_exclude_rules_glob_pattern |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_include_and_exclude_rules_together |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_include_rules_passes_exclude_rules_does_not_match |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_path_and_rule_filters_both_pass |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_path_passes_rule_fails |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_rule_passes_path_fails |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_filter_issues_returns_matching_only |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_filter_issues_empty_list |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_filter_issues_no_filters |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_filter_issues_all_excluded |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_issue_without_code_attribute |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
test_issue_without_file |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_filters.py |
(no function) |
|
35 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_context.py |
test_full_file_context_for_small_file |
|
10 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_context.py |
test_full_file_skipped_when_file_exceeds_threshold |
|
10 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_context.py |
test_full_file_skipped_when_over_token_budget |
|
11 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_context.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_basic.py |
source_file |
|
3 |
3 |
0 |
|
0% |
| tests / unit / ai / test_fix_generation_basic.py |
single_issue |
|
1 |
1 |
0 |
|
0% |
| tests / unit / ai / test_fix_generation_basic.py |
test_generate_fixes_empty_issues |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_basic.py |
test_generate_fixes_generates_fixes_for_unfixable |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_basic.py |
test_generate_fixes_processes_fixable_issues |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_basic.py |
test_generate_fixes_skips_issues_without_file |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_basic.py |
test_generate_fixes_respects_max_issues |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_basic.py |
test_generate_fixes_provider_prompt_uses_workspace_relative_path |
|
12 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_basic.py |
test_generate_fixes_skips_issue_outside_workspace_root |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_basic.py |
test_timeout_reaches_provider |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_basic.py |
test_default_timeout_is_60 |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_basic.py |
test_tool_result_cwd_defaults_to_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_basic.py |
test_tool_result_cwd_preserves_value |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_basic.py |
test_resolves_relative_paths_with_cwd |
|
12 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_basic.py |
test_absolute_paths_unchanged_by_resolution |
|
5 |
1 |
0 |
|
80% |
| tests / unit / ai / test_fix_generation_basic.py |
test_no_resolution_when_cwd_is_none |
|
5 |
1 |
0 |
|
80% |
| tests / unit / ai / test_fix_generation_basic.py |
test_generate_fixes_skips_issues_with_unreadable_relative_paths |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_basic.py |
test_single_issue_file_not_batched |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_basic.py |
(no function) |
|
29 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_batch.py |
test_batch_prompt_for_multi_issue_file |
|
15 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_batch.py |
test_batch_fallback_to_single_on_parse_failure |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_batch.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_edge.py |
_make_ai_response |
|
4 |
1 |
0 |
|
75% |
| tests / unit / ai / test_fix_generation_edge.py |
test_generate_fixes_handles_provider_error |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_edge.py |
test_generate_fixes_handles_provider_error.ErrorProvider.complete |
|
1 |
1 |
0 |
|
0% |
| tests / unit / ai / test_fix_generation_edge.py |
test_concurrent_generation_with_multiple_workers |
|
11 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_edge.py |
test_concurrent_mixed_success_and_failure |
|
10 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_edge.py |
test_retries_on_provider_error |
|
12 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_edge.py |
test_retries_on_provider_error.RetryProvider.complete |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_edge.py |
test_no_retry_on_auth_error |
|
11 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_edge.py |
test_no_retry_on_auth_error.AuthErrorProvider.complete |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_edge.py |
test_max_retries_zero_means_no_retry |
|
11 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_edge.py |
test_max_retries_zero_means_no_retry.FailOnceProvider.complete |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_generation_edge.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_generate_diff_generates_unified_diff |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_generate_diff_no_diff_for_identical |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_parse_fix_response_valid_response |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_parse_fix_response_non_object_json |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_parse_fix_response_non_string_code_fields |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_parse_fix_response_invalid_json |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_parse_fix_response_identical_code |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_parse_fix_response_empty_original |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_parse_fix_response_empty_suggested |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_parse_fix_response_extracts_risk_level |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_parse_fix_response_risk_level_defaults_to_empty |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_parse_fix_response_confidence_defaults_to_medium |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_parse_batch_response_valid |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_parse_batch_response_invalid_json |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_parse_batch_response_not_array |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_parse_batch_response_mixed_valid_and_invalid |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_parse_batch_response_skips_identical_code |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
test_parse_batch_response_coerces_line_and_code |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_parsing.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_reading.py |
test_read_file_safely_reads_existing_file |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_reading.py |
test_read_file_safely_returns_none_for_missing |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_reading.py |
test_read_file_safely_returns_empty_string_for_empty_file |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_reading.py |
test_extract_context_extracts_context |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_reading.py |
test_extract_context_clamps_to_start |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_reading.py |
test_extract_context_clamps_to_end |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_reading.py |
test_extract_context_empty_content |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_reading.py |
test_extract_context_non_positive_line |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_reading.py |
test_extract_context_clamps_out_of_bounds_line |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_fix_reading.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_token |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_detects_pr_number_from_event_payload |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_detects_pr_number_from_ref |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_returns_none_for_branch_ref |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_returns_none_for_empty_ref |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_returns_none_for_missing_ref |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_returns_none_for_malformed_ref |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_is_available_with_all_context |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_is_not_available_without_token |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_is_not_available_without_repo |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_is_not_available_without_pr_number |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_reads_env_vars |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_post_review_comments_returns_false_when_unavailable |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_post_review_comments_posts_summary |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_post_review_comments_posts_suggestions |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_api_request_constructs_correct_request |
|
11 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_includes_overview |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_includes_key_patterns |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_includes_priority_actions |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_includes_triage_suggestions |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_includes_effort_estimate |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_includes_code_and_tool |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_includes_explanation |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_includes_diff |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_includes_suggestion_block |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_includes_confidence_and_risk |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_sanitizes_backticks_in_diff |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_post_review_uses_workspace_relative_paths |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
test_post_review_skips_out_of_workspace_suggestions |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_github_pr.py |
(no function) |
|
40 |
0 |
0 |
|
100% |
| tests / unit / ai / test_hook.py |
test_should_run_returns_true_for_check_when_enabled |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_hook.py |
test_should_run_returns_true_for_fix_when_enabled |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_hook.py |
test_should_run_returns_false_for_test_action |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_hook.py |
test_should_run_returns_false_when_disabled |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_hook.py |
test_execute_calls_run_ai_enhancement |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_hook.py |
test_execute_catches_exceptions_and_logs_warning |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_hook.py |
test_execute_handles_import_failure |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_hook.py |
(no function) |
|
18 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_apply_fix_no_fallback_when_line_targeting_misses |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_apply_fix_line_targeted_does_not_log_warning |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_apply_fix_applies_fix |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_apply_fix_skips_when_original_not_found |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_apply_fix_handles_missing_file |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_apply_fix_line_targeted_replacement |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_apply_fix_fails_when_line_targeting_misses |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_apply_fix_empty_original_code |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_apply_fix_blocks_writes_outside_workspace_root |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_apply_fix_fails_when_line_misses_with_flag |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_apply_fix_search_radius_limits_search |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_apply_fixes_returns_only_successful |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_apply_fixes_with_auto_apply_flag_fails_when_line_misses |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_group_by_code_groups_by_code |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_group_by_code_empty_code_uses_unknown |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_group_by_code_empty_list |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_review_fixes_interactive_empty_suggestions |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_review_fixes_interactive_non_interactive_skips |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_review_fixes_interactive_prompt_text_clarifies_scope |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_review_fixes_interactive_accept_via_keyboard |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_review_fixes_interactive_reject_via_keyboard |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
test_review_fixes_interactive_quit_via_keyboard |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_interactive.py |
(no function) |
|
35 |
0 |
0 |
|
100% |
| tests / unit / ai / test_metadata.py |
test_metadata_summary_and_fixes_coexist |
|
10 |
0 |
0 |
|
100% |
| tests / unit / ai / test_metadata.py |
test_metadata_normalize_supports_legacy_suggestions_key |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_metadata.py |
test_metadata_fixed_count_is_attached_and_normalized |
|
17 |
0 |
0 |
|
100% |
| tests / unit / ai / test_metadata.py |
test_payload_to_dict_serialization |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_metadata.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_models.py |
test_models_fix_suggestion_defaults |
|
14 |
0 |
0 |
|
100% |
| tests / unit / ai / test_models.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_check.py |
single_issue_result |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_check.py |
check_config |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_check.py |
mock_logger |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_check.py |
test_run_ai_enhancement_check_fix_preserves_summary_and_fix_metadata |
|
15 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_check.py |
test_summary_attachment_summary_attached_to_all_results_with_issues |
|
13 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_check.py |
test_log_fix_limit_message_no_log_when_within_limit |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_check.py |
test_log_fix_limit_message_no_log_when_exactly_at_limit |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_check.py |
test_log_fix_limit_message_logs_when_over_limit |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_check.py |
test_integration_orchestrator_end_to_end_check_with_real_summary_generation |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_check.py |
(no function) |
|
36 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_edge.py |
test_ai_result_default_no_error |
|
12 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_edge.py |
test_ai_result_unfixed_issues_when_fixes_fail |
|
10 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_edge.py |
test_ai_result_error_on_exception |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_edge.py |
test_ai_result_error_propagates_when_fail_on_ai_error |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_edge.py |
test_ai_result_tracks_applied_fixes |
|
14 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_edge.py |
test_fail_on_unfixed_config_default_is_false |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_edge.py |
test_fail_on_unfixed_config_can_be_set |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_edge.py |
(no function) |
|
34 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_fix.py |
test_run_ai_enhancement_fix_action_generates_fix_metadata |
|
19 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_fix.py |
test_run_ai_enhancement_fix_action_passes_validate_mode_to_interactive_review |
|
10 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_fix.py |
test_run_ai_enhancement_fix_action_uses_only_remaining_issue_tail |
|
15 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_fix.py |
test_run_ai_enhancement_fix_action_skips_tools_with_zero_remaining_issues |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_fix.py |
test_run_ai_enhancement_fix_action_uses_fresh_rerun_results_for_post_summary |
|
14 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_fix.py |
(no function) |
|
43 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_multi.py |
test_run_ai_enhancement_fix_action_noninteractive_applies_safe_then_reviews_risky |
|
18 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_multi.py |
test_run_ai_enhancement_fix_action_json_auto_applies_safe_style_suggestions |
|
18 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_multi.py |
test_run_ai_enhancement_fix_action_json_uses_fresh_rerun_results |
|
10 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_multi.py |
test_rerun_context_paths_for_context_relativizes_to_tool_cwd |
|
10 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_multi.py |
test_rerun_context_rerun_uses_original_tool_cwd |
|
16 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_multi.py |
test_rerun_context_rerun_uses_original_tool_cwd._FakeTool.check |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_multi.py |
test_rerun_context_rerun_cwd_lock_exists |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_multi.py |
test_rerun_context_rerun_continues_on_tool_failure |
|
20 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_multi.py |
test_rerun_context_rerun_continues_on_tool_failure._FailingTool.check |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_multi.py |
test_rerun_context_rerun_continues_on_tool_failure._PassingTool.check |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_multi.py |
test_rerun_context_rerun_continues_on_tool_failure._side_effect |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_orchestrator_multi.py |
(no function) |
|
42 |
0 |
0 |
|
100% |
| tests / unit / ai / test_paths.py |
_normalize |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_paths.py |
test_paths_relative_for_cwd_child |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_paths.py |
test_paths_already_relative |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_paths.py |
test_paths_relative_on_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_paths.py |
test_paths_resolve_workspace_root_from_config |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_paths.py |
test_paths_resolve_workspace_file_accepts_inside |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_paths.py |
test_paths_resolve_workspace_file_rejects_outside |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_paths.py |
test_paths_to_provider_path_is_workspace_relative |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_paths.py |
test_paths_to_provider_path_falls_back_without_leaking_absolute |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_paths.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| tests / unit / ai / test_pipeline.py |
_make_suggestion |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_pipeline.py |
_default_ai_config |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_pipeline.py |
_make_result |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_pipeline.py |
_make_fix_issues |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_pipeline.py |
test_budget_tracking_across_multiple_tools |
|
20 |
0 |
0 |
|
100% |
| tests / unit / ai / test_pipeline.py |
test_safe_vs_risky_suggestion_splitting |
|
15 |
0 |
0 |
|
100% |
| tests / unit / ai / test_pipeline.py |
test_auto_apply_fast_path_json_mode |
|
13 |
0 |
0 |
|
100% |
| tests / unit / ai / test_pipeline.py |
test_interactive_review_path |
|
13 |
0 |
0 |
|
100% |
| tests / unit / ai / test_pipeline.py |
test_no_suggestions_returns_early |
|
11 |
0 |
0 |
|
100% |
| tests / unit / ai / test_pipeline.py |
test_post_fix_summary_generation |
|
15 |
0 |
0 |
|
100% |
| tests / unit / ai / test_pipeline.py |
test_verify_fixes_flow |
|
15 |
0 |
0 |
|
100% |
| tests / unit / ai / test_pipeline.py |
(no function) |
|
74 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_fix_system_is_non_empty |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_fix_system_mentions_json |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_prompts_template_renders |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_prompts_template_includes_risk_level |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_fix_prompt_no_leftover_placeholders |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_fix_prompt_contains_all_values |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_fix_prompt_renders_various_issue_types |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_fix_prompt_special_characters_in_message |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_fix_prompt_unicode_in_file_path |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_fix_prompt_spaces_in_file_path |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_fix_prompt_empty_code_context |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_fix_prompt_zero_line_number |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_fix_prompt_very_long_message |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_summary_system_is_non_empty |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_summary_prompt_renders |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_summary_prompt_no_leftover_placeholders |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_summary_prompt_recommends_lintro |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_refinement_prompt_renders |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_batch_prompt_renders |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_post_fix_summary_prompt_renders |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_post_fix_summary_prompt_no_leftover_placeholders |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
test_post_fix_summary_recommends_lintro |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_prompts.py |
(no function) |
|
30 |
0 |
0 |
|
100% |
| tests / unit / ai / test_refinement.py |
_make_suggestion |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_refinement.py |
test_revert_fix_calls_apply_fixes_with_reversed_suggestion |
|
11 |
0 |
0 |
|
100% |
| tests / unit / ai / test_refinement.py |
test_revert_fix_returns_false_when_apply_fails |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_refinement.py |
test_refine_returns_empty_when_no_unverified_keys |
|
12 |
0 |
0 |
|
100% |
| tests / unit / ai / test_refinement.py |
test_refine_parses_detail_strings_correctly |
|
32 |
0 |
0 |
|
100% |
| tests / unit / ai / test_refinement.py |
test_refine_skips_when_revert_fails |
|
14 |
0 |
0 |
|
100% |
| tests / unit / ai / test_refinement.py |
test_refine_skips_when_parse_returns_none |
|
26 |
0 |
0 |
|
100% |
| tests / unit / ai / test_refinement.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_aiprovider_members |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_aiprovider_is_str |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_aiprovider_iteration |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_aiprovider_from_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_aiprovider_invalid_value_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_model_pricing_fields |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_model_pricing_frozen |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_provider_info_fields |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_provider_info_default_models_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_registry_items |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_registry_get |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_registry_model_pricing_contains_all_models |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_registry_model_pricing_values_are_model_pricing |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_registry_default_models |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_registry_default_api_key_envs |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_registry_default_model_in_provider_models |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_asdict_produces_nested_dict |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_default_pricing_is_model_pricing |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
test_default_pricing_values |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_registry.py |
(no function) |
|
24 |
0 |
0 |
|
100% |
| tests / unit / ai / test_rerun.py |
test_tool_cwd_restores_original_cwd |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_rerun.py |
test_tool_cwd_skips_when_none |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_rerun.py |
test_paths_for_context_relativizes_paths |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_rerun.py |
test_paths_for_context_returns_originals_when_no_cwd |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_rerun.py |
test_rerun_tools_with_missing_tools |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_rerun.py |
test_apply_rerun_results_preserves_native_counters |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_rerun.py |
test_apply_rerun_results_updates_remaining_issues |
|
12 |
0 |
0 |
|
100% |
| tests / unit / ai / test_rerun.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_succeeds_on_first_attempt |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_succeeds_on_first_attempt.fn |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_retries_on_provider_error |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_retries_on_provider_error.fn |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_retries_on_rate_limit_error |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_retries_on_rate_limit_error.fn |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_does_not_retry_on_authentication_error |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_does_not_retry_on_authentication_error.fn |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_raises_after_max_retries_exhausted |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_raises_after_max_retries_exhausted.fn |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_exponential_backoff_delays |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_exponential_backoff_delays.fn |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_max_delay_cap |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_max_delay_cap.fn |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_does_not_retry_non_ai_exceptions |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_does_not_retry_non_ai_exceptions.fn |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_preserves_function_metadata |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_retry.py |
test_retry_preserves_function_metadata.my_function |
|
1 |
1 |
0 |
|
0% |
| tests / unit / ai / test_retry.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_safe_style_high_confidence_returns_safe_style |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_safe_style_medium_confidence_returns_safe_style |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_safe_style_low_confidence_returns_behavioral |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_safe_style_empty_confidence_returns_behavioral |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_classify_fix_risk_matrix |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_explicit_behavioral_risk_returns_behavioral |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_empty_risk_level_returns_behavioral |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_unexpected_risk_level_returns_behavioral |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_whitespace_risk_level_returns_behavioral |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_case_insensitive_risk_level |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_case_insensitive_confidence |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_is_safe_style_fix_returns_true_for_safe_style |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_is_safe_style_fix_returns_false_for_behavioral |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_is_safe_style_fix_returns_false_for_empty_risk |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_is_safe_style_fix_returns_false_for_low_confidence_safe |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_heuristic_downgrades_safe_claim_with_behavioral_diff |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_heuristic_allows_whitespace_only_diff |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_heuristic_allows_quote_normalization |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_heuristic_allows_trailing_comma_changes |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_patch_stats_defaults |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_patch_stats_is_frozen |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_calculate_patch_stats_empty_list |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_calculate_patch_stats_from_unified_diff |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_calculate_patch_stats_fallback_without_diff |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_calculate_patch_stats_multiple_files |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
test_calculate_patch_stats_fallback_lines_removed |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_risk.py |
(no function) |
|
33 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize.py |
test_normal_python_code_unchanged |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize.py |
test_empty_string_unchanged |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize.py |
test_safe_code_unchanged |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize.py |
test_neutralizes_role_marker |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize.py |
test_escapes_xml_tag |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize.py |
test_detects_injection_pattern |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize.py |
test_no_injection_in_clean_code |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize.py |
test_no_injection_for_system_variable |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize.py |
test_multiple_injection_patterns_detected |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize.py |
test_boundary_marker_starts_with_prefix |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize.py |
test_boundary_markers_are_unique |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize.py |
test_boundary_marker_is_reasonable_length |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize_mode.py |
_make_issue |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize_mode.py |
test_sanitize_mode_warn_returns_prompt |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize_mode.py |
test_sanitize_mode_block_returns_none |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize_mode.py |
test_sanitize_mode_off_skips_detection |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize_mode.py |
test_sanitize_mode_block_allows_clean_files |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sanitize_mode.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_risk_to_sarif_level |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_confidence_to_score |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_empty_suggestions_produces_valid_sarif |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_single_suggestion_produces_result |
|
20 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_multiple_suggestions_same_rule_deduplicates_rules |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_different_rules_create_separate_entries |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_risk_level_maps_correctly |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_summary_attached_as_run_properties |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_no_summary_omits_run_properties |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_custom_tool_name_and_version |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_no_file_omits_locations |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_no_suggested_code_omits_fixes |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_tool_name_in_rule_properties |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_returns_valid_json |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_empty_suggestions_returns_valid_json |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_includes_summary_when_provided |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_writes_valid_sarif_file |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_creates_parent_directories |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
test_writes_with_summary |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif.py |
(no function) |
|
28 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_artifact.py |
_make_config |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_artifact.py |
_make_logger |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_artifact.py |
_call_write |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_artifact.py |
test_no_artifacts_when_disabled |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_artifact.py |
test_sarif_artifact_written_when_configured |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_artifact.py |
test_json_artifact_written_when_configured |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_artifact.py |
test_csv_artifact_written_when_configured |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_artifact.py |
test_multiple_artifacts_written |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_artifact.py |
test_sarif_auto_emits_in_github_actions |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_artifact.py |
test_unknown_artifact_format_warns |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_artifact.py |
test_artifact_logs_warning_on_write_failure |
|
11 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_artifact.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_bridge.py |
test_suggestions_from_results_with_metadata |
|
14 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_bridge.py |
test_suggestions_from_results_no_metadata |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_bridge.py |
test_suggestions_from_results_empty_fix_suggestions |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_bridge.py |
test_summary_from_results_with_metadata |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_bridge.py |
test_summary_from_results_no_metadata |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_bridge.py |
test_summary_from_results_picks_first |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_bridge.py |
test_sarif_format_end_to_end |
|
17 |
0 |
0 |
|
100% |
| tests / unit / ai / test_sarif_bridge.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / ai / test_secrets.py |
test_no_secrets_in_clean_code |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_secrets.py |
test_empty_string_no_secrets |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_secrets.py |
test_normal_variable_assignments |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_secrets.py |
test_detects_secret_pattern |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_secrets.py |
test_does_not_detect_short_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_secrets.py |
test_detects_multiple_secrets |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_secrets.py |
test_redact_clean_text_unchanged |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_secrets.py |
test_redact_replaces_secret |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_secrets.py |
test_redact_multiple_secrets |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_secrets.py |
test_redact_preserves_surrounding_text |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_secrets.py |
test_empty_string_redact |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_secrets.py |
(no function) |
|
18 |
0 |
0 |
|
100% |
| tests / unit / ai / test_stream_fallback.py |
_make_response |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_stream_fallback.py |
_SuccessProvider.__init__ |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_stream_fallback.py |
_SuccessProvider._create_client |
|
1 |
1 |
0 |
|
0% |
| tests / unit / ai / test_stream_fallback.py |
_SuccessProvider.complete |
|
1 |
1 |
0 |
|
0% |
| tests / unit / ai / test_stream_fallback.py |
_SuccessProvider.stream_complete |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_stream_fallback.py |
_FailingProvider.__init__ |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_stream_fallback.py |
_FailingProvider._create_client |
|
1 |
1 |
0 |
|
0% |
| tests / unit / ai / test_stream_fallback.py |
_FailingProvider.complete |
|
1 |
1 |
0 |
|
0% |
| tests / unit / ai / test_stream_fallback.py |
_FailingProvider.stream_complete |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_stream_fallback.py |
test_stream_fallback_returns_first_success |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_stream_fallback.py |
test_stream_fallback_tries_fallback_models |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_stream_fallback.py |
test_stream_fallback_tries_fallback_models._ModelTrackingProvider.stream_complete |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_stream_fallback.py |
test_stream_fallback_raises_when_all_fail |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_stream_fallback.py |
test_stream_fallback_restores_model_name |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_stream_fallback.py |
test_stream_fallback_restores_model_name._FailThenSuccessProvider.stream_complete |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_stream_fallback.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_formatting.py |
test_render_summary_terminal_renders_overview |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_formatting.py |
test_render_summary_terminal_empty_summary |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_formatting.py |
test_render_summary_terminal_cost_display |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_formatting.py |
test_render_summary_terminal_strips_leading_numbers_from_priority_actions |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_formatting.py |
test_render_summary_terminal_renders_triage_suggestions |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_formatting.py |
test_render_summary_terminal_omits_triage_when_empty |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_formatting.py |
test_render_summary_github_renders_with_groups |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_formatting.py |
test_render_summary_github_strips_leading_numbers_from_priority_actions |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_formatting.py |
test_render_summary_github_renders_triage_suggestions |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_formatting.py |
test_render_summary_github_omits_triage_when_empty |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_formatting.py |
test_render_summary_markdown_renders_with_details |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_formatting.py |
test_render_summary_markdown_renders_triage_suggestions |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_formatting.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
test_build_issues_digest_builds_digest_from_results |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
test_build_issues_digest_empty_results |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
test_build_issues_digest_skipped_results_excluded |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
test_build_issues_digest_sample_locations_capped |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
test_build_issues_digest_redacts_absolute_paths_for_provider |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
test_parse_summary_response_valid_json |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
test_parse_summary_response_parses_triage_suggestions |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
test_parse_summary_response_missing_triage_defaults_to_empty |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
test_parse_summary_response_invalid_json_fallback |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
test_parse_summary_response_empty_content |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
test_parse_summary_response_non_dict_json_list |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
test_parse_summary_response_non_dict_json_string |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
test_parse_summary_response_non_dict_json_int |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
test_generate_summary_returns_none_for_no_issues |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
test_generate_summary_generates_summary |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
test_generate_summary_handles_provider_error |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
test_generate_summary_handles_provider_error.ErrorProvider.complete |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_summary_generation.py |
(no function) |
|
23 |
0 |
0 |
|
100% |
| tests / unit / ai / test_telemetry.py |
test_defaults_are_zero |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_telemetry.py |
test_record_call_increments_all_fields |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_telemetry.py |
test_multiple_calls_accumulate |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_telemetry.py |
test_to_dict_returns_correct_dict |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_telemetry.py |
test_to_dict_rounds_cost |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_telemetry.py |
test_to_dict_rounds_latency |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_telemetry.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / ai / test_token_budget.py |
test_empty_string_returns_zero |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_token_budget.py |
test_short_string_returns_at_least_one |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_token_budget.py |
test_four_chars_equals_one_token |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_token_budget.py |
test_eight_chars_equals_two_tokens |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_token_budget.py |
test_no_truncation_when_under_budget |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_token_budget.py |
test_truncation_sets_flag |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_token_budget.py |
test_truncation_cuts_at_newline |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_token_budget.py |
test_empty_string_no_truncation |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_token_budget.py |
test_truncate_raises_on_non_positive_max_tokens |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_token_budget.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| tests / unit / ai / test_undo.py |
_make_suggestion |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_undo.py |
test_saves_patch_file |
|
5 |
0 |
0 |
|
100% |
| tests / unit / ai / test_undo.py |
test_returns_path |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_undo.py |
test_reverse_diff_suggested_to_original |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_undo.py |
test_empty_list_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_undo.py |
test_patch_content_is_valid_unified_diff |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_undo.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_applied.py |
_make_suggestion |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_applied.py |
test_validate_applied_fixes_returns_none_for_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_applied.py |
test_validate_applied_fixes_verified_when_issue_gone |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_applied.py |
test_validate_applied_fixes_unverified_when_issue_remains |
|
11 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_applied.py |
test_validate_applied_fixes_mixed_verified_and_unverified |
|
13 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_applied.py |
test_validate_applied_fixes_matches_by_line_before_file_code |
|
13 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_applied.py |
test_validate_applied_fixes_unknown_remaining_line_marks_issue_unverified |
|
10 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_applied.py |
test_validate_applied_fixes_skips_unknown_tool |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_applied.py |
test_validate_applied_fixes_skips_when_check_returns_none |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_applied.py |
test_validate_applied_fixes_groups_by_tool |
|
7 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_applied.py |
test_validate_applied_fixes_matches_relative_remaining_paths_against_absolute_fixes |
|
13 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_applied.py |
test_validate_applied_fixes_tracks_new_issues |
|
14 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_applied.py |
test_run_tool_check_returns_issues |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_applied.py |
test_run_tool_check_returns_none_on_error |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_applied.py |
test_run_tool_check_returns_none_for_missing_tool |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_applied.py |
(no function) |
|
35 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_core.py |
_make_suggestion |
|
1 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_core.py |
test_render_validation_terminal_renders_verified |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_core.py |
test_render_validation_terminal_renders_unverified_with_details |
|
6 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_core.py |
test_render_validation_terminal_empty_result_returns_empty |
|
3 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_core.py |
test_validate_suggestions_verified_when_no_remaining_issues |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_core.py |
test_validate_suggestions_unverified_when_issue_remains |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_core.py |
test_validate_suggestions_skips_tool_without_fresh_issues |
|
4 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_core.py |
test_verify_fixes_returns_none_for_empty_suggestions |
|
2 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_core.py |
test_verify_fixes_runs_tools_once_and_validates |
|
13 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_core.py |
test_verify_fixes_updates_tool_results_and_validates |
|
16 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_core.py |
test_verify_fixes_handles_no_rerun_results |
|
8 |
0 |
0 |
|
100% |
| tests / unit / ai / test_validation_core.py |
(no function) |
|
25 |
0 |
0 |
|
100% |
| tests / unit / cli / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / cli / conftest.py |
isolated_cli_runner |
|
1 |
1 |
0 |
|
0% |
| tests / unit / cli / conftest.py |
mock_run_lint_tools_simple |
|
4 |
4 |
0 |
|
0% |
| tests / unit / cli / conftest.py |
mock_run_lint_tools_check |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli / conftest.py |
mock_run_lint_tools_format |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli / conftest.py |
mock_tool_registry |
|
5 |
5 |
0 |
|
0% |
| tests / unit / cli / conftest.py |
mock_subprocess_success |
|
3 |
3 |
0 |
|
0% |
| tests / unit / cli / conftest.py |
(no function) |
|
19 |
0 |
2 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_command_help |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_command_default_paths |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_command_with_paths |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_command_exit_code_zero_on_success |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_command_exit_code_nonzero_on_issues |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_command_tools_option |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_command_exclude_option |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_command_include_venv_flag |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_command_output_format_option |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_command_output_format_valid_choices |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_command_group_by_option |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_command_group_by_valid_choices |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_command_verbose_flag |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_command_raw_output_flag |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_command_tool_options |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_command_output_file |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_function_calls_command |
|
8 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
test_check_function_exits_on_failure |
|
9 |
0 |
0 |
|
100% |
| tests / unit / cli / test_check_command.py |
(no function) |
|
27 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_cli_version_option |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_cli_help_option |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_cli_no_command_shows_help |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_cli_invalid_command |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_main_entry_point |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_lintro_group_format_help_includes_commands |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_lintro_group_format_help_includes_aliases |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_lintro_group_format_commands_empty |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_cli_has_check_command |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_cli_has_format_command |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_cli_has_test_command |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_cli_has_config_command |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_cli_has_versions_command |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_cli_has_list_tools_command |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_cli_has_init_command |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_cli_alias_resolves_to_command |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_lintro_group_invoke_normalizes_comma_separated_commands |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_lintro_group_invoke_single_command |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_lintro_group_invoke_handles_keyboard_interrupt |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
test_lintro_group_invoke_aggregates_exit_codes |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli.py |
(no function) |
|
29 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_commands.py |
test_cli_lists_commands_and_aliases |
|
9 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_commands.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_commands_more.py |
test_check_invokes_executor |
|
8 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_commands_more.py |
test_check_invokes_executor.fake_run |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_commands_more.py |
test_format_invokes_executor |
|
8 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_commands_more.py |
test_format_invokes_executor.fake_run |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_commands_more.py |
test_list_tools_outputs |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_commands_more.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_format_commands_displays_canonical_names |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_format_commands_with_aliases |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_check_command_help_displays |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_format_command_help_displays |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_test_command_help_displays |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_list_tools_command_help_displays |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_invoke_single_command_execution |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_invoke_with_comma_separated_commands |
|
10 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_invoke_aggregates_exit_codes_success |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_invoke_with_version_flag |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_invoke_with_help_flag |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_invoke_without_command_shows_help |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_invoke_with_invalid_command |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_invoke_command_not_found |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_chaining_ignores_empty_command_groups |
|
8 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_chaining_with_flags |
|
10 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_invoke_with_realistic_comma_separated_inputs |
|
8 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_invoke_with_chk_tst_input |
|
8 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_invoke_handles_system_exit |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_invoke_preserves_max_exit_code |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
test_invoke_with_exception_in_command |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_lintro_group.py |
(no function) |
|
25 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_programmatic.py |
test_check_programmatic_success |
|
9 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_programmatic.py |
test_check_programmatic_failure_raises |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_programmatic.py |
test_format_programmatic_success |
|
9 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_programmatic.py |
test_format_programmatic_failure_raises |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli / test_cli_programmatic.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_help |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_default_paths |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_with_paths |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_exit_code_zero_on_success |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_exit_code_nonzero_on_error |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_tools_option |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_exclude_option |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_include_venv_flag |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_output_format_option |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_output_format_valid_choices |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_group_by_option |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_group_by_valid_choices |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_verbose_flag |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_verbose_short_flag |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_raw_output_flag |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_tool_options |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_uses_fmt_action |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_code_function_calls_command |
|
8 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_code_function_raises_on_failure |
|
10 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_code_function_default_parameters |
|
11 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_code_function_with_all_options |
|
16 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_invalid_output_format |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_invalid_group_by |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
test_format_command_multiple_paths |
|
8 |
0 |
0 |
|
100% |
| tests / unit / cli / test_format_command.py |
(no function) |
|
33 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / conftest.py |
mock_group |
|
11 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / conftest.py |
mock_group.cli |
|
1 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / conftest.py |
mock_group.fmt_cmd |
|
1 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / conftest.py |
mock_group.chk_cmd |
|
1 |
1 |
0 |
|
0% |
| tests / unit / cli_utils / command_chainer / conftest.py |
mock_group.tst_cmd |
|
1 |
1 |
0 |
|
0% |
| tests / unit / cli_utils / command_chainer / conftest.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_execute.py |
test_execute_chain_all_success |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_execute.py |
test_execute_chain_returns_max_exit_code |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_execute.py |
test_execute_chain_empty_groups |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_execute.py |
test_execute_chain_skips_empty_groups |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_execute.py |
test_execute_single_command_success |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_execute.py |
test_execute_single_command_handles_system_exit |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_execute.py |
test_execute_single_command_handles_system_exit_none |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_execute.py |
test_execute_single_command_reraises_keyboard_interrupt |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_execute.py |
test_execute_single_command_handles_exception |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_execute.py |
test_execute_single_command_uses_exit_code_attribute |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_execute.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_group_commands.py |
test_group_single_command |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_group_commands.py |
test_group_two_commands |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_group_commands.py |
test_group_three_commands |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_group_commands.py |
test_group_empty_args |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_group_commands.py |
test_group_ignores_empty_groups |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_group_commands.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_init.py |
test_init_with_default_separator |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_init.py |
test_init_with_custom_separator |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_init.py |
test_command_names_lazy_loading |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_init.py |
test_command_names_cached |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_init.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_integration.py |
test_full_workflow_parse_and_group |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_integration.py |
test_full_workflow_joined_commands |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_integration.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_normalize_args.py |
test_normalize_already_separated |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_normalize_args.py |
test_normalize_joined_commands |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_normalize_args.py |
test_normalize_preserves_arguments |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_normalize_args.py |
test_normalize_preserves_comma_in_option_value |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_normalize_args.py |
test_normalize_multiple_commands |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_normalize_args.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_should_chain.py |
test_should_chain_with_comma_separator |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_should_chain.py |
test_should_chain_with_joined_commands |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_should_chain.py |
test_should_not_chain_single_command |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_should_chain.py |
test_should_not_chain_comma_in_argument |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_should_chain.py |
test_should_not_chain_empty_args |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / command_chainer / test_should_chain.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
_make_tool |
|
1 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
_make_context |
|
4 |
1 |
0 |
|
75% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_compare_versions |
|
1 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_check_tool_ok |
|
8 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_check_tool_outdated |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_check_tool_missing_not_in_path |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_check_tool_missing_command_failed |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_check_tool_missing_timeout |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_check_tool_missing_os_error |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_check_tool_unknown_no_version |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_check_tool_no_version_command |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_check_tool_upgrade_hint_populated |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_output_json_produces_valid_json |
|
10 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_output_json_includes_unknown_in_issues |
|
10 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_markdown_report_contains_headers |
|
14 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
_patch_doctor_deps |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_doctor_all_ok_exit_0 |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_doctor_missing_tool_exit_1 |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_doctor_json_output_valid |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_doctor_fix_incompatible_with_json |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_doctor_tools_filter_known_tool |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
test_doctor_unknown_tool_name_exit_1 |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_doctor_command.py |
(no function) |
|
37 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_format.py |
test_default_paths_is_current_dir |
|
1 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_format.py |
test_default_exit_code_is_zero |
|
1 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_format.py |
test_default_action_is_fmt |
|
1 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_format.py |
test_format_command_defaults_to_current_dir |
|
8 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_format.py |
test_format_command_with_paths |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_format.py |
test_format_command_with_tools_option |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_format.py |
test_format_command_with_exclude |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_format.py |
test_format_command_with_include_venv |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_format.py |
test_format_command_with_verbose |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_format.py |
test_format_command_with_output_format |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_format.py |
test_format_command_returns_tool_exit_code |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_format.py |
test_format_code_invokes_command |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_format.py |
test_format_code_raises_on_failure |
|
8 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_format.py |
test_format_code_passes_options |
|
14 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_format.py |
(no function) |
|
32 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_install_command.py |
_make_tool |
|
1 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_install_command.py |
_mock_registry |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_install_command.py |
_patches |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_install_command.py |
test_install_all_already_installed |
|
8 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_install_command.py |
test_install_specific_tools |
|
10 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_install_command.py |
test_install_dry_run |
|
10 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_install_command.py |
test_install_conflicting_selectors |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_install_command.py |
test_install_unknown_tool_name |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_install_command.py |
test_install_unknown_profile |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_install_command.py |
test_install_all_flag |
|
8 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_install_command.py |
test_install_failure_exit_1 |
|
9 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_install_command.py |
test_detect_languages_returns_list |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_install_command.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_detect_python |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_detect_javascript |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_detect_typescript_via_tsconfig |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_detect_rust |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_detect_shell |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_detect_docker |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_detect_github_actions |
|
4 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_detect_multiple_languages |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_detect_empty_project |
|
3 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_detect_uv_manager |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_detect_pip_manager_no_uv |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_detect_bun_manager |
|
5 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_generate_config_structure |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_generate_config_python_line_length |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_generate_config_no_python |
|
2 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
_patch_setup_deps |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_setup_dry_run |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_setup_profile_yes |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_setup_invalid_profile |
|
7 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
test_setup_skip_install |
|
6 |
0 |
0 |
|
100% |
| tests / unit / cli_utils / commands / test_setup_command.py |
(no function) |
|
29 |
0 |
0 |
|
100% |
| tests / unit / compatibility / conftest.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / compatibility / test_compatibility_ruff_black.py |
FakeTool.__init__ |
|
3 |
0 |
0 |
|
100% |
| tests / unit / compatibility / test_compatibility_ruff_black.py |
FakeTool.definition |
|
1 |
0 |
0 |
|
100% |
| tests / unit / compatibility / test_compatibility_ruff_black.py |
FakeTool.can_fix |
|
1 |
1 |
0 |
|
0% |
| tests / unit / compatibility / test_compatibility_ruff_black.py |
FakeTool.set_options |
|
1 |
0 |
0 |
|
100% |
| tests / unit / compatibility / test_compatibility_ruff_black.py |
FakeTool.reset_options |
|
1 |
0 |
0 |
|
100% |
| tests / unit / compatibility / test_compatibility_ruff_black.py |
FakeTool.check |
|
1 |
0 |
0 |
|
100% |
| tests / unit / compatibility / test_compatibility_ruff_black.py |
FakeTool.fix |
|
1 |
0 |
0 |
|
100% |
| tests / unit / compatibility / test_compatibility_ruff_black.py |
_stub_logger |
|
4 |
0 |
0 |
|
100% |
| tests / unit / compatibility / test_compatibility_ruff_black.py |
_stub_logger.SilentLogger.__getattr__ |
|
2 |
0 |
0 |
|
100% |
| tests / unit / compatibility / test_compatibility_ruff_black.py |
_stub_logger.SilentLogger.__getattr__._ |
|
1 |
0 |
0 |
|
100% |
| tests / unit / compatibility / test_compatibility_ruff_black.py |
_setup_tools |
|
10 |
0 |
0 |
|
100% |
| tests / unit / compatibility / test_compatibility_ruff_black.py |
_setup_tools.fake_get_tools |
|
1 |
0 |
0 |
|
100% |
| tests / unit / compatibility / test_compatibility_ruff_black.py |
_setup_tools.noop_write_reports_from_results |
|
1 |
0 |
0 |
|
100% |
| tests / unit / compatibility / test_compatibility_ruff_black.py |
test_ruff_formatting_disabled_when_black_present |
|
5 |
0 |
0 |
|
100% |
| tests / unit / compatibility / test_compatibility_ruff_black.py |
test_ruff_formatting_respects_cli_override |
|
6 |
0 |
0 |
|
100% |
| tests / unit / compatibility / test_compatibility_ruff_black.py |
test_ruff_format_check_disabled_in_check_when_black_present |
|
5 |
0 |
0 |
|
100% |
| tests / unit / compatibility / test_compatibility_ruff_black.py |
(no function) |
|
34 |
0 |
2 |
|
100% |
| tests / unit / config / conftest.py |
temp_config_dir |
|
5 |
5 |
0 |
|
0% |
| tests / unit / config / conftest.py |
mock_config_loader |
|
3 |
3 |
0 |
|
0% |
| tests / unit / config / conftest.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_compatibility.py |
test_get_central_line_length_delegates_to_unified_config |
|
5 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_compatibility.py |
test_validate_line_length_consistency_delegates_to_unified_config |
|
7 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_compatibility.py |
test_validate_line_length_consistency_returns_empty_list_when_valid |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_compatibility.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_cwd_cache.py |
test_load_pyproject_returns_different_data_per_cwd |
|
14 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_cwd_cache.py |
test_load_pyproject_cwd_aware_without_cache_clear |
|
13 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_cwd_cache.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loader.py |
test_load_lintro_tool_config |
|
11 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loader.py |
test_config_loader_handles_missing_and_malformed_pyproject |
|
8 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loader.py |
test_load_pyproject_toml_parse_error_logs_warning |
|
12 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loader.py |
test_load_pyproject_os_error_logs_debug |
|
11 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loader.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loader_more.py |
test_load_post_checks_config_present |
|
8 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loader_more.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loaders.py |
reset_pyproject_cache |
|
1 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loaders.py |
mock_empty_pyproject |
|
1 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loaders.py |
mock_lintro_section |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loaders.py |
mock_lintro_section._create_mock |
|
1 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loaders.py |
test_load_pyproject_config_is_alias_for_load_pyproject |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loaders.py |
test_get_lintro_section_handles_various_inputs |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loaders.py |
test_load_lintro_global_config_filters_tool_sections |
|
6 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loaders.py |
test_load_lintro_global_config_returns_empty_when_no_globals |
|
3 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loaders.py |
test_load_lintro_tool_config_handles_various_inputs |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loaders.py |
test_get_tool_order_config_returns_defaults_when_not_configured |
|
7 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loaders.py |
test_get_tool_order_config_returns_custom_values_when_configured |
|
8 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loaders.py |
test_load_post_checks_config_handles_various_inputs |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loaders.py |
test_load_tool_config_from_pyproject_handles_various_inputs |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_loaders.py |
(no function) |
|
25 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_tool_specific.py |
mock_load_tool_config |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_tool_specific.py |
mock_load_tool_config._create_mock |
|
1 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_tool_specific.py |
test_load_ruff_config_flattens_lint_section |
|
8 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_tool_specific.py |
test_load_ruff_config_handles_non_dict_lint_section |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_tool_specific.py |
test_load_ruff_config_handles_empty_config |
|
3 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_tool_specific.py |
test_tool_config_loaders_return_correct_config |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_tool_specific.py |
test_load_mypy_config_from_pyproject |
|
6 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_tool_specific.py |
test_load_mypy_config_from_mypy_ini |
|
5 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_tool_specific.py |
test_load_mypy_config_from_dot_mypy_ini |
|
5 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_tool_specific.py |
test_load_mypy_config_returns_empty_when_no_config_file |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_tool_specific.py |
test_load_mypy_config_defaults_to_cwd_when_no_base_dir |
|
6 |
0 |
0 |
|
100% |
| tests / unit / config / test_config_tool_specific.py |
(no function) |
|
19 |
0 |
0 |
|
100% |
| tests / unit / config / test_enforce_config.py |
test_enforce_config_default_line_length |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_enforce_config.py |
test_enforce_config_default_target_python |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_enforce_config.py |
test_enforce_config_set_line_length |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_enforce_config.py |
test_enforce_config_set_target_python |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_enforce_config.py |
test_enforce_config_full_init |
|
3 |
0 |
0 |
|
100% |
| tests / unit / config / test_enforce_config.py |
test_enforce_config_line_length_minimum |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_enforce_config.py |
test_enforce_config_line_length_maximum |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_enforce_config.py |
test_enforce_config_line_length_boundary_min |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_enforce_config.py |
test_enforce_config_line_length_boundary_max |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_enforce_config.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
test_execution_config_default_enabled_tools |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
test_execution_config_default_tool_order |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
test_execution_config_default_fail_fast |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
test_execution_config_default_parallel |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
test_execution_config_max_workers_uses_cpu_count |
|
3 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
test_execution_config_set_enabled_tools |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
test_execution_config_tool_order_alphabetical |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
test_execution_config_tool_order_custom_list |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
test_execution_config_set_fail_fast |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
test_execution_config_set_parallel_false |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
test_execution_config_set_max_workers |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
test_execution_config_max_workers_minimum |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
test_execution_config_max_workers_maximum |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
test_get_default_max_workers_returns_cpu_count |
|
3 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
test_get_default_max_workers_handles_none_cpu_count |
|
3 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
test_get_default_max_workers_clamps_high_count |
|
3 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
test_get_default_max_workers_fallback_on_zero |
|
3 |
0 |
0 |
|
100% |
| tests / unit / config / test_execution_config.py |
(no function) |
|
23 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_lintro_config_default_execution |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_lintro_config_default_enforce |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_lintro_config_default_defaults |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_lintro_config_default_tools |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_lintro_config_default_config_path |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_lintro_config_set_config_path |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_get_tool_config_returns_configured_tool |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_get_tool_config_returns_default_for_missing |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_get_tool_config_case_insensitive |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_is_tool_enabled_default_true |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_is_tool_enabled_respects_tool_config |
|
3 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_is_tool_enabled_respects_enabled_tools_filter |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_is_tool_enabled_empty_enabled_tools_allows_all |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_is_tool_enabled_case_insensitive |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_get_tool_defaults_returns_configured_defaults |
|
3 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_get_tool_defaults_returns_empty_for_missing |
|
3 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_get_tool_defaults_case_insensitive |
|
3 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_get_effective_line_length_returns_enforced |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_get_effective_line_length_returns_none_when_not_set |
|
3 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_get_effective_target_python_returns_enforced |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
test_get_effective_target_python_returns_none_when_not_set |
|
3 |
0 |
0 |
|
100% |
| tests / unit / config / test_lintro_config.py |
(no function) |
|
27 |
0 |
0 |
|
100% |
| tests / unit / config / test_unified_config.py |
test_tool_order_strategy_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / config / test_unified_config.py |
test_default_values |
|
7 |
0 |
0 |
|
100% |
| tests / unit / config / test_unified_config.py |
test_line_length_setting_exists |
|
1 |
0 |
0 |
|
100% |
| tests / unit / config / test_unified_config.py |
test_line_length_has_tools |
|
6 |
0 |
0 |
|
100% |
| tests / unit / config / test_unified_config.py |
test_line_length_has_injectable_tools |
|
6 |
0 |
0 |
|
100% |
| tests / unit / config / test_unified_config.py |
test_formatters_have_lower_priority_than_linters |
|
2 |
0 |
0 |
|
100% |
| tests / unit / config / test_unified_config.py |
test_pytest_runs_last |
|
4 |
0 |
0 |
|
100% |
| tests / unit / config / test_unified_config.py |
test_tool_is_injectable |
|
1 |
0 |
0 |
|
100% |
| tests / unit / config / test_unified_config.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| tests / unit / conftest.py |
FakeLogger.__init__ |
|
2 |
0 |
0 |
|
100% |
| tests / unit / conftest.py |
FakeLogger._rec |
|
1 |
0 |
0 |
|
100% |
| tests / unit / conftest.py |
FakeLogger.info |
|
1 |
1 |
0 |
|
0% |
| tests / unit / conftest.py |
FakeLogger.debug |
|
1 |
1 |
0 |
|
0% |
| tests / unit / conftest.py |
FakeLogger.warning |
|
1 |
1 |
0 |
|
0% |
| tests / unit / conftest.py |
FakeLogger.error |
|
1 |
1 |
0 |
|
0% |
| tests / unit / conftest.py |
FakeLogger.success |
|
1 |
1 |
0 |
|
0% |
| tests / unit / conftest.py |
FakeLogger.console_output |
|
1 |
0 |
0 |
|
100% |
| tests / unit / conftest.py |
FakeLogger.print_lintro_header |
|
1 |
0 |
0 |
|
100% |
| tests / unit / conftest.py |
FakeLogger.print_verbose_info |
|
1 |
1 |
0 |
|
0% |
| tests / unit / conftest.py |
FakeLogger.print_tool_header |
|
1 |
0 |
0 |
|
100% |
| tests / unit / conftest.py |
FakeLogger.print_tool_result |
|
1 |
1 |
0 |
|
0% |
| tests / unit / conftest.py |
FakeLogger.print_execution_summary |
|
1 |
0 |
0 |
|
100% |
| tests / unit / conftest.py |
FakeLogger.print_post_checks_header |
|
1 |
0 |
0 |
|
100% |
| tests / unit / conftest.py |
FakeLogger.save_console_log |
|
1 |
1 |
0 |
|
0% |
| tests / unit / conftest.py |
fake_logger |
|
1 |
0 |
0 |
|
100% |
| tests / unit / conftest.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| tests / unit / core / conftest.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_parse_version |
|
1 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_parse_version_invalid |
|
2 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_compare_versions |
|
1 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_extract_version_from_output |
|
1 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_get_minimum_versions_from_tool_versions |
|
7 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_get_min_version_returns_version_for_registered_tools |
|
3 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_get_min_version_raises_keyerror_for_unknown_tool |
|
2 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_get_tool_version_supports_companion_packages |
|
5 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_tool_versions_uses_toolname_enum_keys |
|
2 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_all_external_tools_registered_in_tool_versions |
|
14 |
3 |
0 |
|
79% |
| tests / unit / core / test_version_requirements.py |
test_get_tool_version_returns_version_for_toolname_enum |
|
3 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_get_tool_version_typescript_alias_resolves_to_tsc |
|
4 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_get_tool_version_returns_none_for_unknown_tool |
|
2 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_get_install_hints |
|
5 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_version_caching |
|
6 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_check_tool_version_success |
|
8 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_check_tool_version_hyphenated_alias_uses_requirements |
|
8 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_check_tool_version_failure |
|
8 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_check_tool_version_command_failure |
|
7 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_tool_version_info_creation |
|
4 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
test_get_all_tool_versions |
|
9 |
0 |
0 |
|
100% |
| tests / unit / core / test_version_requirements.py |
(no function) |
|
42 |
0 |
2 |
|
100% |
| tests / unit / enums / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / enums / test_bandit_levels.py |
test_severity_level_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_bandit_levels.py |
test_confidence_level_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_bandit_levels.py |
test_normalize_severity_from_string |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_bandit_levels.py |
test_normalize_severity_case_insensitive |
|
2 |
0 |
0 |
|
100% |
| tests / unit / enums / test_bandit_levels.py |
test_normalize_severity_passthrough |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_bandit_levels.py |
test_normalize_severity_invalid_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / enums / test_bandit_levels.py |
test_normalize_confidence_from_string |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_bandit_levels.py |
test_normalize_confidence_case_insensitive |
|
2 |
0 |
0 |
|
100% |
| tests / unit / enums / test_bandit_levels.py |
test_normalize_confidence_passthrough |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_bandit_levels.py |
test_normalize_confidence_invalid_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / enums / test_bandit_levels.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| tests / unit / enums / test_base.py |
test_upper_case_str_enum_single_word |
|
7 |
0 |
0 |
|
100% |
| tests / unit / enums / test_base.py |
test_upper_case_str_enum_with_underscores |
|
5 |
0 |
0 |
|
100% |
| tests / unit / enums / test_base.py |
test_hyphenated_str_enum_single_word |
|
7 |
0 |
0 |
|
100% |
| tests / unit / enums / test_base.py |
test_hyphenated_str_enum_with_underscores |
|
7 |
0 |
0 |
|
100% |
| tests / unit / enums / test_base.py |
test_hyphenated_str_enum_multiple_underscores |
|
5 |
0 |
0 |
|
100% |
| tests / unit / enums / test_base.py |
test_git_ref_enum_uses_upper_case |
|
2 |
0 |
0 |
|
100% |
| tests / unit / enums / test_base.py |
test_git_command_enum_uses_hyphenated |
|
4 |
0 |
0 |
|
100% |
| tests / unit / enums / test_base.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / unit / enums / test_enum_normalizers.py |
test_normalizer_with_enum_instance |
|
2 |
0 |
0 |
|
100% |
| tests / unit / enums / test_enum_normalizers.py |
test_normalizer_with_lowercase_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / enums / test_enum_normalizers.py |
test_normalizer_with_uppercase_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / enums / test_enum_normalizers.py |
test_normalizer_with_invalid_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / enums / test_enum_normalizers.py |
test_normalize_tool_type_with_combined_enum |
|
3 |
0 |
0 |
|
100% |
| tests / unit / enums / test_enum_normalizers.py |
test_normalize_tool_type_with_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / enums / test_enum_normalizers.py |
(no function) |
|
21 |
0 |
0 |
|
100% |
| tests / unit / enums / test_output_format.py |
test_output_format_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_output_format.py |
test_output_format_is_str_enum |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_output_format.py |
test_normalize_output_format_from_string |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_output_format.py |
test_normalize_output_format_case_insensitive |
|
2 |
0 |
0 |
|
100% |
| tests / unit / enums / test_output_format.py |
test_normalize_output_format_passthrough |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_output_format.py |
test_normalize_output_format_invalid_defaults_to_grid |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_output_format.py |
test_normalize_output_format_none_defaults_to_grid |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_output_format.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / unit / enums / test_severity_level.py |
test_normalize_maps_alias_to_expected_level |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_severity_level.py |
test_normalize_is_case_insensitive |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_severity_level.py |
test_normalize_passes_through_enum_instance |
|
2 |
0 |
0 |
|
100% |
| tests / unit / enums / test_severity_level.py |
test_normalize_raises_for_unknown_value |
|
2 |
0 |
0 |
|
100% |
| tests / unit / enums / test_severity_level.py |
test_alias_table_covers_all_enum_members |
|
2 |
0 |
0 |
|
100% |
| tests / unit / enums / test_severity_level.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / enums / test_tool_name.py |
test_tool_name_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_tool_name.py |
test_tool_name_is_str_enum |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_tool_name.py |
test_tool_name_string_comparison |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_tool_name.py |
test_normalize_tool_name_from_string |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_tool_name.py |
test_normalize_tool_name_case_insensitive |
|
2 |
0 |
0 |
|
100% |
| tests / unit / enums / test_tool_name.py |
test_normalize_tool_name_hyphenated |
|
2 |
0 |
0 |
|
100% |
| tests / unit / enums / test_tool_name.py |
test_normalize_tool_name_passthrough |
|
1 |
0 |
0 |
|
100% |
| tests / unit / enums / test_tool_name.py |
test_normalize_tool_name_invalid_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / enums / test_tool_name.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / exceptions / conftest.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / exceptions / test_exceptions.py |
test_exception_inheritance_and_message |
|
4 |
0 |
0 |
|
100% |
| tests / unit / exceptions / test_exceptions.py |
test_exception_can_be_raised_and_caught |
|
3 |
0 |
0 |
|
100% |
| tests / unit / exceptions / test_exceptions.py |
test_subclass_caught_by_base_exception |
|
2 |
0 |
0 |
|
100% |
| tests / unit / exceptions / test_exceptions.py |
test_exception_args_preserved |
|
2 |
0 |
0 |
|
100% |
| tests / unit / exceptions / test_exceptions.py |
test_exception_chaining |
|
9 |
0 |
0 |
|
100% |
| tests / unit / exceptions / test_exceptions.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / unit / formatters / __init__.py |
(no function) |
|
1 |
0 |
0 |
|
100% |
| tests / unit / formatters / conftest.py |
sample_tool_result |
|
1 |
1 |
0 |
|
0% |
| tests / unit / formatters / conftest.py |
sample_tool_results |
|
3 |
3 |
0 |
|
0% |
| tests / unit / formatters / conftest.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / __init__.py |
(no function) |
|
1 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / conftest.py |
plain_style |
|
1 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / conftest.py |
grid_style |
|
1 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / conftest.py |
json_style |
|
1 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / conftest.py |
html_style |
|
1 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / conftest.py |
markdown_style |
|
1 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / conftest.py |
csv_style |
|
1 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / conftest.py |
github_style |
|
1 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / conftest.py |
(no function) |
|
27 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_csv.py |
test_csv_style_empty_rows |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_csv.py |
test_csv_style_single_row |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_csv.py |
test_csv_style_multiple_rows |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_csv.py |
test_csv_style_pads_short_rows |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_csv.py |
test_csv_style_escapes_special_characters |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_csv.py |
test_csv_style_ignores_tool_name |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_csv.py |
test_csv_style_ignores_kwargs |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_csv.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_html.py |
test_html_style_empty_rows |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_html.py |
test_html_style_single_row |
|
5 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_html.py |
test_html_style_multiple_rows |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_html.py |
test_html_style_escapes_html_characters |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_html.py |
test_html_style_escapes_ampersand |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_html.py |
test_html_style_pads_short_rows |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_html.py |
test_html_style_ignores_tool_name |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_html.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_json.py |
test_json_style_basic_format |
|
6 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_json.py |
test_json_style_includes_tool_name |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_json.py |
test_json_style_normalizes_column_names |
|
5 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_json.py |
test_json_style_counts_issues |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_json.py |
test_json_style_empty_rows |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_json.py |
test_json_style_includes_metadata |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_json.py |
test_json_style_extra_kwargs_as_metadata |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_json.py |
test_json_style_has_timestamp |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_json.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_markdown.py |
test_markdown_style_empty_rows |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_markdown.py |
test_markdown_style_single_row |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_markdown.py |
test_markdown_style_multiple_rows |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_markdown.py |
test_markdown_style_escapes_pipe_character |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_markdown.py |
test_markdown_style_pads_short_rows |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_markdown.py |
test_markdown_style_ignores_tool_name |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_markdown.py |
test_markdown_style_separator_matches_columns |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_markdown.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_plain.py |
test_plain_style_empty_rows |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_plain.py |
test_plain_style_single_row |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_plain.py |
test_plain_style_multiple_rows |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_plain.py |
test_plain_style_has_separator_line |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_plain.py |
test_plain_style_separator_matches_header_length |
|
5 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_plain.py |
test_plain_style_pads_short_rows |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_plain.py |
test_plain_style_ignores_tool_name |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_plain.py |
test_plain_style_converts_values_to_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_plain.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_common.py |
test_empty_rows_returns_expected_output |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_common.py |
(no function) |
|
13 |
0 |
2 |
|
100% |
| tests / unit / formatters / styles / test_style_csv.py |
test_csv_style_single_row_produces_valid_csv |
|
5 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_csv.py |
test_csv_style_multiple_rows_produces_correct_line_count |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_csv.py |
test_csv_style_quotes_values_with_commas |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_csv.py |
test_csv_style_row_shorter_than_columns |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_csv.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_github.py |
test_github_style_single_error_annotation |
|
9 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_github.py |
test_github_style_warning_severity |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_github.py |
test_github_style_info_severity_maps_to_notice |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_github.py |
test_github_style_alias_severity |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_github.py |
test_github_style_missing_severity_defaults_to_warning |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_github.py |
test_github_style_escapes_special_characters |
|
6 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_github.py |
test_github_style_empty_rows_returns_empty_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_github.py |
test_github_style_multiple_rows |
|
7 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_github.py |
test_github_style_no_tool_name |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_github.py |
test_github_style_dash_line_column_omitted |
|
5 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_github.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_grid.py |
test_grid_style_single_row_contains_header_and_data |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_grid.py |
test_grid_style_multiple_rows_contains_all_files |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_grid.py |
test_grid_style_column_alignment_produces_output |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_grid.py |
test_grid_style_empty_columns_handles_gracefully |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_grid.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_html.py |
test_html_style_single_row_produces_valid_table |
|
5 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_html.py |
test_html_style_multiple_rows_produces_correct_row_count |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_html.py |
test_html_style_escapes_script_tags |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_html.py |
test_html_style_escapes_ampersand |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_html.py |
test_html_style_row_shorter_than_columns |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_html.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_json.py |
test_json_style_empty_rows_produces_valid_json |
|
5 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_json.py |
test_json_style_single_row_produces_correct_structure |
|
8 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_json.py |
test_json_style_multiple_rows_counts_correctly |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_json.py |
test_json_style_column_name_normalization |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_json.py |
test_json_style_with_metadata |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_json.py |
test_json_style_with_extra_kwargs_in_metadata |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_json.py |
test_json_style_has_timestamp |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_json.py |
test_json_style_row_shorter_than_columns |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_json.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_markdown.py |
test_markdown_style_single_row_produces_valid_table |
|
6 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_markdown.py |
test_markdown_style_multiple_rows_produces_correct_line_count |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_markdown.py |
test_markdown_style_escapes_pipe_characters |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_markdown.py |
test_markdown_style_row_shorter_than_columns |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_markdown.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_plain.py |
test_plain_style_single_row_contains_all_data |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_plain.py |
test_plain_style_multiple_rows_contains_all_files |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_plain.py |
test_plain_style_row_shorter_than_columns |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_plain.py |
test_plain_style_has_separator_line |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / styles / test_style_plain.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_standard_columns_has_expected_fields |
|
1 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_with_ruff_issue_contains_standard_columns |
|
9 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_with_ruff_issue_contains_issue_data |
|
7 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_shows_fixable_status |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_shows_non_fixable_status |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_shows_severity |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_with_black_issue_contains_standard_columns |
|
11 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_with_ruff_format_issue_contains_standard_columns |
|
12 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_with_bandit_issue_uses_display_field_map |
|
5 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_with_bandit_issue_shows_severity |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_with_sections_groups_by_fixable |
|
6 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_with_sections_only_fixable |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_with_sections_only_non_fixable |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_with_sections_without_grouping |
|
6 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_all_tool_issues_produce_tables_with_standard_columns |
|
8 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_with_empty_list_returns_no_issues_message |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_with_sections_empty_list_returns_no_issues_message |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_shows_docs_column_when_doc_url_present |
|
4 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_hides_docs_column_when_no_doc_url |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
test_format_issues_docs_column_respects_explicit_columns |
|
6 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_issues.py |
(no function) |
|
31 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_registry.py |
test_get_style_with_enum |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_registry.py |
test_get_style_with_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_registry.py |
test_get_style_string_case_insensitive |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_registry.py |
test_get_style_unknown_format_falls_back_to_grid |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_registry.py |
test_get_style_caches_instances |
|
3 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_registry.py |
test_get_format_map_returns_all_formats |
|
8 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_registry.py |
test_get_format_map_values_are_correct_styles |
|
8 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_registry.py |
test_get_format_map_length |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_registry.py |
test_get_string_format_map_returns_string_keys |
|
8 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_registry.py |
test_get_string_format_map_values_are_correct_styles |
|
8 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_registry.py |
test_get_string_format_map_length |
|
2 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_registry.py |
test_default_format_is_grid |
|
1 |
0 |
0 |
|
100% |
| tests / unit / formatters / test_format_registry.py |
(no function) |
|
27 |
0 |
0 |
|
100% |
| tests / unit / logging / conftest.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / logging / test_console_logger.py |
test_create_logger_and_basic_methods |
|
23 |
0 |
0 |
|
100% |
| tests / unit / logging / test_console_logger.py |
test_create_logger_and_basic_methods.Result.__init__ |
|
4 |
0 |
0 |
|
100% |
| tests / unit / logging / test_console_logger.py |
test_create_logger_and_basic_methods.FmtResult.__init__ |
|
5 |
0 |
0 |
|
100% |
| tests / unit / logging / test_console_logger.py |
test_summary_marks_fail_on_tool_failure |
|
7 |
0 |
0 |
|
100% |
| tests / unit / logging / test_console_logger.py |
test_summary_marks_fail_on_tool_failure.Result.__init__ |
|
4 |
0 |
0 |
|
100% |
| tests / unit / logging / test_console_logger.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / unit / logging / test_console_logger_more.py |
test_get_tool_emoji_default |
|
3 |
0 |
0 |
|
100% |
| tests / unit / logging / test_console_logger_more.py |
test_console_logger_parsing_messages |
|
5 |
0 |
0 |
|
100% |
| tests / unit / logging / test_console_logger_more.py |
test_get_tool_emoji_pytest |
|
3 |
0 |
0 |
|
100% |
| tests / unit / logging / test_console_logger_more.py |
test_console_logger_pytest_result_no_issues |
|
4 |
0 |
0 |
|
100% |
| tests / unit / logging / test_console_logger_more.py |
test_console_logger_pytest_result_with_failures |
|
4 |
0 |
0 |
|
100% |
| tests / unit / logging / test_console_logger_more.py |
test_console_logger_pytest_success_message |
|
4 |
0 |
0 |
|
100% |
| tests / unit / logging / test_console_logger_more.py |
test_console_logger_print_tool_header_pytest |
|
5 |
0 |
0 |
|
100% |
| tests / unit / logging / test_console_logger_more.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / output / conftest.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / output / test_output_manager_reports.py |
DummyIssue.__init__ |
|
4 |
0 |
0 |
|
100% |
| tests / unit / output / test_output_manager_reports.py |
DummyResult.__init__ |
|
3 |
0 |
0 |
|
100% |
| tests / unit / output / test_output_manager_reports.py |
test_output_manager_writes_reports |
|
8 |
0 |
0 |
|
100% |
| tests / unit / output / test_output_manager_reports.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_continuation_lines.py |
test_collect_continuation_lines_with_indented_lines |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_continuation_lines.py |
test_collect_continuation_lines_with_colon_prefix |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_continuation_lines.py |
test_collect_continuation_lines_no_continuations |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_continuation_lines.py |
test_collect_continuation_lines_at_end |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_continuation_lines.py |
test_collect_continuation_lines_empty_continuation |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_continuation_lines.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_extract_fields.py |
test_extract_int_field_first_candidate_found |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_extract_fields.py |
test_extract_int_field_second_candidate_found |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_extract_fields.py |
test_extract_int_field_no_candidates_found |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_extract_fields.py |
test_extract_int_field_with_default |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_extract_fields.py |
test_extract_int_field_ignores_non_int_values |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_extract_fields.py |
test_extract_int_field_empty_candidates |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_extract_fields.py |
test_extract_str_field_first_candidate_found |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_extract_fields.py |
test_extract_str_field_second_candidate_found |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_extract_fields.py |
test_extract_str_field_no_candidates_found |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_extract_fields.py |
test_extract_str_field_with_default |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_extract_fields.py |
test_extract_str_field_ignores_non_str_values |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_extract_fields.py |
test_extract_dict_field_first_candidate_found |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_extract_fields.py |
test_extract_dict_field_second_candidate_found |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_extract_fields.py |
test_extract_dict_field_no_candidates_found |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_extract_fields.py |
test_extract_dict_field_with_default |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_extract_fields.py |
test_extract_dict_field_ignores_non_dict_values |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_extract_fields.py |
(no function) |
|
19 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_safe_parse.py |
test_safe_parse_items_success |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_safe_parse.py |
test_safe_parse_items_success.parse_func |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_safe_parse.py |
test_safe_parse_items_skips_non_dict |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_safe_parse.py |
test_safe_parse_items_skips_non_dict.parse_func |
|
1 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_safe_parse.py |
test_safe_parse_items_handles_parse_errors |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_safe_parse.py |
test_safe_parse_items_handles_parse_errors.parse_func |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_safe_parse.py |
test_safe_parse_items_skips_none_results |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_safe_parse.py |
test_safe_parse_items_skips_none_results.parse_func |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_safe_parse.py |
test_safe_parse_items_empty_list |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_safe_parse.py |
test_safe_parse_items_empty_list.parse_func |
|
1 |
1 |
0 |
|
0% |
| tests / unit / parsers / base_parser / test_safe_parse.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_strip_ansi.py |
test_strip_ansi_codes_with_color |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_strip_ansi.py |
test_strip_ansi_codes_plain_text |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_strip_ansi.py |
test_strip_ansi_codes_multiple_codes |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_strip_ansi.py |
test_strip_ansi_codes_empty_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_strip_ansi.py |
test_strip_ansi_codes_complex_sequences |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_strip_ansi.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_validate_fields.py |
test_validate_str_field_valid_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_validate_fields.py |
test_validate_str_field_non_string_returns_default |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_validate_fields.py |
test_validate_str_field_none_returns_default |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_validate_fields.py |
test_validate_str_field_logs_warning |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_validate_fields.py |
test_validate_str_field_no_warning_for_none |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_validate_fields.py |
test_validate_int_field_valid_int |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_validate_fields.py |
test_validate_int_field_non_int_returns_default |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_validate_fields.py |
test_validate_int_field_bool_returns_default |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_validate_fields.py |
test_validate_int_field_none_returns_default |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_validate_fields.py |
test_validate_int_field_logs_warning |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / base_parser / test_validate_fields.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| tests / unit / parsers / conftest.py |
mock_tool_output |
|
5 |
5 |
0 |
|
0% |
| tests / unit / parsers / conftest.py |
sample_ruff_json_output |
|
1 |
1 |
0 |
|
0% |
| tests / unit / parsers / conftest.py |
sample_pytest_json_output |
|
1 |
1 |
0 |
|
0% |
| tests / unit / parsers / conftest.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_edge_cases.py |
test_parse_gitleaks_empty_array |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_edge_cases.py |
test_parse_gitleaks_empty_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_edge_cases.py |
test_parse_gitleaks_none_input |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_edge_cases.py |
test_parse_gitleaks_whitespace_only |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_edge_cases.py |
test_parse_gitleaks_invalid_json |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_edge_cases.py |
test_parse_gitleaks_non_array_json |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_edge_cases.py |
test_parse_gitleaks_handles_malformed_finding_gracefully |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_edge_cases.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_field_parsing.py |
test_parse_gitleaks_git_history_fields |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_field_parsing.py |
test_gitleaks_entropy_parsing |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_field_parsing.py |
test_gitleaks_entropy_as_int |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_field_parsing.py |
test_gitleaks_tags_empty_list |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_field_parsing.py |
test_gitleaks_tags_none |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_field_parsing.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_issue_model.py |
test_gitleaks_issue_display_row |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_issue_model.py |
test_gitleaks_issue_message_without_secret |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_issue_model.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_plugin_parsing.py |
_get_report_path |
|
5 |
2 |
0 |
|
60% |
| tests / unit / parsers / gitleaks_parser / test_plugin_parsing.py |
test_gitleaks_check_parses_output |
|
12 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_plugin_parsing.py |
test_gitleaks_check_parses_output.fake_run |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_plugin_parsing.py |
test_gitleaks_check_handles_no_secrets |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_plugin_parsing.py |
test_gitleaks_check_handles_no_secrets.fake_run |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_plugin_parsing.py |
test_gitleaks_check_handles_unparseable_output |
|
11 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_plugin_parsing.py |
test_gitleaks_check_handles_unparseable_output.fake_run |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_plugin_parsing.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_valid_output.py |
test_parse_gitleaks_valid_output |
|
15 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_valid_output.py |
test_parse_gitleaks_multiple_findings |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / gitleaks_parser / test_valid_output.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / conftest.py |
make_pydoclint_output |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / conftest.py |
make_issue |
|
1 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / conftest.py |
(no function) |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_edge_cases.py |
test_parse_unicode_path |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_edge_cases.py |
test_parse_path_with_spaces |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_edge_cases.py |
test_parse_message_with_special_characters |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_edge_cases.py |
test_parse_very_long_message |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_edge_cases.py |
test_parse_high_line_numbers |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_edge_cases.py |
test_parse_nested_path |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_edge_cases.py |
test_parse_multiple_colons_in_message |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_edge_cases.py |
test_parse_empty_lines_between_issues |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_edge_cases.py |
test_parse_multiple_files |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_edge_cases.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_field_extraction.py |
test_parse_doc_codes |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_field_extraction.py |
test_parse_extracts_all_fields |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_field_extraction.py |
test_parse_multiple_issues |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_field_extraction.py |
test_parse_nested_path |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_field_extraction.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_invalid_input.py |
test_parse_returns_empty_for_no_content |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_invalid_input.py |
test_parse_returns_empty_for_malformed_line |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_invalid_input.py |
test_parse_returns_empty_for_missing_code |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_invalid_input.py |
test_parse_skips_malformed_lines_in_mixed_output |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_invalid_input.py |
test_parse_handles_missing_line_number |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_invalid_input.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_issue_model.py |
test_issue_defaults |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_issue_model.py |
test_issue_with_values |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_issue_model.py |
test_to_display_row |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_issue_model.py |
test_to_display_row_with_zero_line |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / pydoclint_parser / test_issue_model.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_json_output_empty |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_json_output_valid |
|
17 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_text_output_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_text_output_failures |
|
15 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_text_output_line_format |
|
11 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_junit_xml_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_junit_xml_valid |
|
17 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_output_format_dispatch |
|
11 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_json_output_malformed |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_junit_xml_malformed |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_text_output_ansi_codes |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_json_output_missing_optional_fields |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_json_output_alternative_list_format |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_json_output_with_call_message |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_json_output_passed_test_ignored |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_text_output_alternative_failure_format |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_text_output_multiple_failures |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_junit_xml_missing_attributes |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_junit_xml_without_message_attribute |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_junit_xml_no_failure_or_error |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_text_output_file_and_line_format |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_output_with_empty_format |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
test_parse_pytest_output_dispatches_correctly |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / pytest / test_pytest_parser.py |
(no function) |
|
25 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / conftest.py |
make_shellcheck_output |
|
1 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / conftest.py |
make_issue |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / conftest.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_edge_cases.py |
test_parse_unicode_in_message |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_edge_cases.py |
test_parse_file_with_path |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_edge_cases.py |
test_parse_very_long_message |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_edge_cases.py |
test_parse_very_large_line_number |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_edge_cases.py |
test_parse_special_chars_in_message |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_edge_cases.py |
test_parse_deeply_nested_path |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_edge_cases.py |
test_parse_missing_required_fields_uses_defaults |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_edge_cases.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_field_extraction.py |
test_parse_severity_levels |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_field_extraction.py |
test_parse_extracts_all_fields |
|
12 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_field_extraction.py |
test_parse_handles_missing_optional_fields |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_field_extraction.py |
test_parse_code_as_string |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_field_extraction.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_invalid_input.py |
test_parse_returns_empty_for_no_content |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_invalid_input.py |
test_parse_returns_empty_for_invalid_json |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_invalid_input.py |
test_parse_returns_empty_for_non_array_json |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_invalid_input.py |
test_parse_empty_array |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_invalid_input.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_issue_model.py |
test_to_display_row |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_issue_model.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_multiple_issues.py |
test_parse_multiple_issues |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_multiple_issues.py |
test_parse_skips_non_dict_items |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / shellcheck_parser / test_multiple_issues.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / conftest.py |
parse_test_item |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / conftest.py |
parse_test_item._parse |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / conftest.py |
parse_error_line |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / conftest.py |
parse_error_line._parse |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / conftest.py |
identity_line_parser |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / conftest.py |
identity_line_parser._parse |
|
1 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / conftest.py |
(no function) |
|
14 |
0 |
2 |
|
100% |
| tests / unit / parsers / streaming / test_collect.py |
test_collects_to_list |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_collect.py |
test_collects_to_list.gen |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_collect.py |
test_empty_generator_returns_empty_list |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_collect.py |
test_empty_generator_returns_empty_list.gen |
|
1 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_collect.py |
(no function) |
|
8 |
0 |
2 |
|
100% |
| tests / unit / parsers / streaming / test_json_array.py |
test_parses_array |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_json_array.py |
test_parses_with_trailing_data |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_json_array.py |
test_falls_back_to_json_lines |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_json_array.py |
test_empty_yields_nothing |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_json_array.py |
(no function) |
|
10 |
0 |
3 |
|
100% |
| tests / unit / parsers / streaming / test_json_lines.py |
test_parses_string |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_json_lines.py |
test_parses_iterable |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_json_lines.py |
test_skips_empty_lines |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_json_lines.py |
test_skips_non_json_lines |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_json_lines.py |
test_handles_invalid_json |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_json_lines.py |
test_empty_output_yields_nothing |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_json_lines.py |
test_skips_items_where_parser_returns_none |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_json_lines.py |
test_skips_items_where_parser_returns_none.selective_parser |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_json_lines.py |
(no function) |
|
13 |
0 |
3 |
|
100% |
| tests / unit / parsers / streaming / test_parser_class.py |
test_stream_json_lines_uses_parse_item |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_parser_class.py |
test_stream_json_lines_uses_parse_item.TestParser.parse_item |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_parser_class.py |
test_stream_text_lines_uses_parse_line |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_parser_class.py |
test_stream_text_lines_uses_parse_line.TestParser.parse_line |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_parser_class.py |
test_stream_json_array_uses_parse_item |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_parser_class.py |
test_stream_json_array_uses_parse_item.TestParser.parse_item |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_parser_class.py |
test_methods_raise_not_implemented |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_parser_class.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_text_lines.py |
test_parses_string |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_text_lines.py |
test_parses_iterable |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_text_lines.py |
test_strips_ansi_by_default |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_text_lines.py |
test_preserves_ansi_when_disabled |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_text_lines.py |
test_skips_empty_lines |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / streaming / test_text_lines.py |
(no function) |
|
9 |
0 |
3 |
|
100% |
| tests / unit / parsers / test_actionlint_parser.py |
test_parse_actionlint_empty |
|
1 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_actionlint_parser.py |
test_parse_actionlint_lines |
|
10 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_actionlint_parser.py |
test_parse_actionlint_ansi_codes_stripped |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_actionlint_parser.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_astro_check_parser.py |
test_parse_astro_check_output_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_astro_check_parser.py |
test_parse_astro_check_output_single_error |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_astro_check_parser.py |
test_parse_astro_check_output_multiple_errors |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_astro_check_parser.py |
test_parse_astro_check_output_tsc_style |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_astro_check_parser.py |
test_parse_astro_check_output_simple_format |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_astro_check_parser.py |
test_parse_astro_check_output_windows_paths |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_astro_check_parser.py |
test_parse_astro_check_output_ansi_codes |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_astro_check_parser.py |
test_parse_astro_check_output_skips_noise_lines |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_astro_check_parser.py |
test_parse_astro_check_output_hint_severity |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_astro_check_parser.py |
test_astro_check_issue_type |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_astro_check_parser.py |
test_parse_astro_check_output_skips_timestamp_lines |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_astro_check_parser.py |
test_parse_astro_check_output_skips_timestamps_keeps_real_errors |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_astro_check_parser.py |
test_parse_astro_check_output_skips_docker_warn_lines |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_astro_check_parser.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_bandit_parser.py |
test_parse_bandit_valid_output |
|
11 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_bandit_parser.py |
test_parse_bandit_multiple_issues_and_errors_array |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_bandit_parser.py |
test_parse_bandit_empty_results |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_bandit_parser.py |
test_parse_bandit_missing_results_key |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_bandit_parser.py |
test_parse_bandit_handles_malformed_issue_gracefully |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_bandit_parser.py |
test_bandit_check_parses_mixed_output_json |
|
14 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_bandit_parser.py |
test_bandit_check_parses_mixed_output_json.fake_run |
|
1 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_bandit_parser.py |
test_bandit_check_handles_nonzero_rc_with_errors_array |
|
12 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_bandit_parser.py |
test_bandit_check_handles_nonzero_rc_with_errors_array.NS.__init__ |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_bandit_parser.py |
test_bandit_check_handles_nonzero_rc_with_errors_array.fake_run |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_bandit_parser.py |
test_bandit_check_handles_unparseable_output |
|
11 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_bandit_parser.py |
test_bandit_check_handles_unparseable_output.fake_run |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_bandit_parser.py |
(no function) |
|
18 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_base_issue_default_values |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_base_issue_accepts_values |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_to_display_row_basic_fields |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_to_display_row_zero_line_shows_dash |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_to_display_row_missing_optional_fields |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_display_field_map_class_variable |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_subclass_with_custom_fields |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_subclass_with_custom_field_map |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_to_display_row_fixable_true |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_to_display_row_fixable_false |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_to_display_row_line_column_formatting |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_get_severity_returns_default_when_no_severity_field |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_get_severity_normalizes_string_field |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_get_severity_uses_display_field_map |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_get_severity_falls_back_on_empty_string |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_get_severity_falls_back_on_unknown_value |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_get_severity_respects_custom_default |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
test_get_severity_passes_through_enum_instance |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_issue.py |
(no function) |
|
26 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_extract_int_field_first_candidate |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_extract_int_field_second_candidate |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_extract_int_field_default |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_extract_int_field_none_default |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_extract_int_field_excludes_bool |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_extract_str_field_first_candidate |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_extract_str_field_second_candidate |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_extract_str_field_default |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_extract_str_field_empty_default |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_extract_dict_field_first_candidate |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_extract_dict_field_second_candidate |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_extract_dict_field_default |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_extract_dict_field_empty_default |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_strip_ansi_codes_removes_color |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_strip_ansi_codes_plain_text |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_strip_ansi_codes_multiple_codes |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_strip_ansi_codes_empty_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_validate_str_field_valid_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_validate_str_field_non_string_returns_default |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_validate_str_field_none_returns_default |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_validate_int_field_valid_int |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_validate_int_field_non_int_returns_default |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_validate_int_field_bool_returns_default |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_validate_int_field_none_returns_default |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_collect_continuation_lines_basic |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_collect_continuation_lines_no_continuation |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_collect_continuation_lines_end_of_list |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_collect_continuation_lines_strips_prefix |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_safe_parse_items_valid_items |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_safe_parse_items_valid_items.parse_func |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_safe_parse_items_skips_non_dict |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_safe_parse_items_skips_non_dict.parse_func |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_safe_parse_items_handles_parse_failure |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_safe_parse_items_handles_parse_failure.parse_func |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_safe_parse_items_handles_none_return |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_safe_parse_items_handles_none_return.parse_func |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_safe_parse_items_empty_list |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_safe_parse_items_empty_list.parse_func |
|
1 |
1 |
0 |
|
0% |
| tests / unit / parsers / test_base_parser.py |
test_extract_int_field_parametrized |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
test_extract_str_field_parametrized |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_base_parser.py |
(no function) |
|
43 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_black_parser.py |
test_parse_black_output_would_reformat_single_file |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_black_parser.py |
test_parse_black_output_reformatted_multiple_files |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_black_parser.py |
test_parse_black_output_no_issues |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_black_parser.py |
test_parse_black_output_ansi_codes_stripped |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_black_parser.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_audit_parser.py |
test_parse_cargo_audit_output_empty_cases |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_audit_parser.py |
test_parse_cargo_audit_output_no_vulnerabilities |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_audit_parser.py |
test_parse_cargo_audit_output_single_vulnerability |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_audit_parser.py |
test_parse_cargo_audit_output_multiple_vulnerabilities |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_audit_parser.py |
test_parse_cargo_audit_output_normalizes_severity |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_audit_parser.py |
test_parse_cargo_audit_output_none_severity |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_audit_parser.py |
test_parse_cargo_audit_output_invalid_json |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_audit_parser.py |
test_parse_cargo_audit_output_missing_advisory |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_audit_parser.py |
test_parse_cargo_audit_output_json_with_extra_text |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_audit_parser.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_deny_parser.py |
test_parse_cargo_deny_output_single_diagnostic |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_deny_parser.py |
test_parse_cargo_deny_output_advisory |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_deny_parser.py |
test_parse_cargo_deny_output_multiple_issues |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_deny_parser.py |
test_parse_cargo_deny_output_ignores_non_issues |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_deny_parser.py |
test_parse_cargo_deny_output_empty_cases |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_deny_parser.py |
test_parse_cargo_deny_output_invalid_json |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_deny_parser.py |
test_parse_cargo_deny_output_crate_with_version |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_cargo_deny_parser.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_clippy_parser.py |
test_parse_clippy_output_single_issue |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_clippy_parser.py |
test_parse_clippy_output_multiple_issues |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_clippy_parser.py |
test_parse_clippy_output_ignores_non_clippy |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_clippy_parser.py |
test_parse_clippy_output_ignores_non_compiler_messages |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_clippy_parser.py |
test_parse_clippy_output_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_clippy_parser.py |
test_parse_clippy_output_invalid_json |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_clippy_parser.py |
test_parse_clippy_output_multi_line_span |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_clippy_parser.py |
test_parse_clippy_output_ansi_codes_stripped |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_clippy_parser.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_hadolint_parser.py |
test_parse_hadolint_output_returns_empty_for_no_content |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_hadolint_parser.py |
test_parse_hadolint_output_severity_levels |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_hadolint_parser.py |
test_parse_hadolint_output_extracts_all_fields |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_hadolint_parser.py |
test_parse_hadolint_output_multiple_issues |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_hadolint_parser.py |
test_parse_hadolint_output_non_matching_lines_ignored |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_hadolint_parser.py |
test_parse_hadolint_output_column_is_zero |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_hadolint_parser.py |
test_parse_hadolint_output_file_with_path |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_hadolint_parser.py |
test_parse_hadolint_output_blank_lines_between_issues |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_hadolint_parser.py |
test_parse_hadolint_output_unicode_in_message |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_hadolint_parser.py |
test_parse_hadolint_output_file_path_with_spaces |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_hadolint_parser.py |
test_parse_hadolint_output_very_long_message |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_hadolint_parser.py |
test_parse_hadolint_output_very_large_line_number |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_hadolint_parser.py |
test_parse_hadolint_output_special_chars_in_message |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_hadolint_parser.py |
test_parse_hadolint_output_colon_in_message |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_hadolint_parser.py |
test_parse_hadolint_output_deeply_nested_path |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_hadolint_parser.py |
test_parse_hadolint_output_ansi_codes_stripped |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_hadolint_parser.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_markdownlint_parser.py |
test_parse_markdownlint_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_markdownlint_parser.py |
test_parse_markdownlint_lines |
|
21 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_markdownlint_parser.py |
test_parse_markdownlint_without_column |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_markdownlint_parser.py |
test_parse_markdownlint_ignores_malformed_lines |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_markdownlint_parser.py |
test_parse_markdownlint_multiline_messages |
|
23 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_markdownlint_parser.py |
test_parse_markdownlint_multiline_with_empty_lines |
|
14 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_markdownlint_parser.py |
test_parse_markdownlint_ansi_codes_stripped |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_markdownlint_parser.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_mypy_parser.py |
test_parse_mypy_json_array |
|
10 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_mypy_parser.py |
test_parse_mypy_errors_object |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_mypy_parser.py |
test_parse_mypy_invalid_output_returns_empty |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_mypy_parser.py |
test_parse_mypy_empty_and_whitespace_output |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_mypy_parser.py |
test_parse_mypy_json_lines_multiple_issues |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_mypy_parser.py |
test_parse_mypy_multiple_array_entries |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_mypy_parser.py |
test_parse_mypy_nested_code_object_variants |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_mypy_parser.py |
test_parse_mypy_field_name_variations |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_mypy_parser.py |
test_parse_mypy_skips_entries_without_file |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_mypy_parser.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_scanner_parser.py |
test_parse_empty_cases |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_scanner_parser.py |
test_parse_empty_results |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_scanner_parser.py |
test_parse_single_vulnerability |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_scanner_parser.py |
test_parse_multiple_vulnerabilities |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_scanner_parser.py |
test_parse_vulnerability_with_multiple_ids |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_scanner_parser.py |
test_parse_vulnerability_with_fixed_version |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_scanner_parser.py |
test_parse_invalid_json |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_scanner_parser.py |
test_parse_non_object_json |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_scanner_parser.py |
test_parse_non_list_results |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_scanner_parser.py |
test_parse_missing_results_key |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_scanner_parser.py |
test_parse_malformed_package_entry |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_scanner_parser.py |
test_issue_display_row |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_scanner_parser.py |
test_issue_message_format |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_scanner_parser.py |
test_issue_message_format_no_fix |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_scanner_parser.py |
test_parse_fallthrough_vuln_id_lookup |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_scanner_parser.py |
test_default_severity |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_scanner_parser.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_suppression_parser.py |
test_parse_well_formed_toml |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_suppression_parser.py |
test_parse_missing_file |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_suppression_parser.py |
test_parse_empty_file |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_suppression_parser.py |
test_parse_no_ignored_vulns |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_suppression_parser.py |
test_parse_skips_entry_without_id |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_suppression_parser.py |
test_parse_skips_entry_without_ignore_until |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_suppression_parser.py |
test_parse_missing_reason_defaults_empty |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_suppression_parser.py |
test_parse_invalid_toml |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_suppression_parser.py |
test_classify_expired |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_suppression_parser.py |
test_classify_active |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_suppression_parser.py |
test_classify_stale |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_suppression_parser.py |
test_classify_boundary_today_equals_ignore_until |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_suppression_parser.py |
test_classify_empty_entries |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_suppression_parser.py |
test_classify_multiple_entries |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_suppression_parser.py |
test_classify_parametrized |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_osv_suppression_parser.py |
(no function) |
|
24 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxfmt_parser.py |
test_parse_oxfmt_output_returns_empty_for_no_content |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxfmt_parser.py |
test_parse_oxfmt_output_single_file |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxfmt_parser.py |
test_parse_oxfmt_output_multiple_files |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxfmt_parser.py |
test_parse_oxfmt_output_empty_lines_handling |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxfmt_parser.py |
test_parse_oxfmt_output_whitespace_handling |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxfmt_parser.py |
test_parse_oxfmt_output_whitespace_only_lines |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxfmt_parser.py |
test_parse_oxfmt_output_ansi_escape_codes_stripped |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxfmt_parser.py |
test_parse_oxfmt_output_default_line_and_column |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxfmt_parser.py |
test_parse_oxfmt_output_deeply_nested_path |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxfmt_parser.py |
test_parse_oxfmt_output_various_extensions |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxfmt_parser.py |
test_parse_oxfmt_output_file_with_spaces_in_name |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxfmt_parser.py |
test_parse_oxfmt_output_filters_error_messages |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxfmt_parser.py |
test_parse_oxfmt_output_filters_non_supported_extensions |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxfmt_parser.py |
test_parse_oxfmt_output_filters_warning_messages |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxfmt_parser.py |
(no function) |
|
19 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_none_string |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_malformed_json |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_not_dict |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_no_json_braces |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_single_diagnostic |
|
12 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_multiple_diagnostics |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_missing_filename |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_missing_labels |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_empty_labels |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_missing_span |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_with_extra_text |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_with_prefix_text |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_missing_optional_fields |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_diagnostics_not_list |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_diagnostic_not_dict |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_empty_filename |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
test_parse_oxlint_output_no_help_field |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_oxlint_parser.py |
(no function) |
|
21 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_prettier_parser.py |
test_parse_prettier_output_returns_empty_for_no_issues |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_prettier_parser.py |
test_parse_prettier_output_single_file_issue |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_prettier_parser.py |
test_parse_prettier_output_multiple_file_issues |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_prettier_parser.py |
test_parse_prettier_output_ansi_escape_codes_stripped |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_prettier_parser.py |
test_parse_prettier_output_ignores_code_style_message |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_prettier_parser.py |
test_parse_prettier_output_blank_lines_ignored |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_prettier_parser.py |
test_parse_prettier_output_default_line_and_column |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_prettier_parser.py |
test_parse_prettier_output_non_warn_lines_ignored |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_prettier_parser.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_pydoclint_parser.py |
test_parse_pydoclint_output_empty |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_pydoclint_parser.py |
test_parse_pydoclint_output_single_file_single_issue |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_pydoclint_parser.py |
test_parse_pydoclint_output_single_file_multiple_issues |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_pydoclint_parser.py |
test_parse_pydoclint_output_multiple_files |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_pydoclint_parser.py |
test_parse_pydoclint_output_ansi_codes_stripped |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_pydoclint_parser.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_ruff_parser_additional.py |
test_parse_ruff_output_plain_json_array |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_ruff_parser_additional.py |
test_parse_ruff_output_empty_and_malformed_line_skipped |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_ruff_parser_additional.py |
test_parse_ruff_output_unicode_file_path |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_ruff_parser_additional.py |
test_parse_ruff_output_file_path_with_spaces |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_ruff_parser_additional.py |
test_parse_ruff_output_special_chars_in_message |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_ruff_parser_additional.py |
test_parse_ruff_output_null_values_handled |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_ruff_parser_additional.py |
test_parse_ruff_output_very_long_file_path |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_ruff_parser_additional.py |
test_parse_ruff_output_extremely_long_message |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_ruff_parser_additional.py |
test_parse_ruff_output_zero_line_number |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_ruff_parser_additional.py |
test_parse_ruff_output_negative_column |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_ruff_parser_additional.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_ruff_parser_more.py |
test_parse_ruff_output_json_lines_and_variants |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_ruff_parser_more.py |
test_parse_ruff_output_trailing_non_json |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_ruff_parser_more.py |
test_parse_ruff_format_check_output_various_lines |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_ruff_parser_more.py |
test_parse_ruff_format_check_output_variants_more |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_ruff_parser_more.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_rustfmt_parser.py |
test_parse_rustfmt_output_empty_cases |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_rustfmt_parser.py |
test_parse_rustfmt_output_diff_format |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_rustfmt_parser.py |
test_parse_rustfmt_output_multiple_diffs |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_rustfmt_parser.py |
test_parse_rustfmt_output_standalone_file_paths |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_rustfmt_parser.py |
test_parse_rustfmt_output_deduplicates_files |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_rustfmt_parser.py |
test_parse_rustfmt_output_mixed_content |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_rustfmt_parser.py |
test_parse_rustfmt_output_no_issues |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_rustfmt_parser.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_parse_semgrep_valid_output |
|
15 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_parse_semgrep_multiple_issues |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_parse_semgrep_empty_results |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_parse_semgrep_none_output |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_parse_semgrep_empty_string_output |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_parse_semgrep_missing_results_key |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_parse_semgrep_handles_malformed_issue_gracefully |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_parse_semgrep_cwe_as_string |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_parse_semgrep_missing_optional_fields |
|
10 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_parse_semgrep_invalid_json |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_parse_semgrep_non_object_json |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_parse_semgrep_non_list_results |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_semgrep_check_parses_mixed_output_json |
|
14 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_semgrep_check_parses_mixed_output_json.fake_run |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_semgrep_check_handles_nonzero_rc_with_errors_array |
|
10 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_semgrep_check_handles_nonzero_rc_with_errors_array.fake_run |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_semgrep_check_handles_unparseable_output |
|
11 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_semgrep_check_handles_unparseable_output.fake_run |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_semgrep_issue_display_row |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_semgrep_tool_definition |
|
11 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_semgrep_set_options_validates_severity |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
test_semgrep_set_options_validates_jobs |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_semgrep_parser.py |
(no function) |
|
30 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
test_parse_shfmt_output_returns_empty_for_no_content |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
test_parse_shfmt_output_single_file_diff |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
test_parse_shfmt_output_multiple_files |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
test_parse_shfmt_output_file_with_path |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
test_parse_shfmt_output_extracts_diff_content |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
test_parse_shfmt_output_multiple_hunks_uses_first_line |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
test_parse_shfmt_output_column_is_zero |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
test_parse_shfmt_output_fixable_is_true |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
test_parse_shfmt_output_no_orig_suffix |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
test_parse_shfmt_output_unicode_in_content |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
test_parse_shfmt_output_file_path_with_spaces |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
test_parse_shfmt_output_very_large_line_number |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
test_parse_shfmt_output_deeply_nested_path |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
test_parse_shfmt_output_special_chars_in_content |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
test_parse_shfmt_output_empty_hunk |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
test_parse_shfmt_output_bash_extension |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
test_parse_shfmt_output_ksh_extension |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_shfmt_parser.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_returns_empty_for_no_content |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_single_violation |
|
11 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_multiple_violations_single_file |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_multiple_files |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_file_with_no_violations |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_mixed_files |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_missing_optional_fields |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_invalid_json |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_not_a_list |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_unicode_in_message |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_file_path_with_spaces |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_deeply_nested_path |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_very_large_line_number |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_very_long_message |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_special_chars_in_message |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_zero_line_number |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_null_violations |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_missing_violations_key |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
test_parse_sqlfluff_output_alternative_field_names |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_sqlfluff_parser.py |
(no function) |
|
24 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_svelte_check_output_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_ndjson_with_timestamp_prefix |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_ndjson_single_error |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_ndjson_warning |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_ndjson_multiple_lines |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_ndjson_filename_field |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_ndjson_multiline_span |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_ndjson_same_position |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_ndjson_windows_paths |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_ndjson_code_field |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_ndjson_no_code_field |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_ndjson_numeric_code_field |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_ndjson_invalid_json_skipped |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_svelte_check_output_machine_verbose_single_error |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_svelte_check_output_multiple_errors |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_svelte_check_output_machine_format |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_svelte_check_output_warning_severity |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_svelte_check_output_hint_severity |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_svelte_check_output_windows_paths |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_svelte_check_output_ansi_codes |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_svelte_check_output_skips_noise_lines |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_svelte_check_output_end_line_different |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_svelte_check_output_same_line_same_column |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_svelte_check_output_same_line_different_column |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_svelte_check_output_warn_machine_format |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_parse_svelte_check_output_hint_machine_format |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
test_svelte_check_issue_type |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_svelte_check_parser.py |
(no function) |
|
32 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_returns_empty_for_no_content |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_extracts_all_fields |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_severity_levels |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_multiple_issues |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_non_matching_lines_ignored |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_file_with_path |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_blank_lines_between_issues |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_unicode_in_message |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_very_long_message |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_very_large_line_number |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_special_chars_in_message |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_colon_in_message |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_deeply_nested_path |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_code_with_underscores |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_column_position |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_windows_path |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_location_with_extra_spaces |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_issue_dataclass_fields |
|
10 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_fmt_check_format |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_fmt_check_multiple_files |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_fmt_check_with_info_lines |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_fmt_check_rust_log_error_format |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
test_parse_taplo_output_ansi_codes_stripped |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_taplo_parser.py |
(no function) |
|
29 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_parse_tsc_output_single_error |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_parse_tsc_output_single_warning |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_parse_tsc_output_multiple_errors |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_parse_tsc_output_mixed_with_non_errors |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_parse_tsc_output_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_parse_tsc_output_windows_paths |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_parse_tsc_output_tsx_files |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_parse_tsc_output_mts_cts_files |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_parse_tsc_output_deep_nested_path |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_parse_tsc_output_skips_non_matching_lines |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_tsc_issue_to_display_row |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_tsc_issue_to_display_row_minimal |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_parse_tsc_output_ansi_codes_stripped |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_dependency_error_codes_contains_expected_codes |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_categorize_tsc_issues_separates_type_and_dep_errors |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_categorize_tsc_issues_all_type_errors |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_categorize_tsc_issues_all_dependency_errors |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_categorize_tsc_issues_empty_list |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_categorize_tsc_issues_no_code |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_extract_missing_modules_from_ts2307 |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_extract_missing_modules_from_ts2688 |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_extract_missing_modules_from_ts7016 |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_extract_missing_modules_deduplicates |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_extract_missing_modules_sorted |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_extract_missing_modules_empty_list |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
test_extract_missing_modules_no_match |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_tsc_parser.py |
(no function) |
|
30 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_vue_tsc_parser.py |
test_parse_vue_tsc_output_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_vue_tsc_parser.py |
test_parse_vue_tsc_output_single_error |
|
9 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_vue_tsc_parser.py |
test_parse_vue_tsc_output_multiple_errors |
|
7 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_vue_tsc_parser.py |
test_parse_vue_tsc_output_windows_paths |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_vue_tsc_parser.py |
test_parse_vue_tsc_output_ansi_codes |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_vue_tsc_parser.py |
test_parse_vue_tsc_output_skips_noise_lines |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_vue_tsc_parser.py |
test_vue_tsc_issue_type |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_vue_tsc_parser.py |
test_categorize_vue_tsc_issues_all_type_errors |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_vue_tsc_parser.py |
test_categorize_vue_tsc_issues_dependency_errors |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_vue_tsc_parser.py |
test_extract_missing_modules |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_vue_tsc_parser.py |
test_vue_tsc_issue_to_display_row |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_vue_tsc_parser.py |
test_vue_tsc_issue_to_display_row_minimal |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_vue_tsc_parser.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_yamllint_parser.py |
test_parse_yamllint_output_returns_empty_for_no_content |
|
2 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_yamllint_parser.py |
test_parse_yamllint_output_severity_levels |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_yamllint_parser.py |
test_parse_yamllint_output_extracts_all_fields |
|
8 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_yamllint_parser.py |
test_parse_yamllint_output_multiple_issues |
|
6 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_yamllint_parser.py |
test_parse_yamllint_output_non_matching_lines_ignored |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_yamllint_parser.py |
test_parse_yamllint_output_issue_without_rule |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_yamllint_parser.py |
test_parse_yamllint_output_complex_message |
|
4 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_yamllint_parser.py |
test_parse_yamllint_output_blank_lines_between_issues |
|
3 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_yamllint_parser.py |
test_parse_yamllint_output_ansi_codes_stripped |
|
5 |
0 |
0 |
|
100% |
| tests / unit / parsers / test_yamllint_parser.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / conftest.py |
NoFixPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / conftest.py |
NoFixPlugin.check |
|
1 |
1 |
0 |
|
0% |
| tests / unit / plugins / base / conftest.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_execution_context_default_values |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_execution_context_should_skip_false_when_no_early_result |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_execution_context_should_skip_true_when_early_result_set |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_fix_raises_not_implemented_when_can_fix_true_but_not_overridden |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_fix_raises_not_implemented_when_cannot_fix |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_validate_paths_valid |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_validate_paths_nonexistent_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_validate_paths_inaccessible_raises |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_get_cwd_single_file |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_get_cwd_multiple_files_same_directory |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_get_cwd_multiple_files_different_directories |
|
10 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_get_cwd_empty_paths_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_prepare_execution_version_check_fails_returns_early_result |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_prepare_execution_empty_paths_returns_early_result |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_prepare_execution_no_files_found_returns_early_result |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_prepare_execution_successful_returns_context_with_files |
|
7 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_get_executable_command_python_bundled_tools_fallback |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_get_executable_command_python_bundled_tools_path_binary_outside_venv |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_get_executable_command_python_bundled_tools_python_module_in_venv |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_get_executable_command_python_bundled_tools_python_module_in_venv.which_side_effect |
|
3 |
1 |
0 |
|
67% |
| tests / unit / plugins / base / test_execution.py |
test_get_executable_command_nodejs_tool_with_bunx |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_get_executable_command_astro_check_with_bunx |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_get_executable_command_vue_tsc_with_bunx |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_get_executable_command_nodejs_tool_without_bunx |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_get_executable_command_cargo_tool |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_get_executable_command_unknown_tool |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_default_exclude_patterns_contains_expected_patterns |
|
1 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
test_default_exclude_patterns_is_not_empty |
|
1 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_execution.py |
(no function) |
|
40 |
0 |
2 |
|
100% |
| tests / unit / plugins / base / test_options.py |
test_set_options_timeout_valid_values |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_options.py |
test_set_options_timeout_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_options.py |
test_set_options_timeout_invalid_raises_value_error |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_options.py |
test_set_options_exclude_patterns_merges_with_existing |
|
7 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_options.py |
test_set_options_exclude_patterns_does_not_duplicate |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_options.py |
test_set_options_exclude_patterns_preserves_lintro_ignore |
|
13 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_options.py |
test_set_options_exclude_patterns_invalid_raises_value_error |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_options.py |
test_set_options_include_venv_valid |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_options.py |
test_set_options_include_venv_invalid_raises_value_error |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_options.py |
test_setup_defaults_adds_default_exclude_patterns |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_options.py |
test_setup_defaults_adds_lintro_ignore_patterns |
|
7 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_options.py |
test_setup_defaults_handles_lintro_ignore_read_error_gracefully |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_options.py |
test_setup_defaults_sets_default_timeout_from_definition |
|
1 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_options.py |
(no function) |
|
21 |
0 |
2 |
|
100% |
| tests / unit / plugins / base / test_subprocess.py |
test_run_subprocess_successful_command |
|
5 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess.py |
test_run_subprocess_failed_command |
|
5 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess.py |
test_run_subprocess_timeout_expired_raises |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess.py |
test_run_subprocess_file_not_found_raises |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess.py |
test_get_effective_timeout_precedence |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess.py |
test_get_effective_timeout_falls_back_to_definition_default |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess.py |
test_validate_subprocess_command_valid |
|
1 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess.py |
test_validate_subprocess_command_invalid_structure |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess.py |
test_validate_subprocess_command_non_string_argument |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess.py |
test_validate_subprocess_command_unsafe_characters_in_command_name |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess.py |
test_validate_subprocess_command_special_chars_allowed_in_args |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess.py |
test_verify_tool_version_passes_returns_none |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess.py |
test_verify_tool_version_fails_returns_skip_result |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess.py |
(no function) |
|
22 |
0 |
2 |
|
100% |
| tests / unit / plugins / base / test_subprocess_streaming.py |
test_streaming_successful_command |
|
9 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess_streaming.py |
test_streaming_failed_command_nonzero_exit |
|
8 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess_streaming.py |
test_streaming_with_line_handler |
|
12 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess_streaming.py |
test_streaming_with_line_handler.handler |
|
1 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess_streaming.py |
test_streaming_timeout_during_read |
|
10 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess_streaming.py |
test_streaming_timeout_during_wait |
|
8 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess_streaming.py |
test_streaming_file_not_found |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess_streaming.py |
test_streaming_empty_output |
|
8 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess_streaming.py |
test_streaming_with_cwd_and_env |
|
12 |
0 |
0 |
|
100% |
| tests / unit / plugins / base / test_subprocess_streaming.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| tests / unit / plugins / conftest.py |
FakeToolPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| tests / unit / plugins / conftest.py |
FakeToolPlugin.check |
|
1 |
1 |
0 |
|
0% |
| tests / unit / plugins / conftest.py |
fake_tool_plugin |
|
1 |
0 |
0 |
|
100% |
| tests / unit / plugins / conftest.py |
clean_registry |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / conftest.py |
empty_registry |
|
7 |
0 |
0 |
|
100% |
| tests / unit / plugins / conftest.py |
reset_discovery_state |
|
4 |
4 |
0 |
|
0% |
| tests / unit / plugins / conftest.py |
create_fake_plugin |
|
7 |
0 |
0 |
|
100% |
| tests / unit / plugins / conftest.py |
create_fake_plugin.DynamicFakePlugin.definition |
|
1 |
0 |
0 |
|
100% |
| tests / unit / plugins / conftest.py |
create_fake_plugin.DynamicFakePlugin.check |
|
1 |
1 |
0 |
|
0% |
| tests / unit / plugins / conftest.py |
(no function) |
|
24 |
0 |
2 |
|
100% |
| tests / unit / plugins / test_base_plugin_config.py |
test_get_lintro_config_returns_config |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_base_plugin_config.py |
test_get_lintro_config_returns_none_when_not_found |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_base_plugin_config.py |
test_get_enforced_settings_returns_settings |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_base_plugin_config.py |
test_get_enforced_settings_returns_empty_dict_when_no_enforcement |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_base_plugin_config.py |
test_get_enforce_cli_args_returns_args |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_base_plugin_config.py |
test_get_enforce_cli_args_returns_empty_list_when_no_args |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_base_plugin_config.py |
test_get_defaults_config_args_returns_args |
|
5 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_base_plugin_config.py |
test_get_defaults_config_args_returns_empty_list_when_no_defaults |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_base_plugin_config.py |
test_should_use_lintro_config |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_base_plugin_config.py |
test_build_config_args_returns_args |
|
5 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_base_plugin_config.py |
test_build_config_args_returns_empty_list_when_no_config |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_base_plugin_config.py |
test_build_config_args_combines_multiple_sources |
|
5 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_base_plugin_config.py |
(no function) |
|
18 |
0 |
2 |
|
100% |
| tests / unit / plugins / test_discovery.py |
clean_discovery_state |
|
1 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
test_discover_builtin_tools_loads_tools |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
test_discover_builtin_tools_skips_private_modules |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
test_discover_builtin_tools_handles_missing_path |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
test_discover_external_plugins_handles_no_entry_points |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
test_discover_external_plugins_handles_entry_point_error |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
test_discover_external_plugins_skips_non_class_entry_point |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
test_discover_external_plugins_skips_non_plugin_class |
|
8 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
test_discover_external_plugins_handles_load_error |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
test_discover_all_tools_discovers_tools |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
test_discover_all_tools_skips_if_already_discovered |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
test_discover_all_tools_force_rediscovery |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
test_is_discovered_false_before_discovery |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
test_is_discovered_true_after_discovery |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
test_reset_discovery_resets_discovery_state |
|
5 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
test_builtin_definitions_path_exists |
|
1 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
test_builtin_definitions_path_is_directory |
|
1 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
test_entry_point_group_value |
|
1 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_discovery.py |
(no function) |
|
26 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_file_processing_result_success |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_file_processing_result_with_issues |
|
5 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_file_processing_result_skipped |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_file_processing_result_with_error |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_aggregated_result_defaults |
|
7 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_add_file_result_success |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_add_file_result_with_issues |
|
8 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_add_file_result_failure |
|
5 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_add_file_result_skipped |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_add_file_result_with_error |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_add_multiple_file_results |
|
14 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_build_output_empty |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_build_output_with_outputs |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_build_output_with_skipped_files |
|
8 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_build_output_with_timeout |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_build_output_with_execution_errors |
|
5 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_build_output_combines_outputs_and_errors |
|
9 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_empty_output_not_added |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
test_build_output_whitespace_returns_none |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_file_processor.py |
(no function) |
|
25 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_register_tool_adds_to_registry |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_register_tool_stores_instance |
|
5 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_register_overwrite_replaces_tool |
|
7 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_register_returns_class_unchanged |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_registered_tool_returns_instance |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_unknown_tool_raises_value_error |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_is_case_insensitive |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_all_returns_non_empty_dict |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_all_returns_instances |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_all_tools_have_valid_names |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_definitions_returns_non_empty_dict |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_definitions_returns_tool_definitions |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_definitions_have_required_fields |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_names_returns_sorted_list |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_names_includes_builtin_tools |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_names_returns_list_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_is_registered_returns_correct_boolean |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_clear_removes_all_tools |
|
6 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_clear_results_in_empty_registry |
|
2 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_check_tools_returns_all_tools |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_check_tools_returns_instances |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_fix_tools_returns_only_fix_capable |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_fix_tools_excludes_non_fix_tools |
|
5 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_fix_tools_is_subset_of_all_tools |
|
5 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_register_tool_decorator_registers_tool |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_register_tool_decorator_returns_class |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_register_tool_decorator_can_be_used_as_decorator |
|
9 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_register_tool_decorator_can_be_used_as_decorator.DecoratorSyntaxPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_register_tool_decorator_can_be_used_as_decorator.DecoratorSyntaxPlugin.check |
|
1 |
1 |
0 |
|
0% |
| tests / unit / plugins / test_registry.py |
test_registry_handles_multiple_registrations |
|
9 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
test_get_returns_same_instance_on_multiple_calls |
|
3 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_registry.py |
(no function) |
|
42 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_reset_options.py |
test_reset_options_restores_defaults |
|
12 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_reset_options.py |
test_reset_options_clears_exclude_patterns |
|
4 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_reset_options.py |
test_reset_options_allows_clean_reconfiguration |
|
5 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_reset_options.py |
test_bandit_reset_options_preserves_native_config |
|
16 |
0 |
0 |
|
100% |
| tests / unit / plugins / test_reset_options.py |
(no function) |
|
8 |
0 |
2 |
|
100% |
| tests / unit / pytest / conftest.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_commands.py |
test_test_command_collect_only |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_commands.py |
test_test_command_fixtures |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_commands.py |
test_test_command_fixture_info |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_commands.py |
test_test_command_markers |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_commands.py |
test_test_command_parametrize_help |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_commands.py |
test_test_command_coverage_options |
|
7 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_commands.py |
test_test_command_multiple_new_flags |
|
9 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_commands.py |
test_test_command_tool_options_without_prefix |
|
8 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_commands.py |
test_test_command_tool_options_with_prefix |
|
7 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_commands.py |
test_test_command_tool_options_mixed |
|
8 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_commands.py |
test_test_command_exit_code_success |
|
5 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_commands.py |
test_test_command_exit_code_failure |
|
5 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_commands.py |
test_test_command_combined_options |
|
12 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_commands.py |
(no function) |
|
18 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_options.py |
test_test_command_help |
|
4 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_options.py |
test_test_command_default_paths |
|
8 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_options.py |
test_test_command_explicit_paths |
|
9 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_options.py |
test_test_command_exclude_patterns |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_options.py |
test_test_command_include_venv |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_options.py |
test_test_command_output_format |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_options.py |
test_test_command_group_by |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_options.py |
test_test_command_verbose |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_options.py |
test_test_command_raw_output |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_options.py |
test_test_command_list_plugins |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_options.py |
test_test_command_check_plugins |
|
7 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_cli_options.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
FakePytestPlugin.__init__ |
|
4 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
FakePytestPlugin.definition |
|
1 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
FakePytestPlugin._get_executable_command |
|
1 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
FakePytestPlugin._run_subprocess |
|
1 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
fake_pytest_plugin |
|
1 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_list_plugins_with_results |
|
10 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_list_plugins_no_plugins |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_check_all_plugins_installed |
|
8 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_check_missing_plugins |
|
9 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_check_all_plugins_missing |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_check_plugins_invalid_input |
|
2 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_check_plugins_with_whitespace |
|
5 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_collect_with_function_style_output |
|
7 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_collect_with_double_colon_style |
|
7 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_collect_subprocess_failure |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_collect_no_tests |
|
5 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_list_fixtures_success |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_list_fixtures_subprocess_failure |
|
4 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_fixture_info_found |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_fixture_info_not_found |
|
5 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_fixture_info_subprocess_failure |
|
4 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_fixture_info_with_suffix_char |
|
5 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_list_markers_success |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_list_markers_subprocess_failure |
|
4 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_parametrize_help_output |
|
8 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_parametrize_help_contains_doc_link |
|
3 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_handler_exception_handling |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
test_handler_exception_handling.raise_error |
|
1 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_handlers.py |
(no function) |
|
50 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_programmatic_api.py |
test_test_function_with_default_options |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_programmatic_api.py |
test_test_function_with_paths |
|
7 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_programmatic_api.py |
test_test_function_with_exclude |
|
8 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_programmatic_api.py |
test_test_function_with_include_venv |
|
7 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_programmatic_api.py |
test_test_function_with_output |
|
8 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_programmatic_api.py |
test_test_function_with_output_format |
|
8 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_programmatic_api.py |
test_test_function_with_group_by |
|
8 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_programmatic_api.py |
test_test_function_with_verbose |
|
7 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_programmatic_api.py |
test_test_function_with_raw_output |
|
7 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_programmatic_api.py |
test_test_function_with_tool_options |
|
8 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_programmatic_api.py |
test_test_function_exit_code_success |
|
6 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_programmatic_api.py |
test_test_function_exit_code_failure |
|
7 |
0 |
0 |
|
100% |
| tests / unit / pytest / test_pytest_programmatic_api.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| tests / unit / security / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / security / conftest.py |
temp_project_dir |
|
2 |
2 |
0 |
|
0% |
| tests / unit / security / conftest.py |
(no function) |
|
7 |
0 |
2 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
simple_parse_item |
|
5 |
1 |
0 |
|
80% |
| tests / unit / security / test_json_edge_cases.py |
test_json_lines_empty_input |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_lines_whitespace_only_input |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_lines_invalid_json_lines_skipped |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_lines_truncated_json_skipped |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_lines_non_dict_json_skipped |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_lines_special_characters |
|
4 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_lines_unicode |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_lines_emoji |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_lines_deeply_nested |
|
8 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_lines_large_json_object |
|
5 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_lines_many_lines |
|
4 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_lines_mixed_valid_invalid |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_lines_parser_exception_handling |
|
4 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_lines_parser_exception_handling.failing_parser |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_lines_not_starting_with_brace_skipped |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_array_empty_array |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_array_empty_object |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_array_empty_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_array_valid_array |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_array_with_trailing_data |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_array_fallback_to_json_lines |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_array_non_dict_items_skipped |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_array_large_array |
|
4 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_collect_streaming_results_collects_all |
|
5 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_collect_streaming_results_empty_generator |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_bomb_protection |
|
4 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_null_bytes |
|
4 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_control_characters |
|
4 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_very_long_string_keys |
|
4 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
test_json_many_keys_in_object |
|
4 |
0 |
0 |
|
100% |
| tests / unit / security / test_json_edge_cases.py |
(no function) |
|
40 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_validate_safe_path_relative_path_within_project |
|
5 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_validate_safe_path_dot_relative_path_is_safe |
|
8 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_validate_safe_path_traversal_single_level_blocked |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_validate_safe_path_traversal_multiple_levels_blocked |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_validate_safe_path_traversal_encoded_blocked |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_validate_safe_path_absolute_path_outside_project_blocked |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_validate_safe_path_absolute_path_inside_project_allowed |
|
4 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_validate_safe_path_symlink_escape_blocked |
|
7 |
2 |
0 |
|
71% |
| tests / unit / security / test_path_traversal.py |
test_validate_safe_path_uses_cwd_when_no_base_dir |
|
10 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_validate_safe_path_empty_path_behavior |
|
6 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_validate_safe_path_current_dir_is_safe |
|
6 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_validate_safe_path_deeply_nested_path_is_safe |
|
5 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_normalize_file_path_for_display_relative_path_gets_dot_prefix |
|
8 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_normalize_file_path_for_display_already_prefixed_path_unchanged |
|
8 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_normalize_file_path_for_display_empty_path_returned_as_is |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_normalize_file_path_for_display_whitespace_path_returned_as_is |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_normalize_file_path_for_display_absolute_path_inside_project |
|
11 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_normalize_file_path_for_display_path_outside_project_returns_relative_with_dotdot |
|
10 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
test_normalize_file_path_for_display_nested_path_normalized |
|
9 |
0 |
0 |
|
100% |
| tests / unit / security / test_path_traversal.py |
(no function) |
|
25 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_unsafe_chars_is_frozenset |
|
1 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_unsafe_chars_contains_command_chaining_chars |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_unsafe_chars_contains_redirection_chars |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_unsafe_chars_contains_command_substitution_chars |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_unsafe_chars_contains_escape_chars |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_unsafe_chars_contains_glob_chars |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_unsafe_chars_contains_brace_expansion_chars |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_unsafe_chars_contains_other_shell_chars |
|
3 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_validate_subprocess_command_valid_simple_command |
|
1 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_validate_subprocess_command_valid_command_with_flags |
|
1 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_validate_subprocess_command_valid_command_with_path |
|
1 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_validate_subprocess_command_empty_command_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_validate_subprocess_command_none_command_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_validate_subprocess_command_string_command_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_validate_subprocess_command_non_string_argument_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_validate_subprocess_command_unsafe_char_in_command_name_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_validate_subprocess_command_injection_in_command_name |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_validate_subprocess_command_special_char_in_argument_allowed |
|
1 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_validate_subprocess_command_glob_pattern_in_argument_allowed |
|
2 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_validate_subprocess_command_template_path_allowed |
|
1 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_validate_subprocess_command_variable_syntax_allowed |
|
1 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_validate_subprocess_command_dollar_in_filename_allowed |
|
1 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
test_validate_subprocess_command_shell_injection_args_safe_with_shell_false |
|
5 |
0 |
0 |
|
100% |
| tests / unit / security / test_subprocess_injection.py |
(no function) |
|
29 |
0 |
0 |
|
100% |
| tests / unit / test_package_imports.py |
_discover_packages_from_source |
|
7 |
0 |
0 |
|
100% |
| tests / unit / test_package_imports.py |
_get_packages_from_pyproject |
|
6 |
0 |
0 |
|
100% |
| tests / unit / test_package_imports.py |
_get_configured_packages |
|
1 |
0 |
0 |
|
100% |
| tests / unit / test_package_imports.py |
test_package_importable |
|
4 |
2 |
0 |
|
50% |
| tests / unit / test_package_imports.py |
test_all_source_packages_are_configured |
|
6 |
2 |
0 |
|
67% |
| tests / unit / test_package_imports.py |
test_doctor_command_imports |
|
2 |
0 |
0 |
|
100% |
| tests / unit / test_package_imports.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / assertions / __init__.py |
(no function) |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / assertions / conftest.py |
assert_definition_has_name |
|
2 |
2 |
0 |
|
0% |
| tests / unit / tools / assertions / conftest.py |
assert_definition_has_name._assert |
|
1 |
1 |
0 |
|
0% |
| tests / unit / tools / assertions / conftest.py |
assert_definition_has_description |
|
2 |
2 |
0 |
|
0% |
| tests / unit / tools / assertions / conftest.py |
assert_definition_has_description._assert |
|
1 |
1 |
0 |
|
0% |
| tests / unit / tools / assertions / conftest.py |
assert_definition_file_patterns |
|
2 |
2 |
0 |
|
0% |
| tests / unit / tools / assertions / conftest.py |
assert_definition_file_patterns._assert |
|
2 |
2 |
0 |
|
0% |
| tests / unit / tools / assertions / conftest.py |
assert_definition_can_fix |
|
2 |
2 |
0 |
|
0% |
| tests / unit / tools / assertions / conftest.py |
assert_definition_can_fix._assert |
|
1 |
1 |
0 |
|
0% |
| tests / unit / tools / assertions / conftest.py |
assert_definition_timeout |
|
2 |
2 |
0 |
|
0% |
| tests / unit / tools / assertions / conftest.py |
assert_definition_timeout._assert |
|
1 |
1 |
0 |
|
0% |
| tests / unit / tools / assertions / conftest.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / conftest.py |
astro_check_plugin |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / conftest.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_execution.py |
_mock_subprocess_success |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_execution.py |
_mock_subprocess_with_issues |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_execution.py |
test_check_no_astro_files |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_execution.py |
test_check_no_astro_config_proceeds_with_defaults |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_execution.py |
test_check_with_mocked_subprocess_success |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_execution.py |
test_check_with_mocked_subprocess_issues_found |
|
17 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_execution.py |
test_fix_raises_not_implemented |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_execution.py |
test_check_with_root_option |
|
13 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_execution.py |
test_check_with_root_option.capture_cmd |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_execution.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_options.py |
test_definition_name |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_options.py |
test_definition_description |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_options.py |
test_definition_can_fix_is_false |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_options.py |
test_definition_tool_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_options.py |
test_definition_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_options.py |
test_definition_priority |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_options.py |
test_definition_native_configs |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_options.py |
test_default_options_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_options.py |
test_set_options_root_valid |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_options.py |
test_set_options_root_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_options.py |
test_set_options_root_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_options.py |
test_set_options_root_invalid_bool |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_options.py |
test_build_command_basic |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_options.py |
test_build_command_with_root |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / astro_check / test_options.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| tests / unit / tools / base / conftest.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
cargo_audit_plugin |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
test_definition_name |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
test_definition_can_fix |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
test_definition_tool_type |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
test_definition_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
test_definition_priority |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
test_definition_timeout |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
test_definition_native_configs |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
test_set_options_timeout |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
test_set_options_invalid_timeout |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
test_set_options_negative_float_timeout |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
test_set_options_non_numeric_timeout |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
test_fix_raises_not_implemented |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
test_check_no_cargo_lock |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
test_check_no_vulnerabilities |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
test_check_with_vulnerabilities |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
test_check_timeout |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_audit / test_cargo_audit_plugin.py |
(no function) |
|
26 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_deny / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_deny / test_cargo_deny_plugin.py |
cargo_deny_plugin |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_deny / test_cargo_deny_plugin.py |
test_definition_name |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_deny / test_cargo_deny_plugin.py |
test_definition_can_fix |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_deny / test_cargo_deny_plugin.py |
test_definition_tool_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_deny / test_cargo_deny_plugin.py |
test_definition_file_patterns |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_deny / test_cargo_deny_plugin.py |
test_definition_priority |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_deny / test_cargo_deny_plugin.py |
test_definition_timeout |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_deny / test_cargo_deny_plugin.py |
test_definition_native_configs |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_deny / test_cargo_deny_plugin.py |
test_fix_raises_not_implemented |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_deny / test_cargo_deny_plugin.py |
test_set_options_timeout |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_deny / test_cargo_deny_plugin.py |
test_set_options_invalid_timeout |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / cargo_deny / test_cargo_deny_plugin.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| tests / unit / tools / conftest.py |
mock_subprocess_run |
|
7 |
7 |
0 |
|
0% |
| tests / unit / tools / conftest.py |
mock_tool_config |
|
1 |
1 |
0 |
|
0% |
| tests / unit / tools / conftest.py |
mock_tool_result |
|
7 |
7 |
0 |
|
0% |
| tests / unit / tools / conftest.py |
mypy_plugin |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / conftest.py |
clippy_plugin |
|
2 |
2 |
0 |
|
0% |
| tests / unit / tools / conftest.py |
tsc_plugin |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / conftest.py |
patch_subprocess_success |
|
4 |
4 |
0 |
|
0% |
| tests / unit / tools / conftest.py |
patch_subprocess_success._patch |
|
6 |
6 |
0 |
|
0% |
| tests / unit / tools / conftest.py |
patch_tool_available |
|
4 |
4 |
0 |
|
0% |
| tests / unit / tools / conftest.py |
patch_tool_available._patch |
|
2 |
2 |
0 |
|
0% |
| tests / unit / tools / conftest.py |
mock_tool_factory |
|
2 |
2 |
0 |
|
0% |
| tests / unit / tools / conftest.py |
mock_tool_factory._create |
|
15 |
15 |
0 |
|
0% |
| tests / unit / tools / conftest.py |
mock_execution_context_factory |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / conftest.py |
mock_execution_context_factory._create |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / conftest.py |
mock_execution_context_for_tool |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / conftest.py |
(no function) |
|
30 |
0 |
4 |
|
100% |
| tests / unit / tools / core / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / core / conftest.py |
temp_python_file |
|
4 |
4 |
0 |
|
0% |
| tests / unit / tools / core / conftest.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
_mock_which_for_venv |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
_mock_which_for_venv.which_side_effect |
|
9 |
3 |
0 |
|
67% |
| tests / unit / tools / core / test_command_builders.py |
reset_registry |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_python_bundled_builder_handles_ruff |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_python_bundled_builder_handles_black |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_python_bundled_builder_handles_mypy |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_python_bundled_builder_does_not_handle_markdownlint |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_python_bundled_builder_prefers_path_binary_outside_venv |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_python_bundled_builder_prefers_python_module_in_venv |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_python_bundled_builder_prefers_path_when_tool_not_in_venv |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_python_bundled_builder_last_resort_python_m_in_venv |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_python_bundled_builder_falls_back_to_python_module |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_python_bundled_builder_skips_python_module_when_compiled |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_pytest_builder_handles_pytest |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_pytest_builder_does_not_handle_ruff |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_pytest_builder_prefers_path_binary_outside_venv |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_pytest_builder_prefers_python_module_in_venv |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_pytest_builder_prefers_path_when_tool_not_in_venv |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_pytest_builder_last_resort_python_m_in_venv |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_pytest_builder_falls_back_to_python_module |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_pytest_builder_skips_python_module_when_compiled |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_nodejs_builder_handles_markdownlint |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_nodejs_builder_handles_astro_check |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_nodejs_builder_does_not_handle_ruff |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_nodejs_builder_uses_bunx_when_available |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_nodejs_builder_falls_back_to_package_name |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_nodejs_builder_astro_check_uses_astro_binary |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_nodejs_builder_handles_vue_tsc |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_nodejs_builder_vue_tsc_uses_vue_tsc_binary |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_cargo_builder_handles_clippy |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_cargo_builder_does_not_handle_ruff |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_cargo_builder_returns_cargo_clippy |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_cargo_builder_handles_cargo_audit |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_cargo_builder_returns_cargo_audit |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_standalone_builder_handles_hadolint |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_standalone_builder_handles_actionlint |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_standalone_builder_does_not_handle_ruff |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_standalone_builder_returns_tool_name |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_registry_uses_first_matching_builder |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_registry_uses_first_matching_builder.CustomRuffBuilder.can_handle |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_registry_uses_first_matching_builder.CustomRuffBuilder.get_command |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_registry_fallback_to_tool_name |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_registry_is_registered |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
test_registry_clear |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_command_builders.py |
(no function) |
|
50 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_context.py |
_make_ctx |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_context.py |
test_runtime_context_has_environment |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_context.py |
test_runtime_context_environment_reflects_managers |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_context.py |
test_detect_docker_via_dockerenv |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_context.py |
test_detect_docker_via_env_var |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_context.py |
test_detect_docker_via_container_env_var |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_context.py |
test_detect_pip_default |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_context.py |
test_is_ci_with_ci_env_var |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_context.py |
test_is_ci_false |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_context.py |
test_detect_ci_system |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_context.py |
test_detect_ci_system_none |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_context.py |
test_ci_system_is_str_enum |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_context.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
_make_env |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_install_environment_has_true |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_install_environment_has_false |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_registry_contains_all_five |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_get_strategy_pip |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_get_strategy_unknown_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_pip_install_hint_with_uv |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_pip_install_hint_without_uv |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_pip_install_hint_homebrew_context |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_pip_upgrade_hint |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_pip_upgrade_hint_homebrew |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_pip_check_prerequisites_met |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_pip_check_prerequisites_not_met |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_pip_brew_only_non_homebrew_context |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_pip_is_available_true |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_pip_is_available_false |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_npm_install_hint_with_bun |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_npm_install_hint_without_bun |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_npm_upgrade_hint_with_bun |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_npm_check_prerequisites_met |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_npm_check_prerequisites_not_met |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_npm_brew_only_mapped_tool |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_npm_brew_only_unmapped_tool |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_binary_install_hint_with_brew |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_binary_install_hint_without_brew |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_binary_upgrade_hint_with_brew |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_binary_check_prerequisites_always_none |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_cargo_install_hint |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_cargo_upgrade_hint |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_cargo_check_prerequisites_met |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_cargo_check_prerequisites_not_met |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_rustup_install_hint_with_component |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_rustup_install_hint_without_component |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_rustup_upgrade_hint |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_rustup_check_prerequisites_met |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_rustup_check_prerequisites_not_met |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_brew_formula_names_markdownlint |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
test_brew_formula_names_osv_scanner |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_install_strategies.py |
(no function) |
|
44 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_line_length_checker.py |
test_line_length_violation_default_code_is_e501 |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_line_length_checker.py |
test_line_length_violation_all_fields_set |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_line_length_checker.py |
mock_ruff_available |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_line_length_checker.py |
mock_subprocess |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_line_length_checker.py |
test_check_line_length_empty_files_returns_empty_list |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_line_length_checker.py |
test_check_line_length_ruff_not_available_returns_empty |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_line_length_checker.py |
test_check_line_length_successful_detection |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_line_length_checker.py |
test_check_line_length_custom_line_length |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_line_length_checker.py |
test_check_line_length_exception_returns_empty |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_line_length_checker.py |
test_check_line_length_invalid_output_returns_empty |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_line_length_checker.py |
test_check_line_length_relative_paths_converted_to_absolute |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_line_length_checker.py |
test_check_line_length_old_ruff_json_format |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_line_length_checker.py |
test_check_line_length_multiple_violations |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_line_length_checker.py |
test_check_line_length_command_includes_required_flags |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_line_length_checker.py |
(no function) |
|
26 |
0 |
2 |
|
100% |
| tests / unit / tools / core / test_option_spec.py |
test_bool_option_validates_true |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_spec.py |
test_bool_option_validates_false |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_spec.py |
test_bool_option_rejects_non_bool |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_spec.py |
test_bool_option_to_cli_args_true |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_spec.py |
test_bool_option_to_cli_args_false |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_spec.py |
test_int_option_validates_valid_int |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_spec.py |
test_int_option_rejects_below_min |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_spec.py |
test_int_option_rejects_above_max |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_spec.py |
test_positive_int_option_rejects_zero |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_spec.py |
test_str_option_with_choices_rejects_invalid |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_spec.py |
test_list_option_rejects_non_list |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_spec.py |
test_list_option_to_cli_args |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_spec.py |
test_enum_option_rejects_invalid_choice |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_spec.py |
test_required_option_validates_none |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_spec.py |
test_optional_option_accepts_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_spec.py |
(no function) |
|
19 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_validate_bool_accepts_valid_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_validate_bool_rejects_invalid_values |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_validate_str_accepts_valid_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_validate_str_rejects_invalid_values |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_validate_int_accepts_valid_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_validate_int_rejects_invalid_values |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_validate_int_with_min_value |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_validate_int_rejects_below_min_value |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_validate_int_with_max_value |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_validate_int_rejects_above_max_value |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_validate_int_with_range |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_validate_int_none_with_range |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_validate_positive_int_accepts_valid_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_validate_positive_int_rejects_invalid_values |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_validate_list_accepts_valid_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_validate_list_rejects_invalid_values |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_normalize_str_or_list_valid_values |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_normalize_str_or_list_rejects_invalid_values |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_filter_none_options_filters_none_values |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_filter_none_options_empty_input |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_filter_none_options_all_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_filter_none_options_no_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
test_filter_none_options_preserves_falsy_values |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_option_validators.py |
(no function) |
|
40 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
_clear_cache_before_each_test |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_extract_version_semantic |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_extract_version_with_prefix |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_extract_version_keyword |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_extract_version_multiline |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_extract_version_returns_none_for_no_version |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_discover_tool_available |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_discover_tool_unavailable |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_discover_tool_handles_timeout |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_discover_tool_uses_cache |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_discover_all_tools |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_is_tool_available_returns_true |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_is_tool_available_returns_false |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_get_tool_path_returns_path |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_get_tool_path_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_get_unavailable_tools |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_get_unavailable_tools.mock_which |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_get_available_tools |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_get_available_tools.mock_which |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_format_tool_status_table |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_clear_discovery_cache |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
test_discovered_tool_default_values |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_runtime_discovery.py |
(no function) |
|
26 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
make_tool |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
make_tool._factory |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
context |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
registry |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
installer |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_is_manual_hint |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_version_meets_minimum |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_plan_tool_already_ok |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_plan_tool_outdated_no_upgrade |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_plan_tool_outdated_with_upgrade |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_plan_tool_missing_installable |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_plan_tool_missing_manual_hint |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_plan_tool_missing_with_install_script |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_plan_tool_upgrade_manual_hint |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_plan_tool_skipped_no_cargo |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_plan_tool_skipped_no_npm |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_plan_with_tools_list |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_plan_deduplicates_tools |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_plan_with_profile |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_plan_with_upgrade_flag |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_check_prerequisites_cargo_missing |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_check_prerequisites_npm_missing |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_check_prerequisites_pip_missing |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_check_prerequisites_all_met |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_get_install_command_delegates_to_context |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_get_install_command_upgrade_pip |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_get_install_command_upgrade_cargo |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_execute_runs_installs_and_upgrades |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_execute_empty_plan |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_run_install_success |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_run_install_failure |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_run_install_timeout |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_run_install_os_error |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_run_install_manual_hint_rejected |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_is_brew_managed_true |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_is_brew_managed_false |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
test_is_brew_managed_no_brew |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_installer.py |
(no function) |
|
52 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_options_spec.py |
test_add_returns_self_for_chaining |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_options_spec.py |
test_add_multiple_options_via_chaining |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_options_spec.py |
test_validate_all_valid_values |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_options_spec.py |
test_validate_all_rejects_invalid_value |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_options_spec.py |
test_validate_all_checks_required |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_options_spec.py |
test_to_cli_args |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_options_spec.py |
test_to_cli_args_skips_false_bools |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_options_spec.py |
test_get_defaults |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_options_spec.py |
test_get_defaults_empty_when_no_defaults |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_options_spec.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
v2_manifest_path |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
registry |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_load_v2_manifest |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_load_v1_compat |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_load_missing_name_skips_tool |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_load_missing_version_skips_tool |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_load_invalid_manifest_version |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_parse_tool_entry_invalid_version_command |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_all_tools_excludes_dev_by_default |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_all_tools_includes_dev |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_all_tools_sorted_by_name |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_tools_for_languages_single |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_tools_for_languages_multiple |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_tools_for_languages_always_includes_security |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_tools_for_languages_unknown_lang |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_tools_for_profile_explicit |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_tools_for_profile_auto_detect_with_langs |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_tools_for_profile_auto_detect_no_langs_falls_back_to_minimal |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_tools_for_profile_all |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_tools_for_profile_filter_excludes_formatters |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_tools_for_profile_unknown_raises |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_get_existing_tool |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_get_missing_tool_raises_key_error |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_get_or_none_existing |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_get_or_none_missing |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_contains_true |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_contains_false |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
test_len |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_tool_registry.py |
(no function) |
|
38 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_version_checking.py |
test_get_version_timeout_default |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_version_checking.py |
test_get_version_timeout_valid |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_version_checking.py |
test_get_version_timeout_invalid |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_version_checking.py |
test_get_minimum_versions_returns_dict |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_version_checking.py |
test_get_minimum_versions_contains_expected_tools |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_version_checking.py |
test_get_minimum_versions_returns_copy |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_version_checking.py |
test_get_install_hints_returns_dict |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_version_checking.py |
test_get_install_hints_pip_for_python_tools |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_version_checking.py |
test_get_install_hints_bun_for_node_tools |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_version_checking.py |
test_get_install_hints_external_tools |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / core / test_version_checking.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / conftest.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
_FakeToolDefinition.__init__ |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
_FakeTool.__init__ |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
_FakeTool.definition |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
_FakeTool.set_options |
|
1 |
1 |
0 |
|
0% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
_reset_config_cache |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
test_disabled_tool_skipped_in_all_tools_check |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
test_disabled_tool_skipped_in_all_tools_fix |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
test_disabled_tool_skipped_when_explicitly_requested |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
test_all_tools_disabled_returns_empty_list |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
test_enabled_tool_runs_normally |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
test_tool_not_in_config_defaults_to_enabled |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
test_empty_config_all_tools_enabled |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
test_execution_enabled_tools_filter |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
test_execution_enabled_tools_combined_with_tool_disabled |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
test_disabled_tool_skipped_in_fix_action |
|
14 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
test_disabled_tool_skipped_in_fix_action.mock_get_tool |
|
5 |
3 |
0 |
|
40% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
test_disabled_tool_case_insensitive |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_configuration_enabled.py |
(no function) |
|
29 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
FakeTool.__init__ |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
FakeTool.definition |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
FakeTool.can_fix |
|
1 |
1 |
0 |
|
0% |
| tests / unit / tools / executor / test_tool_executor.py |
FakeTool.reset_options |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
FakeTool.set_options |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
FakeTool.check |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
FakeTool.fix |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
_setup_tool_manager |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
_setup_tool_manager.fake_get_tools |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
_setup_tool_manager.fake_get_tool |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
_setup_tool_manager.noop_write_reports_from_results |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
_stub_logger |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
test_executor_check_success |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
test_executor_check_failure |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
test_executor_fmt_success_with_counts |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
test_executor_json_output |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
test_executor_handles_tool_failure_with_output |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
test_parse_tool_options_typed_values |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
test_executor_unknown_tool |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
test_executor_unknown_tool.raise_value_error |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor.py |
(no function) |
|
39 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_fmt_exclusion.py |
test_fmt_excludes_bandit_by_default |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_fmt_exclusion.py |
test_fmt_explicit_bandit_raises_error |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_fmt_exclusion.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
_stub_logger |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
_stub_logger.SilentLogger.__getattr__ |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
_stub_logger.SilentLogger.__getattr__._ |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_get_tools_to_run_unknown_tool_raises |
|
8 |
1 |
0 |
|
88% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_get_tools_to_run_fmt_with_cannot_fix_raises |
|
15 |
1 |
0 |
|
93% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_get_tools_to_run_fmt_with_cannot_fix_raises.NoFixTool.__init__ |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_get_tools_to_run_fmt_with_cannot_fix_raises.NoFixTool.definition |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_get_tools_to_run_fmt_with_cannot_fix_raises.NoFixTool.can_fix |
|
1 |
1 |
0 |
|
0% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_get_tools_to_run_fmt_with_cannot_fix_raises.NoFixTool.set_options |
|
1 |
1 |
0 |
|
0% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_main_loop_get_tool_raises_appends_failure |
|
13 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_main_loop_get_tool_raises_appends_failure.fake_get_tools |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_main_loop_get_tool_raises_appends_failure.fake_get_tool |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_write_reports_errors_are_swallowed |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_write_reports_errors_are_swallowed.fake_get_tools |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_write_reports_errors_are_swallowed.boom |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_unknown_post_check_tool_is_skipped |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_post_checks_early_filter_removes_black_from_main |
|
26 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_post_checks_early_filter_removes_black_from_main.LoggerCapture.__init__ |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_post_checks_early_filter_removes_black_from_main.LoggerCapture.__getattr__ |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_post_checks_early_filter_removes_black_from_main.LoggerCapture.__getattr__._ |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_post_checks_early_filter_removes_black_from_main.LoggerCapture.print_lintro_header |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_post_checks_early_filter_removes_black_from_main.LoggerCapture.print_tool_header |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_post_checks_early_filter_removes_black_from_main.post_check_config |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_post_checks_early_filter_removes_black_from_main.mock_execute_post_checks |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
test_all_filtered_results_in_no_tools_warning |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_more.py |
(no function) |
|
28 |
0 |
2 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_post_checks.py |
FakeTool.__init__ |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_post_checks.py |
FakeTool.definition |
|
1 |
1 |
0 |
|
0% |
| tests / unit / tools / executor / test_tool_executor_post_checks.py |
FakeTool.can_fix |
|
1 |
1 |
0 |
|
0% |
| tests / unit / tools / executor / test_tool_executor_post_checks.py |
FakeTool.reset_options |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_post_checks.py |
FakeTool.set_options |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_post_checks.py |
FakeTool.check |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_post_checks.py |
FakeTool.fix |
|
1 |
1 |
0 |
|
0% |
| tests / unit / tools / executor / test_tool_executor_post_checks.py |
_stub_logger |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_post_checks.py |
_stub_logger.SilentLogger.__getattr__ |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_post_checks.py |
_stub_logger.SilentLogger.__getattr__._ |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_post_checks.py |
_setup_main_tool |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_post_checks.py |
_setup_main_tool.fake_get_tools |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_post_checks.py |
_setup_main_tool.noop_write_reports_from_results |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_post_checks.py |
test_post_checks_missing_tool_is_skipped_gracefully |
|
19 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_post_checks.py |
test_post_checks_missing_tool_is_skipped_gracefully.post_check_config |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_post_checks.py |
test_post_checks_missing_tool_is_skipped_gracefully.fail_get_tool |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_post_checks.py |
(no function) |
|
32 |
0 |
2 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_pytest.py |
test_get_tools_to_run_test_action_with_pytest |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_pytest.py |
test_get_tools_to_run_test_action_with_pytest_full_name |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_pytest.py |
test_get_tools_to_run_test_action_with_none_tools |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_pytest.py |
test_get_tools_to_run_test_action_with_invalid_tool |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_pytest.py |
test_get_tools_to_run_test_action_with_multiple_tools |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_pytest.py |
test_get_tools_to_run_check_action_rejects_pytest |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_pytest.py |
test_get_tools_to_run_format_action_rejects_pytest |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_pytest.py |
test_get_tools_to_run_test_action_unavailable |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_pytest.py |
test_get_tools_to_run_check_action_filters_out_pytest |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_pytest.py |
test_get_tools_to_run_format_action_filters_out_pytest |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_pytest.py |
test_run_lint_tools_simple_test_action_basic |
|
12 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_pytest.py |
test_run_lint_tools_simple_test_action_with_failures |
|
12 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_pytest.py |
test_run_lint_tools_simple_test_action_invalid_tool |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_pytest.py |
test_run_lint_tools_simple_test_action_with_tool_options |
|
12 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_pytest.py |
test_run_lint_tools_simple_test_action_exclude_patterns |
|
12 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_pytest.py |
test_run_lint_tools_simple_test_action_verbose |
|
12 |
0 |
0 |
|
100% |
| tests / unit / tools / executor / test_tool_executor_pytest.py |
(no function) |
|
24 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / conftest.py |
gitleaks_plugin |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / conftest.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_error_handling.py |
test_check_with_timeout |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_error_handling.py |
test_check_with_execution_failure |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_error_handling.py |
test_fix_raises_not_implemented_error |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_error_handling.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_execution.py |
_get_report_path |
|
5 |
2 |
0 |
|
60% |
| tests / unit / tools / gitleaks / test_execution.py |
_mock_subprocess_factory |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_execution.py |
_mock_subprocess_factory.mock_run |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_execution.py |
test_check_with_mocked_subprocess_success |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_execution.py |
test_check_with_mocked_subprocess_secrets_found |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_execution.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_options.py |
test_default_options_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_options.py |
test_set_options_valid |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_options.py |
test_set_options_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_options.py |
test_build_check_command_basic |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_options.py |
test_build_check_command_with_no_git_false |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_options.py |
test_build_check_command_with_config |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_options.py |
test_build_check_command_with_baseline_path |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_options.py |
test_build_check_command_with_max_target_megabytes |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_options.py |
test_build_check_command_with_redact_false |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_options.py |
test_build_check_command_with_all_options |
|
12 |
0 |
0 |
|
100% |
| tests / unit / tools / gitleaks / test_options.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / conftest.py |
hadolint_plugin |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / conftest.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_execution.py |
test_check_with_issues |
|
20 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_execution.py |
test_check_multiple_files |
|
16 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_execution.py |
test_parse_single_issue |
|
22 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_execution.py |
test_parse_multiple_issues |
|
20 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_execution.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_default_options_values |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_set_options_format |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_set_options_failure_threshold |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_set_options_ignore |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_set_options_trusted_registries |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_set_options_require_labels |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_set_options_strict_labels |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_set_options_no_fail |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_set_options_no_color |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_set_options_no_options |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_set_options_invalid_ignore_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_set_options_invalid_strict_labels_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_build_command_default |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_build_command_with_format |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_build_command_with_failure_threshold |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_build_command_with_ignore |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_build_command_with_trusted_registries |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_build_command_with_require_labels |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_build_command_with_strict_labels |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_build_command_with_no_fail |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
test_build_command_without_no_color |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / hadolint / test_options.py |
(no function) |
|
26 |
0 |
0 |
|
100% |
| tests / unit / tools / manager / conftest.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / manager / test_tool_manager.py |
test_tool_manager_get_all_tools |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / manager / test_tool_manager.py |
test_tool_manager_get_tool_by_name |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / manager / test_tool_manager.py |
test_tool_manager_get_tool_case_insensitive |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / manager / test_tool_manager.py |
test_tool_manager_get_tool_missing |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / manager / test_tool_manager.py |
test_tool_manager_get_check_and_fix_tools |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / manager / test_tool_manager.py |
test_tool_manager_get_tool_execution_order |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / manager / test_tool_manager.py |
test_tool_manager_get_tool_execution_order_with_conflicts |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / manager / test_tool_manager.py |
test_tool_manager_get_tool_names |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / manager / test_tool_manager.py |
test_tool_manager_is_tool_registered |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / manager / test_tool_manager.py |
test_tool_manager_set_tool_options |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / manager / test_tool_manager.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| tests / unit / tools / mypy / test_mypy_plugin.py |
test_split_config_values |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / mypy / test_mypy_plugin.py |
test_regex_to_glob |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / mypy / test_mypy_plugin.py |
test_set_options_valid |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / mypy / test_mypy_plugin.py |
test_set_options_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / mypy / test_mypy_plugin.py |
test_build_effective_excludes_includes_defaults |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / mypy / test_mypy_plugin.py |
test_build_effective_excludes_adds_configured |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / mypy / test_mypy_plugin.py |
test_build_effective_excludes_handles_list |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / mypy / test_mypy_plugin.py |
test_build_effective_excludes_converts_regex |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / mypy / test_mypy_plugin.py |
(no function) |
|
17 |
0 |
2 |
|
100% |
| tests / unit / tools / osv_scanner / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / conftest.py |
osv_scanner_plugin |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / conftest.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_definition_name |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_definition_type |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_definition_cannot_fix |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_default_timeout |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_set_options_validates_timeout_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_set_options_validates_timeout_negative |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_set_options_validates_timeout_zero |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_set_options_validates_timeout_bool |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_check_no_vulnerabilities |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_check_with_vulnerabilities |
|
13 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_check_timeout |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_check_empty_paths |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_fix_raises_not_implemented |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_issue_default_severity_is_error |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_check_with_suppressions_detects_stale |
|
13 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_check_without_config_no_metadata |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_check_suppressions_disabled |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_check_suppressions_probe_timeout |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_build_probe_command_internal |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_find_config_file_in_scan_root |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_find_config_file_in_parent |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_find_config_file_not_found |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
test_set_options_validates_check_suppressions |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / osv_scanner / test_osv_scanner_plugin.py |
(no function) |
|
36 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / conftest.py |
oxfmt_plugin |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / conftest.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_check_method.py |
test_check_returns_success_when_no_issues |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_check_method.py |
test_check_returns_issues_when_unformatted_files |
|
13 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_check_method.py |
test_check_timeout_handling |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_check_method.py |
test_check_early_return_when_should_skip |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_check_method.py |
test_check_suppresses_output_on_success |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_check_method.py |
(no function) |
|
12 |
0 |
2 |
|
100% |
| tests / unit / tools / oxfmt / test_default_options.py |
test_definition_attributes |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_default_options.py |
test_definition_file_patterns |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_default_options.py |
test_definition_native_configs |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_default_options.py |
test_definition_version_command |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_default_options.py |
test_definition_conflicts_with |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_default_options.py |
test_default_options_timeout |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_default_options.py |
test_default_options_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_default_options.py |
(no function) |
|
15 |
0 |
2 |
|
100% |
| tests / unit / tools / oxfmt / test_fix_method.py |
test_fix_success_no_issues |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_fix_method.py |
test_fix_success_with_fixes_applied |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_fix_method.py |
test_fix_timeout_during_initial_check |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_fix_method.py |
test_fix_timeout_during_fix_command |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_fix_method.py |
test_fix_early_return_when_should_skip |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_fix_method.py |
test_fix_multiple_files_with_issues |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_fix_method.py |
test_fix_output_includes_fix_count |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_fix_method.py |
(no function) |
|
14 |
0 |
2 |
|
100% |
| tests / unit / tools / oxfmt / test_set_options.py |
test_config_accepts_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_set_options.py |
test_config_rejects_non_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_set_options.py |
test_ignore_path_accepts_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_set_options.py |
test_ignore_path_rejects_non_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_set_options.py |
test_set_multiple_options |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_set_options.py |
test_build_args_empty_options |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_set_options.py |
test_build_args_config_adds_flag |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_set_options.py |
test_build_args_ignore_path_adds_flag |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_set_options.py |
test_build_args_multiple_options_combine |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / oxfmt / test_set_options.py |
(no function) |
|
13 |
0 |
2 |
|
100% |
| tests / unit / tools / oxlint / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / conftest.py |
oxlint_plugin |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / conftest.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_check_method.py |
test_check_with_issues |
|
20 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_check_method.py |
test_check_without_issues |
|
18 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_check_method.py |
test_check_timeout_handling |
|
18 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_check_method.py |
test_check_early_skip |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_check_method.py |
(no function) |
|
12 |
0 |
2 |
|
100% |
| tests / unit / tools / oxlint / test_default_options.py |
test_default_options_values |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_default_options.py |
test_default_timeout_constant |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_default_options.py |
test_plugin_options_initialized |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_default_options.py |
(no function) |
|
9 |
0 |
2 |
|
100% |
| tests / unit / tools / oxlint / test_fix_method.py |
test_fix_success_all_fixed |
|
21 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_fix_method.py |
test_fix_success_all_fixed.mock_run_subprocess |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_fix_method.py |
test_fix_partial_fix |
|
20 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_fix_method.py |
test_fix_partial_fix.mock_run_subprocess |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_fix_method.py |
test_fix_timeout_on_initial_check |
|
14 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_fix_method.py |
test_fix_timeout_on_fix_command |
|
19 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_fix_method.py |
test_fix_timeout_on_fix_command.mock_run_subprocess |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_fix_method.py |
test_fix_timeout_on_final_check |
|
19 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_fix_method.py |
test_fix_timeout_on_final_check.mock_run_subprocess |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_fix_method.py |
test_fix_early_skip |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_fix_method.py |
test_fix_unfixable_issues |
|
21 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_fix_method.py |
test_fix_unfixable_issues.mock_run_subprocess |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_fix_method.py |
test_fix_no_issues |
|
19 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_fix_method.py |
test_fix_no_issues.mock_run_subprocess |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_fix_method.py |
(no function) |
|
16 |
0 |
2 |
|
100% |
| tests / unit / tools / oxlint / test_set_options.py |
test_config_accepts_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_set_options.py |
test_config_rejects_non_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_set_options.py |
test_tsconfig_accepts_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_set_options.py |
test_tsconfig_rejects_non_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_set_options.py |
test_rule_option_accepts_valid_input |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_set_options.py |
test_rule_list_rejects_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_set_options.py |
test_set_multiple_options |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_set_options.py |
test_none_values_do_not_override |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_set_options.py |
test_build_args_empty_options |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_set_options.py |
test_build_args_config_adds_flag |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_set_options.py |
test_build_args_tsconfig_adds_flag |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_set_options.py |
test_build_args_rule_options_add_flags |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_set_options.py |
test_build_args_multiple_options_combine |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / oxlint / test_set_options.py |
(no function) |
|
19 |
0 |
2 |
|
100% |
| tests / unit / tools / prettier / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / conftest.py |
prettier_plugin |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / conftest.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_check_method.py |
(no function) |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_config_discovery.py |
test_find_prettier_config_not_found |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_config_discovery.py |
test_find_prettier_config_found_prettierrc |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_config_discovery.py |
test_find_prettier_config_found_prettierrc.mock_exists |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_config_discovery.py |
test_find_prettierignore_not_found |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_config_discovery.py |
test_find_prettierignore_found |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_config_discovery.py |
test_find_prettierignore_found.mock_exists |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_config_discovery.py |
test_build_config_args_returns_args_when_builtin_defaults_exist |
|
15 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_config_discovery.py |
(no function) |
|
9 |
0 |
2 |
|
100% |
| tests / unit / tools / prettier / test_default_options.py |
test_default_options_timeout |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_default_options.py |
test_default_options_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_default_options.py |
(no function) |
|
8 |
0 |
2 |
|
100% |
| tests / unit / tools / prettier / test_fix_method.py |
test_fix_success_no_issues |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_fix_method.py |
test_fix_success_with_fixes_applied |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_fix_method.py |
test_fix_timeout_during_check |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_fix_method.py |
test_fix_early_return_when_should_skip |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_fix_method.py |
(no function) |
|
9 |
0 |
2 |
|
100% |
| tests / unit / tools / prettier / test_output_parsing.py |
test_check_parses_prettier_output_correctly |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_output_parsing.py |
(no function) |
|
5 |
0 |
2 |
|
100% |
| tests / unit / tools / prettier / test_set_options.py |
test_set_options_valid |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_set_options.py |
test_set_options_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_set_options.py |
(no function) |
|
8 |
0 |
2 |
|
100% |
| tests / unit / tools / prettier / test_timeout_handling.py |
test_create_timeout_result_basic |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_timeout_handling.py |
test_create_timeout_result_with_initial_issues |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / prettier / test_timeout_handling.py |
(no function) |
|
7 |
0 |
2 |
|
100% |
| tests / unit / tools / pydoclint / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / conftest.py |
pydoclint_plugin |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / conftest.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_build_command.py |
test_build_command_basic |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_build_command.py |
test_build_command_quiet_enabled_by_default |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_build_command.py |
test_build_command_with_quiet_false |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_build_command.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_check_method.py |
test_check_with_mocked_subprocess_success |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_check_method.py |
test_check_with_mocked_subprocess_issues |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_check_method.py |
test_check_with_timeout |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_check_method.py |
test_check_with_no_python_files |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_check_method.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_config_initialization.py |
test_plugin_definition_has_empty_conflicts_with |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_config_initialization.py |
test_plugin_definition_native_configs |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_config_initialization.py |
test_plugin_default_timeout |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_config_initialization.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_default_options.py |
test_default_options_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_default_options.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_fix_method.py |
test_fix_raises_not_implemented |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_fix_method.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_set_options.py |
test_set_options_quiet |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_set_options.py |
test_set_options_timeout |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pydoclint / test_set_options.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / conftest.py |
mock_test_tool |
|
9 |
9 |
0 |
|
0% |
| tests / unit / tools / pytest_tool / conftest.py |
patch_pytest_tool_for_check |
|
2 |
2 |
0 |
|
0% |
| tests / unit / tools / pytest_tool / conftest.py |
sample_pytest_plugin |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / conftest.py |
sample_pytest_config |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / conftest.py |
result_processor |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / conftest.py |
mock_test_success_output |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / conftest.py |
mock_test_failure_output |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / conftest.py |
mock_test_mixed_output |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / conftest.py |
mock_test_json_success |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / conftest.py |
mock_test_json_failure |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / conftest.py |
mock_test_json_mixed |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / conftest.py |
mock_test_junit_xml_success |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / conftest.py |
mock_test_junit_xml_failure |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / conftest.py |
mock_test_junit_xml_mixed |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / conftest.py |
sample_pytest_issues |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / conftest.py |
sample_passed_issues |
|
1 |
1 |
0 |
|
0% |
| tests / unit / tools / pytest_tool / conftest.py |
mock_subprocess_success |
|
5 |
5 |
0 |
|
0% |
| tests / unit / tools / pytest_tool / conftest.py |
mock_subprocess_failure |
|
5 |
5 |
0 |
|
0% |
| tests / unit / tools / pytest_tool / conftest.py |
(no function) |
|
46 |
0 |
2 |
|
100% |
| tests / unit / tools / pytest_tool / test_check_method.py |
test_check_success_with_mocked_subprocess |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_check_method.py |
test_check_failure_with_mocked_subprocess |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_check_method.py |
test_check_handles_executor_not_initialized |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_check_method.py |
test_check_handles_result_processor_not_initialized |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_check_method.py |
test_collect_only_mode_enabled |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_check_method.py |
test_collect_only_returns_special_mode |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_check_method.py |
(no function) |
|
12 |
0 |
2 |
|
100% |
| tests / unit / tools / pytest_tool / test_configuration.py |
test_default_values |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_configuration.py |
test_set_options |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_configuration.py |
test_get_options_dict |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_configuration.py |
test_is_special_mode_false_by_default |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_configuration.py |
test_is_special_mode_true_when_set |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_configuration.py |
test_get_special_mode_none_by_default |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_configuration.py |
test_get_special_mode_returns_correct_mode |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_configuration.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_json_parsing.py |
test_parse_json_success_returns_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_json_parsing.py |
test_parse_json_failure_returns_issues |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_json_parsing.py |
test_parse_json_mixed_returns_all_issues |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_json_parsing.py |
test_parse_json_empty_returns_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_json_parsing.py |
test_parse_json_invalid_returns_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_json_parsing.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_junit_parsing.py |
test_parse_junit_success_returns_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_junit_parsing.py |
test_parse_junit_failure_returns_issues |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_junit_parsing.py |
test_parse_junit_mixed_returns_all_issues |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_junit_parsing.py |
test_parse_junit_empty_returns_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_junit_parsing.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_parsing.py |
test_extract_summary_all_passed |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_parsing.py |
test_extract_summary_with_failures |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_parsing.py |
test_extract_summary_mixed_results |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_parsing.py |
test_extract_summary_empty_output |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_parsing.py |
test_dispatch_json_format |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_parsing.py |
test_dispatch_junit_format |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_parsing.py |
test_dispatch_text_format |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_parsing.py |
test_default_format_is_text |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_parsing.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_processing.py |
test_process_test_summary_all_passed |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_processing.py |
test_process_test_summary_with_failures |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_processing.py |
test_detect_slow_tests_finds_slow |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_processing.py |
test_detect_slow_tests_none_slow |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_processing.py |
test_build_output_with_failures_includes_summary |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_processing.py |
test_fallback_returns_empty_for_empty_output |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_processing.py |
test_fallback_uses_json_when_option_set |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_processing.py |
test_fallback_to_text_when_format_fails |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_output_processing.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
_make_mock_tool |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_list_plugins_with_plugins |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_list_plugins_no_plugins |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_check_plugins_all_installed |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_check_plugins_some_missing |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_check_plugins_no_plugins_specified |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_collect_only_success |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_collect_only_failure |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_collect_only_exception |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_list_fixtures_success |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_list_fixtures_failure |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_list_fixtures_exception |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_fixture_info_found |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_fixture_info_not_found |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_fixture_info_exception |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_list_markers_success |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_list_markers_failure |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_list_markers_exception |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
test_handle_parametrize_help_returns_help_text |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_handlers.py |
(no function) |
|
30 |
0 |
2 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_issue.py |
test_pytest_issue_creation |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_issue.py |
test_pytest_issue_default_values |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_issue.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_output_processor.py |
test_pytest_output_processor_exports_constants |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_output_processor.py |
test_pytest_output_processor_exports_parse_function |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_output_processor.py |
test_pytest_output_processor_exports_analytics_functions |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_output_processor.py |
test_pytest_output_processor_exports_coverage_functions |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_output_processor.py |
test_pytest_output_processor_exports_formatter_functions |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_output_processor.py |
test_pytest_output_processor_all_attribute |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_pytest_output_processor.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_result_processor.py |
test_build_result_success |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_result_processor.py |
test_build_result_failure |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_result_processor.py |
test_build_result_filters_skipped |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_result_processor.py |
test_build_result_has_pytest_summary |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_result_processor.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_set_options.py |
test_set_options_valid |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_set_options.py |
test_set_options_workers_int_coerces_to_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_set_options.py |
test_set_options_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_set_options.py |
(no function) |
|
9 |
0 |
2 |
|
100% |
| tests / unit / tools / pytest_tool / test_text_parsing.py |
test_parse_text_failed_line |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_text_parsing.py |
test_parse_text_error_line |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_text_parsing.py |
test_parse_text_skipped_line |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_text_parsing.py |
test_parse_text_empty_returns_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_text_parsing.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_validators.py |
test_validate_valid_options_passes |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_validators.py |
test_validate_invalid_tb_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_validators.py |
test_validate_invalid_maxfail_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_validators.py |
test_validate_invalid_coverage_threshold_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_validators.py |
test_validate_flaky_failure_rate_bounds |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / pytest_tool / test_validators.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / conftest.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_config_detection.py |
test_execute_ruff_check_uses_cwd_for_config_discovery |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_config_detection.py |
test_execute_ruff_check_with_config_args |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_config_detection.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_error_handling.py |
test_execute_ruff_check_handles_timeout |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_error_handling.py |
test_execute_ruff_check_handles_format_timeout |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_error_handling.py |
test_execute_ruff_check_subprocess_failure_respected |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_error_handling.py |
test_execute_ruff_check_version_check_failure |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_error_handling.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_format_normalization.py |
test_execute_ruff_check_normalizes_format_paths_to_absolute |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_format_normalization.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_json_parsing.py |
test_execute_ruff_check_parses_json_output_correctly |
|
14 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_json_parsing.py |
test_execute_ruff_check_empty_json_output |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_json_parsing.py |
test_execute_ruff_check_parses_format_check_output |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_json_parsing.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_no_issues.py |
test_execute_ruff_check_no_issues_returns_success |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_no_issues.py |
test_execute_ruff_check_no_issues_with_format_check |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_no_issues.py |
test_execute_ruff_check_empty_paths_returns_no_files_message |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_no_issues.py |
test_execute_ruff_check_no_python_files_found |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_no_issues.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_output_format.py |
test_execute_ruff_check_output_is_none_on_success |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_output_format.py |
test_execute_ruff_check_output_is_none_with_issues |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_output_format.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_output_truncation.py |
test_check_failure_logs_output_to_debug_only |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_output_truncation.py |
test_format_check_failure_logs_output_to_debug_only |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_output_truncation.py |
test_check_success_does_not_log_output |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_output_truncation.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_path_filtering.py |
test_execute_ruff_check_filters_python_files |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_path_filtering.py |
test_execute_ruff_check_uses_exclude_patterns |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_path_filtering.py |
test_execute_ruff_check_respects_include_venv |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_path_filtering.py |
test_execute_ruff_check_converts_paths_to_relative |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_path_filtering.py |
test_execute_ruff_check_handles_multiple_directories |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_path_filtering.py |
test_execute_ruff_check_uses_absolute_paths_when_no_cwd |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_path_filtering.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_real_plugin.py |
test_execute_ruff_check_with_real_plugin_no_files |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_real_plugin.py |
test_execute_ruff_check_with_real_plugin |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_real_plugin.py |
(no function) |
|
8 |
0 |
2 |
|
100% |
| tests / unit / tools / ruff / check / test_timeout.py |
test_execute_ruff_check_uses_default_timeout |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_timeout.py |
test_execute_ruff_check_uses_tool_timeout |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_timeout.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_with_issues.py |
test_execute_ruff_check_with_lint_issues_returns_failure |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_with_issues.py |
test_execute_ruff_check_with_multiple_lint_issues |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_with_issues.py |
test_execute_ruff_check_with_format_issues_returns_failure |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_with_issues.py |
test_execute_ruff_check_combines_lint_and_format_issues |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / check / test_with_issues.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / conftest.py |
mock_ruff_tool |
|
15 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / conftest.py |
ruff_plugin |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / conftest.py |
sample_ruff_json_output |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / conftest.py |
sample_ruff_json_empty_output |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / conftest.py |
sample_ruff_format_check_output |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / conftest.py |
sample_ruff_format_check_empty_output |
|
1 |
1 |
0 |
|
0% |
| tests / unit / tools / ruff / conftest.py |
temp_python_file |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / conftest.py |
temp_python_files |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / conftest.py |
(no function) |
|
23 |
0 |
2 |
|
100% |
| tests / unit / tools / ruff / fix / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / conftest.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_combined_issues.py |
test_execute_ruff_fix_combined_lint_and_format_issues |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_combined_issues.py |
test_execute_ruff_fix_partial_fix_with_format |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_combined_issues.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_config.py |
test_execute_ruff_fix_uses_config_args |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_config.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_edge_cases.py |
test_execute_ruff_fix_handles_malformed_json |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_edge_cases.py |
test_execute_ruff_fix_handles_empty_output |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_edge_cases.py |
test_execute_ruff_fix_format_exit_code_handling |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_edge_cases.py |
test_execute_ruff_fix_multiple_files |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_edge_cases.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_format_option.py |
test_execute_ruff_fix_with_format_enabled |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_format_option.py |
test_execute_ruff_fix_format_disabled |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_format_option.py |
test_execute_ruff_fix_lint_fix_disabled |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_format_option.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_no_files.py |
test_execute_ruff_fix_no_paths |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_no_files.py |
test_execute_ruff_fix_no_python_files_found |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_no_files.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_real_plugin.py |
test_execute_ruff_fix_with_real_plugin_no_files |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_real_plugin.py |
test_execute_ruff_fix_with_real_plugin_nonexistent_path |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_real_plugin.py |
test_execute_ruff_fix_integration_with_temp_file |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_real_plugin.py |
(no function) |
|
9 |
0 |
2 |
|
100% |
| tests / unit / tools / ruff / fix / test_successful_fix.py |
test_execute_ruff_fix_with_fixable_issues |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_successful_fix.py |
test_execute_ruff_fix_with_no_issues |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_successful_fix.py |
test_execute_ruff_fix_with_unfixable_issues |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_successful_fix.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_temporary_option.py |
test_temporary_option_sets_and_restores_value |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_temporary_option.py |
test_temporary_option_restores_original_value |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_temporary_option.py |
test_temporary_option_restores_on_exception |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_temporary_option.py |
test_temporary_option_removes_new_key_on_exit |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_temporary_option.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_timeout.py |
test_execute_ruff_fix_timeout_on_initial_check |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_timeout.py |
test_execute_ruff_fix_timeout_on_fix_command |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_timeout.py |
test_execute_ruff_fix_timeout_on_format_check |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_timeout.py |
test_execute_ruff_fix_timeout_on_format_command |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_timeout.py |
test_execute_ruff_fix_timeout_on_unsafe_check_continues |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_timeout.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_unsafe_fixes.py |
test_execute_ruff_fix_unsafe_fixes_enabled |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_unsafe_fixes.py |
test_execute_ruff_fix_warns_about_unsafe_fixes |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_unsafe_fixes.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_version_check.py |
test_execute_ruff_fix_version_check_fails |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / ruff / fix / test_version_check.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / conftest.py |
rustfmt_plugin |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / conftest.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_error_handling.py |
test_check_with_timeout |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_error_handling.py |
test_fix_with_timeout_on_initial_check |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_error_handling.py |
test_fix_with_timeout_on_fix_command |
|
14 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_error_handling.py |
test_fix_with_timeout_on_fix_command.mock_run |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_error_handling.py |
test_fix_with_timeout_on_verification |
|
14 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_error_handling.py |
test_fix_with_timeout_on_verification.mock_run |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_error_handling.py |
test_parse_rustfmt_output_with_diff |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_error_handling.py |
test_parse_rustfmt_output_multiple_files |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_error_handling.py |
test_parse_rustfmt_output_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_error_handling.py |
test_parse_rustfmt_output_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_error_handling.py |
(no function) |
|
15 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_execution.py |
test_check_no_cargo_toml |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_execution.py |
test_check_with_mocked_subprocess_success |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_execution.py |
test_check_with_mocked_subprocess_issues |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_execution.py |
test_check_with_no_rust_files |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_execution.py |
test_fix_no_cargo_toml |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_execution.py |
test_fix_with_mocked_subprocess_success |
|
13 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_execution.py |
test_fix_with_mocked_subprocess_success.mock_run |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_execution.py |
test_fix_with_nothing_to_fix |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_execution.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_options.py |
test_definition_attributes |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_options.py |
test_definition_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_options.py |
test_definition_native_configs |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_options.py |
test_definition_version_command |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_options.py |
test_default_options_timeout |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_options.py |
test_set_options_valid_timeout |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_options.py |
test_set_options_invalid_timeout |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / rustfmt / test_options.py |
(no function) |
|
16 |
0 |
2 |
|
100% |
| tests / unit / tools / semgrep / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / conftest.py |
semgrep_plugin |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / conftest.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_error_handling.py |
test_check_with_timeout |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_error_handling.py |
test_check_with_json_parse_error |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_error_handling.py |
test_check_with_semgrep_errors |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_error_handling.py |
test_parse_semgrep_output_single_issue |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_error_handling.py |
test_parse_semgrep_output_multiple_issues |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_error_handling.py |
test_parse_semgrep_output_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_error_handling.py |
test_parse_semgrep_output_empty_results |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_error_handling.py |
test_parse_semgrep_output_with_cwe |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_error_handling.py |
test_parse_semgrep_output_none_input |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_error_handling.py |
(no function) |
|
18 |
0 |
2 |
|
100% |
| tests / unit / tools / semgrep / test_execution.py |
test_check_with_mocked_subprocess_success |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_execution.py |
test_check_with_mocked_subprocess_findings |
|
13 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_execution.py |
test_check_with_multiple_findings |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_execution.py |
test_fix_raises_not_implemented |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_execution.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_options.py |
test_default_options_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_options.py |
test_set_options_valid |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_options.py |
test_set_options_severity_lowercase |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_options.py |
test_set_options_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_options.py |
test_build_check_command_basic |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_options.py |
test_build_check_command_with_config |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_options.py |
test_build_check_command_with_exclude |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_options.py |
test_build_check_command_with_include |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_options.py |
test_build_check_command_with_severity |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_options.py |
test_build_check_command_with_jobs |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_options.py |
test_build_check_command_with_timeout_threshold |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_options.py |
test_build_check_command_with_verbose |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_options.py |
test_build_check_command_with_quiet |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_options.py |
test_build_check_command_with_all_options |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / semgrep / test_options.py |
(no function) |
|
21 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / conftest.py |
shellcheck_plugin |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / conftest.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_error_handling.py |
test_check_with_timeout |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_error_handling.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_execution.py |
test_check_with_mocked_subprocess_success |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_execution.py |
test_check_with_mocked_subprocess_issues |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_execution.py |
test_check_with_no_shell_files |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_execution.py |
test_fix_raises_not_implemented |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_execution.py |
test_parse_shellcheck_output_single_issue |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_execution.py |
test_parse_shellcheck_output_multiple_issues |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_execution.py |
test_parse_shellcheck_output_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_execution.py |
test_parse_shellcheck_output_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_execution.py |
test_parse_shellcheck_output_invalid_json |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_execution.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_options.py |
test_default_options_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_options.py |
test_set_options_valid |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_options.py |
test_set_options_severity_case_insensitive |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_options.py |
test_set_options_shell_case_insensitive |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_options.py |
test_set_options_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_options.py |
test_build_command_basic |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_options.py |
test_build_command_with_severity |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_options.py |
test_build_command_with_exclude_codes |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_options.py |
test_build_command_with_shell_dialect |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_options.py |
test_build_command_with_all_options |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_options.py |
test_severity_levels_constant |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_options.py |
test_shell_dialects_constant |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_options.py |
test_default_timeout_constant |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_options.py |
test_default_format_constant |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_options.py |
test_default_severity_constant |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / shellcheck / test_options.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / conftest.py |
shfmt_plugin |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / conftest.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_error_handling.py |
test_check_with_timeout |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_error_handling.py |
test_fix_with_timeout |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_error_handling.py |
test_parse_shfmt_output_single_file |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_error_handling.py |
test_parse_shfmt_output_multiple_files |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_error_handling.py |
test_parse_shfmt_output_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_error_handling.py |
test_parse_shfmt_output_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_error_handling.py |
test_parse_shfmt_output_with_orig_suffix |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_error_handling.py |
(no function) |
|
15 |
0 |
2 |
|
100% |
| tests / unit / tools / shfmt / test_execution.py |
test_check_with_mocked_subprocess_success |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_execution.py |
test_check_with_mocked_subprocess_issues |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_execution.py |
test_check_with_no_shell_files |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_execution.py |
test_fix_with_mocked_subprocess_success |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_execution.py |
test_fix_with_mocked_subprocess_success.mock_run_subprocess |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_execution.py |
test_fix_with_nothing_to_fix |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_execution.py |
(no function) |
|
11 |
0 |
2 |
|
100% |
| tests / unit / tools / shfmt / test_options.py |
test_default_options_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_options.py |
test_set_options_valid |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_options.py |
test_set_options_language_dialect_case_insensitive |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_options.py |
test_set_options_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_options.py |
test_build_common_args_no_options |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_options.py |
test_build_common_args_with_indent |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_options.py |
test_build_common_args_with_indent_zero |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_options.py |
test_build_common_args_with_binary_next_line |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_options.py |
test_build_common_args_with_switch_case_indent |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_options.py |
test_build_common_args_with_space_redirects |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_options.py |
test_build_common_args_with_language_dialect |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_options.py |
test_build_common_args_with_simplify |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_options.py |
test_build_common_args_with_all_options |
|
12 |
0 |
0 |
|
100% |
| tests / unit / tools / shfmt / test_options.py |
(no function) |
|
21 |
0 |
2 |
|
100% |
| tests / unit / tools / sqlfluff / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / conftest.py |
sqlfluff_plugin |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / conftest.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_error_handling.py |
test_check_with_timeout |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_error_handling.py |
test_check_with_empty_output |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_error_handling.py |
test_fix_with_timeout |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_error_handling.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_execution.py |
test_check_with_mocked_subprocess_success |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_execution.py |
test_check_with_mocked_subprocess_issues |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_execution.py |
test_check_with_no_sql_files |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_execution.py |
test_fix_with_mocked_subprocess_success |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_execution.py |
test_fix_with_mocked_subprocess_no_changes |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_execution.py |
test_fix_with_no_sql_files |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_execution.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_default_options_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_set_options_valid |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_set_options_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_build_lint_command_basic |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_build_lint_command_with_dialect |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_build_lint_command_with_exclude_rules |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_build_lint_command_with_rules |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_build_lint_command_with_templater |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_build_lint_command_with_all_options |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_build_lint_command_multiple_files |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_build_fix_command_basic |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_build_fix_command_with_dialect |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_build_fix_command_with_exclude_rules |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_build_fix_command_with_rules |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_build_fix_command_with_templater |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_build_fix_command_with_all_options |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_plugin_definition_name |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_plugin_definition_can_fix |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_plugin_definition_file_patterns |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
test_plugin_definition_native_configs |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_options.py |
(no function) |
|
27 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_output_parsing.py |
test_parse_sqlfluff_output_single_issue |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_output_parsing.py |
test_parse_sqlfluff_output_multiple_issues |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_output_parsing.py |
test_parse_sqlfluff_output_multiple_files |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_output_parsing.py |
test_parse_sqlfluff_output_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_output_parsing.py |
test_parse_sqlfluff_output_empty_array |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_output_parsing.py |
test_parse_sqlfluff_output_no_violations |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_output_parsing.py |
test_parse_sqlfluff_output_invalid_json |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_output_parsing.py |
test_parse_sqlfluff_output_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / sqlfluff / test_output_parsing.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / conftest.py |
svelte_check_plugin |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / conftest.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_execution.py |
_mock_subprocess_success |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_execution.py |
_mock_subprocess_with_issues |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_execution.py |
test_check_no_svelte_files |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_execution.py |
test_check_no_svelte_config_proceeds_with_defaults |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_execution.py |
test_check_with_mocked_subprocess_success |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_execution.py |
test_check_with_mocked_subprocess_issues_found |
|
17 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_execution.py |
test_fix_raises_not_implemented |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_execution.py |
test_check_with_threshold_option |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_execution.py |
test_check_with_threshold_option.capture_cmd |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_execution.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
test_definition_name |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
test_definition_description |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
test_definition_can_fix_is_false |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
test_definition_tool_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
test_definition_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
test_definition_priority |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
test_definition_native_configs |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
test_default_options_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
test_set_options_threshold_valid |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
test_set_options_tsconfig_valid |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
test_set_options_threshold_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
test_set_options_threshold_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
test_set_options_threshold_invalid_value |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
test_set_options_tsconfig_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
test_build_command_basic |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
test_build_command_with_threshold |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
test_build_command_with_tsconfig |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / svelte_check / test_options.py |
(no function) |
|
23 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / conftest.py |
taplo_plugin |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / conftest.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_error_handling.py |
test_check_with_timeout |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_error_handling.py |
test_check_with_timeout_on_format_check |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_error_handling.py |
test_fix_with_timeout |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_error_handling.py |
test_fix_with_timeout_during_fix_command |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_error_handling.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_execution.py |
test_check_with_mocked_subprocess_success |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_execution.py |
test_check_with_mocked_subprocess_lint_errors |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_execution.py |
test_check_with_mocked_subprocess_format_issues |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_execution.py |
test_check_with_no_toml_files |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_execution.py |
test_fix_with_mocked_subprocess_success |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_execution.py |
test_fix_with_mocked_subprocess_partial_fix |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_execution.py |
test_fix_with_no_changes_needed |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_execution.py |
test_fix_with_no_toml_files |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_execution.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_options.py |
test_default_options_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_options.py |
test_set_options_valid |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_options.py |
test_set_options_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_options.py |
test_build_format_args_no_options |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_options.py |
test_build_format_args_with_aligned_arrays |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_options.py |
test_build_format_args_with_aligned_entries |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_options.py |
test_build_format_args_with_array_trailing_comma |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_options.py |
test_build_format_args_with_indent_string |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_options.py |
test_build_format_args_with_reorder_keys |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_options.py |
test_build_format_args_with_all_options |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_options.py |
test_build_lint_args_no_options |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_options.py |
test_build_lint_args_with_schema |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_options.py |
test_build_lint_args_with_url_schema |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / taplo / test_options.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| tests / unit / tools / test_common_behaviors.py |
_get_plugin_instance |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / test_common_behaviors.py |
mock_execution_context |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_common_behaviors.py |
mock_execution_context._create |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / test_common_behaviors.py |
test_check_success_no_issues |
|
13 |
2 |
0 |
|
85% |
| tests / unit / tools / test_common_behaviors.py |
test_check_failure_with_issues |
|
15 |
5 |
0 |
|
67% |
| tests / unit / tools / test_common_behaviors.py |
_create_mock_timeout_result |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / test_common_behaviors.py |
test_check_timeout_handling |
|
19 |
1 |
0 |
|
95% |
| tests / unit / tools / test_common_behaviors.py |
test_fix_raises_not_implemented |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / test_common_behaviors.py |
test_check_early_return_when_should_skip |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / test_common_behaviors.py |
(no function) |
|
27 |
0 |
2 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_simple_doc_url |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_hadolint_dl_code_returns_hadolint_wiki |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_hadolint_sc_code_returns_shellcheck_wiki |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_hadolint_lowercase_dl_code_uppercased |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_hadolint_unknown_prefix_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_hadolint_empty_code_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_oxlint_category_rule_format |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_oxlint_no_slash_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_oxlint_empty_code_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_tsc_ts_prefixed_code |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_tsc_numeric_only_code |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_tsc_non_numeric_code_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_tsc_empty_code_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_vue_tsc_ts_prefixed_code |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_vue_tsc_numeric_only_code |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_vue_tsc_non_numeric_code_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_vue_tsc_empty_code_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_semgrep_registry_rule_id |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_semgrep_local_rule_with_slash_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_semgrep_simple_name_without_dot_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_semgrep_empty_code_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_ruff_resolves_rule_name_to_url |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_ruff_caches_resolved_name |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_ruff_timeout_returns_none_and_caches |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_ruff_json_error_returns_none |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_ruff_nonzero_exit_returns_none |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
test_ruff_empty_code_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_doc_url.py |
(no function) |
|
59 |
0 |
0 |
|
100% |
| tests / unit / tools / test_edge_cases.py |
test_regular_symlink_is_followed |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / test_edge_cases.py |
test_broken_symlink_handled_gracefully |
|
11 |
1 |
0 |
|
91% |
| tests / unit / tools / test_edge_cases.py |
test_symlink_directory_traversal |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / test_edge_cases.py |
test_long_file_paths_handled |
|
19 |
4 |
0 |
|
79% |
| tests / unit / tools / test_edge_cases.py |
test_path_with_spaces_and_special_chars |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / test_edge_cases.py |
test_unicode_in_tool_output |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / test_edge_cases.py |
test_unicode_in_file_paths |
|
10 |
2 |
0 |
|
80% |
| tests / unit / tools / test_edge_cases.py |
test_concurrent_tool_result_creation |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / test_edge_cases.py |
test_concurrent_tool_result_creation.create_result |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / test_edge_cases.py |
test_concurrent_plugin_instantiation |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / test_edge_cases.py |
test_concurrent_plugin_instantiation.create_plugin |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / test_edge_cases.py |
test_empty_file_list_handling |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / test_edge_cases.py |
test_single_file_handling |
|
14 |
0 |
0 |
|
100% |
| tests / unit / tools / test_edge_cases.py |
(no function) |
|
25 |
0 |
2 |
|
100% |
| tests / unit / tools / test_helpers.py |
assert_tool_result_success |
|
4 |
4 |
0 |
|
0% |
| tests / unit / tools / test_helpers.py |
assert_tool_result_failure |
|
4 |
4 |
0 |
|
0% |
| tests / unit / tools / test_helpers.py |
assert_tool_result_timeout |
|
5 |
5 |
0 |
|
0% |
| tests / unit / tools / test_helpers.py |
assert_tool_result_skipped |
|
4 |
4 |
0 |
|
0% |
| tests / unit / tools / test_helpers.py |
create_mock_subprocess_result |
|
5 |
5 |
0 |
|
0% |
| tests / unit / tools / test_helpers.py |
create_mock_tool_result |
|
7 |
7 |
0 |
|
0% |
| tests / unit / tools / test_helpers.py |
patch_plugin_for_check_test |
|
10 |
10 |
0 |
|
0% |
| tests / unit / tools / test_helpers.py |
patch_plugin_for_fix_test |
|
10 |
10 |
0 |
|
0% |
| tests / unit / tools / test_helpers.py |
(no function) |
|
32 |
0 |
3 |
|
100% |
| tests / unit / tools / test_plugin_definitions.py |
_get_plugin_instance |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / test_plugin_definitions.py |
test_definition_name |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_plugin_definitions.py |
test_definition_description_not_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_plugin_definitions.py |
test_definition_description_contains_keywords |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / test_plugin_definitions.py |
test_definition_can_fix |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_plugin_definitions.py |
test_definition_tool_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_plugin_definitions.py |
test_definition_has_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_plugin_definitions.py |
test_definition_has_priority |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_plugin_definitions.py |
test_definition_has_default_timeout |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_plugin_definitions.py |
test_definition_native_configs_subset |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / test_plugin_definitions.py |
(no function) |
|
27 |
0 |
0 |
|
100% |
| tests / unit / tools / test_tool_definitions.py |
_create_plugin_instance |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / test_tool_definitions.py |
test_tool_definition_name |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_tool_definitions.py |
test_tool_definition_has_description |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_tool_definitions.py |
test_tool_definition_timeout |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_tool_definitions.py |
test_tool_definition_priority |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_tool_definitions.py |
test_tool_definition_can_fix |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_tool_definitions.py |
test_tool_has_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / test_tool_definitions.py |
test_tool_has_default_options |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / test_tool_definitions.py |
(no function) |
|
21 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / conftest.py |
(no function) |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_execution.py |
test_check_with_mocked_subprocess_success |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_execution.py |
test_check_with_mocked_subprocess_issues |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_execution.py |
test_check_with_timeout |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_execution.py |
test_check_with_no_typescript_files |
|
6 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_execution.py |
test_check_parses_multiple_issues |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_execution.py |
test_fix_raises_not_implemented |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_execution.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_definition_name |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_definition_description |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_definition_can_fix |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_definition_tool_type |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_definition_file_patterns |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_definition_native_configs |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_default_options_values |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_definition_priority |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_set_options_valid |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_set_options_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_get_tsc_command_with_tsc_available |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_get_tsc_command_with_bunx_fallback |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_get_tsc_command_with_bunx_fallback.which_side_effect |
|
5 |
1 |
0 |
|
80% |
| tests / unit / tools / tsc / test_options.py |
test_get_tsc_command_with_npx_fallback |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_get_tsc_command_with_npx_fallback.which_side_effect |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_get_tsc_command_fallback_to_tsc |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_build_command_default |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_build_command_with_project |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_build_command_with_strict |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_build_command_without_strict |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
test_build_command_without_skip_lib_check |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_options.py |
(no function) |
|
28 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_find_tsconfig_finds_tsconfig_in_cwd |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_find_tsconfig_returns_none_when_no_tsconfig |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_find_tsconfig_uses_explicit_project_option |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_create_temp_tsconfig_creates_file_with_extends |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_create_temp_tsconfig_includes_specified_files |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_create_temp_tsconfig_sets_no_emit |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_create_temp_tsconfig_file_created_next_to_base |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_create_temp_tsconfig_falls_back_to_system_temp_with_typeroots |
|
17 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_create_temp_tsconfig_falls_back_to_system_temp_with_typeroots.mock_mkstemp |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_create_temp_tsconfig_fallback_preserves_custom_typeroots |
|
17 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_create_temp_tsconfig_fallback_preserves_custom_typeroots.mock_mkstemp |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_create_temp_tsconfig_fallback_honours_empty_typeroots |
|
15 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_create_temp_tsconfig_fallback_honours_empty_typeroots.mock_mkstemp |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_set_options_validates_use_project_files_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_set_options_accepts_valid_use_project_files |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_default_options_use_project_files_defaults_to_false |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_detect_framework_project |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_detect_framework_project_returns_none_for_plain_ts |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_create_temp_tsconfig_preserves_type_roots_from_jsonc_base |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_create_temp_tsconfig_no_type_roots_when_base_has_none |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_create_temp_tsconfig_ignores_non_list_type_roots |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_create_temp_tsconfig_filters_non_string_type_roots |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
test_create_temp_tsconfig_ignores_non_dict_compiler_options |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / tsc / test_tsc_plugin.py |
(no function) |
|
27 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / conftest.py |
vue_tsc_plugin |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / conftest.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_execution.py |
_mock_subprocess_success |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_execution.py |
_mock_subprocess_with_issues |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_execution.py |
test_check_no_vue_files |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_execution.py |
test_check_with_mocked_subprocess_success |
|
8 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_execution.py |
test_check_with_mocked_subprocess_issues_found |
|
17 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_execution.py |
test_fix_raises_not_implemented |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_execution.py |
test_check_with_project_option |
|
11 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_execution.py |
test_check_with_project_option.capture_cmd |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_execution.py |
test_check_no_tsconfig_passes_files_directly |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_execution.py |
test_check_no_tsconfig_passes_files_directly.capture_cmd |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_execution.py |
test_check_timeout_handling |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_execution.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_definition_name |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_definition_description |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_definition_can_fix_is_false |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_definition_tool_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_definition_file_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_definition_priority |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_definition_native_configs |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_default_options_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_set_options_project_valid |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_set_options_project_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_set_options_strict_true |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_set_options_skip_lib_check_false |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_set_options_project_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_set_options_strict_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_set_options_skip_lib_check_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_set_options_use_project_files_invalid_type |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_build_command_basic |
|
5 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_build_command_with_project |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_build_command_with_strict |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_build_command_with_skip_lib_check |
|
2 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
test_build_command_without_skip_lib_check |
|
3 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_options.py |
(no function) |
|
27 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_vue_tsc_plugin.py |
test_create_temp_tsconfig_preserves_type_roots_from_jsonc_base |
|
10 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_vue_tsc_plugin.py |
test_create_temp_tsconfig_no_type_roots_when_base_has_none |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_vue_tsc_plugin.py |
test_create_temp_tsconfig_ignores_non_list_type_roots |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_vue_tsc_plugin.py |
test_create_temp_tsconfig_filters_non_string_type_roots |
|
9 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_vue_tsc_plugin.py |
test_create_temp_tsconfig_fallback_honours_empty_typeroots |
|
15 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_vue_tsc_plugin.py |
test_create_temp_tsconfig_fallback_honours_empty_typeroots.mock_mkstemp |
|
4 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_vue_tsc_plugin.py |
test_create_temp_tsconfig_ignores_non_dict_compiler_options |
|
7 |
0 |
0 |
|
100% |
| tests / unit / tools / vue_tsc / test_vue_tsc_plugin.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / utils / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / conftest.py |
MockToolPlugin.__post_init__ |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / conftest.py |
MockToolPlugin.check |
|
6 |
2 |
0 |
|
67% |
| tests / unit / utils / async_tool_executor / conftest.py |
MockToolPlugin.fix |
|
6 |
2 |
0 |
|
67% |
| tests / unit / utils / async_tool_executor / conftest.py |
executor |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / conftest.py |
(no function) |
|
24 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_callbacks.py |
test_on_result_callback_invoked |
|
8 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_callbacks.py |
test_on_result_callback_invoked.on_result |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_callbacks.py |
test_on_result_callback_invoked.run_test |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_callbacks.py |
test_on_result_receives_correct_args |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_callbacks.py |
test_on_result_receives_correct_args.on_result |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_callbacks.py |
test_on_result_receives_correct_args.run_test |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_callbacks.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_exceptions.py |
test_exception_in_tool_creates_failed_result |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_exceptions.py |
test_exception_in_tool_creates_failed_result.raising_check |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_exceptions.py |
test_exception_in_tool_creates_failed_result.run_test |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_exceptions.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_init.py |
test_executor_initializes_with_default_workers |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_init.py |
test_executor_initializes_with_custom_workers |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_init.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_parallel_batches.py |
test_get_parallel_batches_empty_tools_list |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_parallel_batches.py |
test_get_parallel_batches_single_tool |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_parallel_batches.py |
test_get_parallel_batches_no_conflicts |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_parallel_batches.py |
test_get_parallel_batches_no_conflicts.get_tool |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_parallel_batches.py |
test_get_parallel_batches_conflicting_tools |
|
13 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_parallel_batches.py |
test_get_parallel_batches_conflicting_tools.get_tool |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_parallel_batches.py |
test_get_parallel_batches_multiple_conflicts |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_parallel_batches.py |
test_get_parallel_batches_multiple_conflicts.get_tool |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_parallel_batches.py |
test_get_parallel_batches_ordering_preserved |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_parallel_batches.py |
test_get_parallel_batches_ordering_preserved.get_tool |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_parallel_batches.py |
test_get_parallel_batches_handles_missing_tool |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_parallel_batches.py |
test_get_parallel_batches_handles_missing_tool.get_tool |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_parallel_batches.py |
test_get_parallel_batches_handles_tool_without_conflicts_attribute |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_parallel_batches.py |
test_get_parallel_batches_handles_tool_without_conflicts_attribute.get_tool |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_parallel_batches.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tool_async.py |
test_run_tool_async_check_success |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tool_async.py |
test_run_tool_async_check_success.run_test |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tool_async.py |
test_run_tool_async_fix_success |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tool_async.py |
test_run_tool_async_fix_success.run_test |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tool_async.py |
test_run_tool_async_with_options |
|
8 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tool_async.py |
test_run_tool_async_with_options.check_with_capture |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tool_async.py |
test_run_tool_async_with_options.run_test |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tool_async.py |
test_run_tool_async_with_failure |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tool_async.py |
test_run_tool_async_with_failure.run_test |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tool_async.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tools_parallel.py |
test_run_tools_parallel_success |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tools_parallel.py |
test_run_tools_parallel_success.run_test |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tools_parallel.py |
test_run_tools_parallel_with_failures |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tools_parallel.py |
test_run_tools_parallel_with_failures.run_test |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tools_parallel.py |
test_run_tools_parallel_empty_list |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tools_parallel.py |
test_run_tools_parallel_empty_list.run_test |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tools_parallel.py |
test_run_tools_parallel_single_tool |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tools_parallel.py |
test_run_tools_parallel_single_tool.run_test |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tools_parallel.py |
test_run_tools_parallel_with_options_per_tool |
|
13 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tools_parallel.py |
test_run_tools_parallel_with_options_per_tool.check1 |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tools_parallel.py |
test_run_tools_parallel_with_options_per_tool.check2 |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tools_parallel.py |
test_run_tools_parallel_with_options_per_tool.run_test |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_run_tools_parallel.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_shutdown.py |
test_shutdown_closes_thread_pool |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_shutdown.py |
test_shutdown_can_be_called_multiple_times |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / async_tool_executor / test_shutdown.py |
(no function) |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / config / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / utils / config / conftest.py |
mock_manager_dependencies |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / config / conftest.py |
manager |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / config / conftest.py |
mock_tool |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / config / conftest.py |
(no function) |
|
11 |
0 |
2 |
|
100% |
| tests / unit / utils / config / test_manager_configuration.py |
test_manager_apply_config_does_nothing_for_tool_without_name |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_configuration.py |
test_manager_apply_config_calls_set_options_with_effective_config |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_configuration.py |
test_manager_apply_config_includes_line_length_for_injectable_tools |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_configuration.py |
test_manager_apply_config_cli_overrides_take_precedence |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_configuration.py |
test_manager_apply_config_raises_value_error_from_tool |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_configuration.py |
test_manager_apply_config_raises_type_error_from_tool |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_configuration.py |
test_manager_apply_config_handles_other_errors_gracefully |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_configuration.py |
test_manager_apply_config_skips_non_injectable_line_length |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_configuration.py |
test_manager_get_report_returns_string |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_configuration.py |
test_manager_get_report_delegates_to_config_reporting |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_configuration.py |
test_manager_print_report_calls_config_reporting |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_configuration.py |
test_manager_print_report_does_not_return_value |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_configuration.py |
test_manager_is_dataclass_instance |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_configuration.py |
test_manager_fields_are_accessible |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_configuration.py |
test_manager_can_be_created_with_default_factory_values |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_configuration.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_core.py |
test_manager_initialization_loads_global_config |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_core.py |
test_manager_initialization_loads_tool_configs |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_core.py |
test_manager_initialization_loads_warnings |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_core.py |
test_manager_refresh_reloads_all_config |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_core.py |
test_manager_refresh_does_not_raise |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_core.py |
test_manager_get_effective_line_length_delegates_to_module_function |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_core.py |
test_manager_get_effective_line_length_returns_none_when_not_configured |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_core.py |
test_manager_get_tool_config_returns_existing_config |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_core.py |
test_manager_get_tool_config_creates_config_for_missing_tool |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_core.py |
test_manager_get_tool_config_caches_created_config |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_core.py |
test_manager_get_ordered_tools_delegates_to_module_function |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_core.py |
test_manager_get_ordered_tools_maintains_order |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / config / test_manager_core.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| tests / unit / utils / conftest.py |
fake_tool_result |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / conftest.py |
fake_tool_result_factory |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / conftest.py |
fake_tool_result_factory._create |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / conftest.py |
fake_issue |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / conftest.py |
fake_issue_factory |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / conftest.py |
fake_issue_factory._create |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / conftest.py |
console_capture |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / conftest.py |
console_capture.capture |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / conftest.py |
console_capture_with_kwargs |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / conftest.py |
console_capture_with_kwargs.capture |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / conftest.py |
(no function) |
|
35 |
0 |
2 |
|
100% |
| tests / unit / utils / console / conftest.py |
logger |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / console / conftest.py |
logger_with_run_dir |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / console / conftest.py |
(no function) |
|
9 |
0 |
2 |
|
100% |
| tests / unit / utils / console / summary / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
test_print_summary_table_delegates_to_module_function |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
test_print_summary_table_converts_string_action |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
test_print_summary_table_action_normalization |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
test_print_totals_table_delegates_to_module_function |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
test_print_totals_table_delegates_fix_mode |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
test_print_totals_table_various_inputs |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
test_print_final_status_delegates_to_module_function |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
test_print_final_status_converts_string_action |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
test_print_final_status_various_inputs |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
test_print_final_status_format_delegates_correctly |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
test_print_final_status_format_various_counts |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
test_print_ascii_art_delegates_correctly |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
test_print_ascii_art_various_counts |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
test_execution_summary_outputs_header_and_border |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
test_execution_summary_calls_all_components |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
test_execution_summary_empty_results_handled |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
test_execution_summary_all_action_types |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_delegation.py |
(no function) |
|
30 |
0 |
3 |
|
100% |
| tests / unit / utils / console / summary / test_execution_summary.py |
test_execution_summary_check_no_issues |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_execution_summary.py |
test_execution_summary_check_with_issues |
|
8 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_execution_summary.py |
test_execution_summary_check_failed_tool_shows_minimum_issues |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_execution_summary.py |
test_execution_summary_check_issue_aggregation |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_execution_summary.py |
test_execution_summary_fix_with_standardized_counts |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_execution_summary.py |
test_execution_summary_fix_fallback_to_issues_count |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_execution_summary.py |
test_execution_summary_fix_failed_tool_handled |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_execution_summary.py |
test_execution_summary_fix_parses_remaining_from_output |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_execution_summary.py |
test_execution_summary_fix_parses_cannot_autofix_from_output |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_execution_summary.py |
test_execution_summary_fix_handles_string_sentinel_remaining |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_execution_summary.py |
test_execution_summary_fix_various_counts |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / console / summary / test_execution_summary.py |
(no function) |
|
20 |
0 |
3 |
|
100% |
| tests / unit / utils / console / test_logger_headers.py |
test_print_lintro_header_with_run_dir |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_headers.py |
test_print_lintro_header_without_run_dir_is_noop |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_headers.py |
test_print_tool_header_outputs_formatted_header |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_headers.py |
test_print_tool_header_various_tools |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_headers.py |
test_print_post_checks_header_outputs_styled_header |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_headers.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_initialization.py |
test_init_with_run_dir |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_initialization.py |
test_init_without_run_dir |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_initialization.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_levels.py |
test_info_delegates_to_console_output |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_levels.py |
test_debug_uses_loguru_logger |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_levels.py |
test_warning_outputs_yellow_text |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_levels.py |
test_error_outputs_red_text |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_levels.py |
test_success_outputs_green_text_with_checkmark |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_levels.py |
test_logging_methods_use_correct_colors |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_levels.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_metadata.py |
test_print_metadata_messages_patterns |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_metadata.py |
test_print_pytest_results_success_message |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_metadata.py |
test_print_pytest_results_failure_message |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_metadata.py |
test_print_pytest_results_handles_empty_output |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_metadata.py |
test_print_pytest_results_both_outcomes |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_metadata.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_output_methods.py |
test_console_output_no_color |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_output_methods.py |
test_console_output_with_color |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_output_methods.py |
test_console_output_various_colors |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_output_methods.py |
test_save_console_log_creates_file |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_output_methods.py |
test_save_console_log_no_run_dir_is_noop |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_output_methods.py |
test_save_console_log_handles_os_error |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_output_methods.py |
test_save_console_log_handles_permission_error |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_output_methods.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_results.py |
test_print_tool_result_outputs_content |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_results.py |
test_print_tool_result_skips_empty_output |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_results.py |
test_print_tool_result_includes_metadata_for_check_action |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_results.py |
test_print_tool_result_skips_metadata_for_fix_action |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_results.py |
test_print_tool_result_handles_pytest_for_test_action |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_logger_results.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_pre_execution_summary.py |
_render_summary |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_pre_execution_summary.py |
test_pre_execution_summary_shows_ai_when_disabled |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_pre_execution_summary.py |
test_pre_execution_summary_shows_ai_when_enabled |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_pre_execution_summary.py |
test_pre_execution_summary_shows_ai_when_config_missing |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / console / test_pre_execution_summary.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / conftest.py |
mock_empty_pyproject |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / conftest.py |
temp_cwd |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / conftest.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_config_constants.py |
test_config_file_lists_contain_expected_files |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_config_constants.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_json_config.py |
test_load_json_config_valid_json_file |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_json_config.py |
test_load_json_config_returns_empty_dict |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_json_config.py |
test_load_json_config_non_existent_file |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_json_config.py |
test_load_json_config_unicode_file_path |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_json_config.py |
test_load_json_config_empty_file |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_json_config.py |
test_load_json_config_null_json |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_json_config.py |
test_load_json_config_nested_empty_object |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_json_config.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_no_comments |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_line_comment |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_line_comment_on_own_line |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_block_comment |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_multiline_block_comment |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_preserve_comment_like_strings |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_escape_sequence_in_string |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_backslash_in_string |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_unclosed_block_comment_warning |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_empty_content |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_complex_jsonc |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_unicode_content |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_very_long_content |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_nested_comments |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_consecutive_comments |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_mixed_quotes |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_only_whitespace |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
test_strip_jsonc_comments_deeply_nested_json |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_jsonc_comments.py |
(no function) |
|
25 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_markdownlint_config.py |
test_load_markdownlint_config_from_json |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_markdownlint_config.py |
test_load_markdownlint_config_from_jsonc |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_markdownlint_config.py |
test_load_markdownlint_config_from_yaml |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_markdownlint_config.py |
test_load_markdownlint_config_yaml_not_installed |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_markdownlint_config.py |
test_load_markdownlint_config_yaml_multi_document |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_markdownlint_config.py |
test_load_markdownlint_config_edge_cases |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_markdownlint_config.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_oxfmt_config.py |
test_load_oxfmt_config_from_oxfmtrc_json |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_oxfmt_config.py |
test_load_oxfmt_config_from_oxfmtrc_jsonc |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_oxfmt_config.py |
test_load_oxfmt_config_prefers_json_over_jsonc |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_oxfmt_config.py |
test_load_oxfmt_config_no_config_file |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_oxfmt_config.py |
test_load_oxfmt_config_invalid_json |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_oxfmt_config.py |
test_load_oxfmt_config_non_dict_returns_empty |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_oxfmt_config.py |
test_load_oxfmt_config_jsonc_with_block_comments |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_oxfmt_config.py |
test_load_oxfmt_config_jsonc_with_trailing_comma |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_oxfmt_config.py |
(no function) |
|
13 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_oxlint_config.py |
test_load_oxlint_config_from_oxlintrc_json |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_oxlint_config.py |
test_load_oxlint_config_from_oxlint_json |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_oxlint_config.py |
test_load_oxlint_config_prefers_oxlintrc_json |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_oxlint_config.py |
test_load_oxlint_config_no_config_file |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_oxlint_config.py |
test_load_oxlint_config_invalid_json |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_oxlint_config.py |
test_load_oxlint_config_non_dict_returns_empty |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_oxlint_config.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_pyproject_tools.py |
test_load_native_tool_config_unknown_tool |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_pyproject_tools.py |
test_load_native_tool_config_from_pyproject |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_pyproject_tools.py |
test_load_native_tool_config_invalid_pyproject_structure |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_pyproject_tools.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_yamllint_config.py |
test_load_yamllint_config_from_file |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_yamllint_config.py |
test_load_yamllint_config_yaml_not_installed |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_yamllint_config.py |
test_load_yamllint_config_no_config_file |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_yamllint_config.py |
test_load_yamllint_config_invalid_yaml |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_yamllint_config.py |
test_load_yamllint_config_unicode_content |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / native_parsers / test_yamllint_config.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / output / __init__.py |
(no function) |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / output / conftest.py |
mock_tool_result_factory |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / conftest.py |
mock_tool_result_factory._create |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / output / conftest.py |
mock_issue_factory |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / conftest.py |
mock_issue_factory._create |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / output / conftest.py |
sample_results_with_issues |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / output / conftest.py |
sample_results_empty |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / output / conftest.py |
(no function) |
|
25 |
0 |
2 |
|
100% |
| tests / unit / utils / output / test_file_writer_common.py |
test_write_output_file_creates_parent_directories |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_common.py |
(no function) |
|
8 |
0 |
3 |
|
100% |
| tests / unit / utils / output / test_file_writer_csv.py |
test_write_csv_file_creates_valid_file_with_headers |
|
13 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_csv.py |
test_write_csv_file_includes_issue_data |
|
8 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_csv.py |
(no function) |
|
9 |
0 |
2 |
|
100% |
| tests / unit / utils / output / test_file_writer_format.py |
test_format_tool_output_returns_no_issues_for_empty_input |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_format.py |
test_format_tool_output_formats_provided_issues |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_format.py |
test_format_tool_output_falls_back_to_raw_for_unknown_tool |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_format.py |
test_format_tool_output_parses_tool_specific_formats |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_format.py |
test_format_tool_output_parses_bandit_json |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_format.py |
test_format_tool_output_handles_invalid_bandit_json |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_format.py |
test_format_tool_output_normalizes_format_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_format.py |
test_tabulate_available_flag_is_true_in_test_environment |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_format.py |
(no function) |
|
16 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_html.py |
test_write_html_file_creates_valid_structure |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_html.py |
test_write_html_file_includes_issue_table |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_html.py |
test_write_html_file_escapes_xss_characters |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_html.py |
(no function) |
|
10 |
0 |
3 |
|
100% |
| tests / unit / utils / output / test_file_writer_json.py |
test_write_json_file_creates_valid_file |
|
12 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_json.py |
test_write_json_file_includes_parsed_issues |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_json.py |
(no function) |
|
10 |
0 |
3 |
|
100% |
| tests / unit / utils / output / test_file_writer_markdown.py |
test_write_markdown_file_creates_valid_structure |
|
8 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_markdown.py |
test_write_markdown_file_includes_issue_table |
|
8 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_markdown.py |
test_write_markdown_file_escapes_pipe_characters |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_markdown.py |
(no function) |
|
10 |
0 |
3 |
|
100% |
| tests / unit / utils / output / test_file_writer_plain.py |
test_write_plain_file_creates_valid_structure |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_plain.py |
test_write_plain_file_shows_fixed_count_for_fix_action |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_file_writer_plain.py |
(no function) |
|
9 |
0 |
3 |
|
100% |
| tests / unit / utils / output / test_helpers.py |
test_markdown_escape_escapes_pipe |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_helpers.py |
test_markdown_escape_replaces_newline_with_space |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_helpers.py |
test_markdown_escape_handles_multiple_pipes |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_helpers.py |
test_markdown_escape_handles_multiple_newlines |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_helpers.py |
test_markdown_escape_handles_empty_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_helpers.py |
test_markdown_escape_no_change_for_normal_text |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_helpers.py |
test_html_escape_escapes_less_than |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_helpers.py |
test_html_escape_escapes_greater_than |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_helpers.py |
test_html_escape_escapes_ampersand |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_helpers.py |
test_html_escape_escapes_quotes |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_helpers.py |
test_html_escape_handles_empty_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_helpers.py |
test_html_escape_no_change_for_normal_text |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_helpers.py |
test_sanitize_csv_value_prefixes_formula_chars |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_helpers.py |
test_sanitize_csv_value_no_change_for_normal_text |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_helpers.py |
test_sanitize_csv_value_handles_empty_string |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_helpers.py |
test_sanitize_csv_value_does_not_prefix_middle_chars |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / output / test_helpers.py |
(no function) |
|
21 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / conftest.py |
success_capture |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / conftest.py |
success_capture.capture |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / conftest.py |
(no function) |
|
5 |
0 |
2 |
|
100% |
| tests / unit / utils / result_formatters / test_action_normalization.py |
test_action_normalization_check |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_action_normalization.py |
test_action_fmt_treated_as_fix |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_action_normalization.py |
(no function) |
|
9 |
0 |
2 |
|
100% |
| tests / unit / utils / result_formatters / test_fix_action.py |
test_format_action_shows_fixed_and_remaining_counts |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_fix_action.py |
test_format_action_shows_only_fixed_when_no_remaining |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_fix_action.py |
test_format_action_shows_remaining_count_in_red |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_fix_action.py |
test_format_action_shows_only_remaining_when_nothing_fixed |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_fix_action.py |
test_fix_action_shows_cannot_autofix_message |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_fix_action.py |
(no function) |
|
10 |
0 |
2 |
|
100% |
| tests / unit / utils / result_formatters / test_fixable_hints.py |
test_fixable_hint_shown_in_check_mode |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_fixable_hints.py |
test_fixable_hint_sums_multiple_matches |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_fixable_hints.py |
test_fixable_hint_uses_raw_output_for_meta |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_fixable_hints.py |
test_no_fixable_hint_in_fix_action |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_fixable_hints.py |
(no function) |
|
9 |
0 |
2 |
|
100% |
| tests / unit / utils / result_formatters / test_generic_output.py |
test_no_issues_shows_success_message |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_generic_output.py |
test_issues_found_shows_error_message_with_count |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_generic_output.py |
test_success_false_shows_failure_even_with_zero_issues |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_generic_output.py |
test_no_files_processed_warning |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_generic_output.py |
(no function) |
|
10 |
0 |
2 |
|
100% |
| tests / unit / utils / result_formatters / test_output_display.py |
test_non_empty_output_is_displayed |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_output_display.py |
test_whitespace_only_output_not_displayed |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_output_display.py |
test_blank_line_appended_after_output |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_output_display.py |
(no function) |
|
7 |
0 |
2 |
|
100% |
| tests / unit / utils / result_formatters / test_pytest_output.py |
test_pytest_with_output_displays_header |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_pytest_output.py |
test_pytest_no_issues_no_output_shows_success |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_pytest_output.py |
test_pytest_filters_json_output_at_line_start |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_pytest_output.py |
test_pytest_preserves_progress_markers |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_pytest_output.py |
test_pytest_tool_name_case_insensitive |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_pytest_output.py |
(no function) |
|
11 |
0 |
2 |
|
100% |
| tests / unit / utils / result_formatters / test_ruff_formatting.py |
test_ruff_detects_would_reformat_files |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_ruff_formatting.py |
test_ruff_detects_files_would_be_reformatted_summary |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_ruff_formatting.py |
test_ruff_tool_name_case_insensitive_for_formatting_detection |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / result_formatters / test_ruff_formatting.py |
(no function) |
|
7 |
0 |
2 |
|
100% |
| tests / unit / utils / summary / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
test_check_success_no_issues |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
test_check_with_issues |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
test_check_execution_failure |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
test_check_skipped_tool |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
test_fix_with_fixed_count |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
test_fix_with_remaining_issues |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
test_fix_no_files_shows_zero |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
test_fix_parsing_remaining_from_output |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
test_fix_shows_ai_fixed_count_from_metadata |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
test_pytest_with_summary |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
test_non_pytest_test_tool |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
test_multiple_tools_displayed |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
test_tools_sorted_alphabetically |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
test_empty_results_list |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
test_unknown_tool_name |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
test_default_remaining_count_is_question_mark |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
test_default_remaining_count_used_in_fix_output |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_display.py |
(no function) |
|
22 |
0 |
3 |
|
100% |
| tests / unit / utils / summary / test_safe_cast.py |
test_safe_cast_successful_int_cast |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_safe_cast.py |
test_safe_cast_successful_float_cast |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_safe_cast.py |
test_safe_cast_returns_default_on_value_error |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_safe_cast.py |
test_safe_cast_returns_default_on_type_error |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_safe_cast.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_count_affected_files_empty_results |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_count_affected_files_no_issues |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_count_affected_files_single_file |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_count_affected_files_deduplication_within_tool |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_count_affected_files_deduplication_across_tools |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_count_affected_files_empty_file_paths_excluded |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_count_affected_files_path_objects_deduplicated |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_count_affected_files_no_issues_attribute |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_totals_table_check_mode_contains_total_issues |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_totals_table_check_mode_contains_affected_files |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_totals_table_check_mode_does_not_contain_fix_rows |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_totals_table_test_mode_uses_check_layout |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_totals_table_fix_mode_contains_fixed_issues |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_totals_table_fix_mode_contains_remaining_issues |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_totals_table_fix_mode_contains_affected_files |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_totals_table_fix_mode_does_not_contain_total_issues |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_totals_table_uses_grid_format |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_totals_table_contains_header |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
test_totals_table_contains_metric_count_headers |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / summary / test_totals_table.py |
(no function) |
|
24 |
0 |
3 |
|
100% |
| tests / unit / utils / test_ascii_normalize.py |
test_normalize_ascii_block_center_and_alignments |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / test_ascii_normalize.py |
test_normalize_ascii_file_sections |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_ascii_normalize.py |
(no function) |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_ascii_normalize_cli.py |
test_ascii_art_dir_returns_path |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_ascii_normalize_cli.py |
test_ascii_art_dir_points_to_ascii_art |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_ascii_normalize_cli.py |
test_write_sections_single |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_ascii_normalize_cli.py |
test_write_sections_multiple_with_blank_separator |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_ascii_normalize_cli.py |
test_write_sections_empty |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_ascii_normalize_cli.py |
test_main_returns_error_when_dir_not_found |
|
8 |
0 |
0 |
|
100% |
| tests / unit / utils / test_ascii_normalize_cli.py |
test_main_processes_specific_files |
|
11 |
0 |
0 |
|
100% |
| tests / unit / utils / test_ascii_normalize_cli.py |
test_main_processes_all_txt_files |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / test_ascii_normalize_cli.py |
test_main_skips_files_with_no_sections |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / test_ascii_normalize_cli.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| tests / unit / utils / test_config_reporting.py |
mock_tool_config_summary |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_config_reporting.py |
standard_patches |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_config_reporting.py |
test_report_contains_header |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_config_reporting.py |
test_report_contains_global_settings |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_config_reporting.py |
test_report_contains_tool_execution_order |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_config_reporting.py |
test_report_contains_per_tool_config |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_config_reporting.py |
test_report_shows_native_only_for_non_injectable |
|
8 |
0 |
0 |
|
100% |
| tests / unit / utils / test_config_reporting.py |
test_report_shows_warnings |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_config_reporting.py |
test_report_shows_no_warnings_message |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_config_reporting.py |
test_report_with_custom_order |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_config_reporting.py |
test_report_line_length_not_configured |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_config_reporting.py |
test_print_logs_report_lines |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_config_reporting.py |
test_print_warnings_logged_at_warning_level |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_config_reporting.py |
test_print_non_warning_lines_logged_at_info |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_config_reporting.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| tests / unit / utils / test_console_output_writer.py |
logger |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_console_output_writer.py |
test_initialization |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_console_output_writer.py |
test_console_output_no_color |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_console_output_writer.py |
test_console_output_with_color |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_console_output_writer.py |
test_info |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_console_output_writer.py |
test_info_blue |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_console_output_writer.py |
test_success |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_console_output_writer.py |
test_warning |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_console_output_writer.py |
test_error |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_console_output_writer.py |
test_save_console_log |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / test_console_output_writer.py |
test_save_console_log_handles_error |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_console_output_writer.py |
test_multiple_messages_tracked |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / test_console_output_writer.py |
test_thread_safe_message_tracking |
|
12 |
0 |
0 |
|
100% |
| tests / unit / utils / test_console_output_writer.py |
test_thread_safe_message_tracking.add_message |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_console_output_writer.py |
(no function) |
|
20 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers.py |
console_capture |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers.py |
console_capture.mock_console |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers.py |
test_print_ascii_art_selects_correct_file |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers.py |
test_print_ascii_art_no_output_when_empty |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers.py |
test_print_ascii_art_handles_exception_gracefully |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers.py |
test_print_final_status_message_content |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers.py |
test_print_final_status_outputs_blank_line_at_end |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers.py |
test_print_final_status_produces_output |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers.py |
test_print_final_status_format_message_content |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers.py |
test_print_final_status_format_outputs_blank_line_at_end |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers.py |
test_border_length_is_positive_integer |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers.py |
test_info_border_length_is_positive_integer |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers.py |
test_border_length_can_create_border_string |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers.py |
test_info_border_length_can_create_border_string |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers.py |
test_border_lengths_relationship |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers.py |
(no function) |
|
29 |
0 |
2 |
|
100% |
| tests / unit / utils / test_display_helpers_fallback.py |
console_capture |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers_fallback.py |
console_capture.mock_console |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers_fallback.py |
mock_click_unavailable |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers_fallback.py |
mock_click_unavailable.mock_import |
|
3 |
1 |
0 |
|
67% |
| tests / unit / utils / test_display_helpers_fallback.py |
test_print_final_status_fallback_ansi_codes |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers_fallback.py |
test_print_final_status_fallback_outputs_blank_line |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers_fallback.py |
test_print_final_status_fallback_includes_reset_code |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers_fallback.py |
test_print_final_status_format_fallback_ansi_codes |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers_fallback.py |
test_print_final_status_format_fallback_outputs_blank_line |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers_fallback.py |
test_print_final_status_format_fallback_fixed_uses_green |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers_fallback.py |
test_print_final_status_format_fallback_remaining_uses_red |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers_fallback.py |
test_print_final_status_format_fallback_mixed_colors |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_display_helpers_fallback.py |
(no function) |
|
26 |
0 |
2 |
|
100% |
| tests / unit / utils / test_enrich_doc_urls.py |
_make_issue |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enrich_doc_urls.py |
test_tool_without_doc_url_method_is_noop |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enrich_doc_urls.py |
test_result_with_no_issues_is_noop |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enrich_doc_urls.py |
test_issue_with_existing_doc_url_not_overwritten |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enrich_doc_urls.py |
test_issue_with_empty_code_skipped |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enrich_doc_urls.py |
test_happy_path_doc_url_populated |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enrich_doc_urls.py |
test_tool_returns_none_leaves_doc_url_empty |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enrich_doc_urls.py |
test_multiple_mixed_issues |
|
11 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enrich_doc_urls.py |
(no function) |
|
14 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enums_and_normalizers.py |
test_output_format_normalization |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enums_and_normalizers.py |
test_group_by_normalization |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enums_and_normalizers.py |
test_tool_name_normalization |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enums_and_normalizers.py |
test_yamllint_format_normalization |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enums_and_normalizers.py |
test_hadolint_normalization |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enums_and_normalizers.py |
test_tool_order_enum_values |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enums_and_normalizers.py |
test_tool_order_normalization_from_string |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enums_and_normalizers.py |
test_tool_order_normalization_from_enum |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enums_and_normalizers.py |
test_tool_order_normalization_invalid_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enums_and_normalizers.py |
test_tool_config_info_reexport |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_enums_and_normalizers.py |
(no function) |
|
18 |
0 |
0 |
|
100% |
| tests / unit / utils / test_file_cache.py |
test_file_fingerprint_to_dict |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_file_cache.py |
test_file_fingerprint_from_dict |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_file_cache.py |
test_file_fingerprint_roundtrip |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_file_cache.py |
test_tool_cache_empty_returns_all_files_as_changed |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_file_cache.py |
test_tool_cache_unchanged_file_not_returned |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_file_cache.py |
test_tool_cache_modified_file_returned |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_file_cache.py |
test_tool_cache_size_changed_file_returned |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_file_cache.py |
test_tool_cache_nonexistent_file_skipped |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_file_cache.py |
test_tool_cache_update_adds_fingerprints |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_file_cache.py |
test_tool_cache_clear_removes_all_fingerprints |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_file_cache.py |
test_tool_cache_save_and_load_roundtrip |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_file_cache.py |
test_tool_cache_load_returns_empty_for_missing_file |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_file_cache.py |
test_clear_all_caches_deletes_files |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_file_cache.py |
test_get_cache_stats_returns_file_counts |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_file_cache.py |
test_get_cache_stats_returns_empty_for_nonexistent_dir |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_file_cache.py |
(no function) |
|
21 |
0 |
0 |
|
100% |
| tests / unit / utils / test_fix_retry.py |
_ConvergingMockTool.fix |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_fix_retry.py |
_NeverConvergingMockTool.fix |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_fix_retry.py |
test_fix_converges_on_second_attempt |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_fix_retry.py |
test_fix_reports_unfixable_after_max_retries |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_fix_retry.py |
test_fix_no_retry_when_first_pass_succeeds |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_fix_retry.py |
test_fix_retry_merges_results_correctly |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_fix_retry.py |
(no function) |
|
24 |
0 |
0 |
|
100% |
| tests / unit / utils / test_json_output.py |
test_create_json_output_includes_summary_and_fix_suggestions_together |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_json_output.py |
test_create_json_output_normalizes_legacy_suggestions_key |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_json_output.py |
test_create_json_output_includes_ai_count_fields |
|
8 |
0 |
0 |
|
100% |
| tests / unit / utils / test_json_output.py |
test_create_json_output_includes_ai_metrics |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_json_output.py |
test_create_json_output_counts_survive_legacy_normalization |
|
11 |
0 |
0 |
|
100% |
| tests / unit / utils / test_json_output.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / test_jsonc.py |
test_strip_jsonc_comments_no_comments |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_jsonc.py |
test_strip_jsonc_comments_line_comment |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_jsonc.py |
test_strip_jsonc_comments_block_comment |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_jsonc.py |
test_strip_jsonc_comments_preserves_strings |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_jsonc.py |
test_strip_trailing_commas_removes_trailing_comma_before_brace |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_jsonc.py |
test_strip_trailing_commas_removes_trailing_comma_before_bracket |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_jsonc.py |
test_strip_trailing_commas_handles_whitespace |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_jsonc.py |
test_strip_trailing_commas_no_trailing_comma |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_jsonc.py |
test_load_jsonc_plain_json |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_jsonc.py |
test_load_jsonc_with_comments |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_jsonc.py |
test_load_jsonc_with_trailing_commas |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_jsonc.py |
test_load_jsonc_with_comments_and_trailing_commas |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_jsonc.py |
test_load_jsonc_invalid_json_raises |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_jsonc.py |
test_load_jsonc_tsconfig_with_comments_and_type_roots |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_jsonc.py |
(no function) |
|
19 |
0 |
0 |
|
100% |
| tests / unit / utils / test_logger_setup.py |
test_setup_cli_logging_removes_handlers |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_logger_setup.py |
test_setup_cli_logging_adds_stderr_handler |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_logger_setup.py |
test_setup_execution_logging_removes_handlers |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_logger_setup.py |
test_setup_execution_logging_adds_console_and_file_handlers |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_logger_setup.py |
test_setup_execution_logging_debug_false_uses_warning |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_logger_setup.py |
test_setup_execution_logging_debug_true_uses_debug |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_logger_setup.py |
test_setup_execution_logging_file_handler_uses_debug |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_logger_setup.py |
test_setup_execution_logging_creates_run_dir |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_logger_setup.py |
(no function) |
|
21 |
0 |
0 |
|
100% |
| tests / unit / utils / test_native_parsers.py |
test_load_json_config_parse_error_logs_warning |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / test_native_parsers.py |
test_load_json_config_file_not_found_logs_debug |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_native_parsers.py |
test_load_json_config_valid_returns_dict |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_native_parsers.py |
test_load_json_config_non_dict_returns_empty |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_native_parsers.py |
test_load_yamllint_config_yaml_error_logs_warning |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_native_parsers.py |
test_load_yamllint_config_os_error_returns_empty |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_native_parsers.py |
test_load_markdownlint_missing_config_returns_empty |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_native_parsers.py |
(no function) |
|
12 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_should_install_deps_returns_false_when_no_package_json |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_should_install_deps_returns_true_when_package_json_exists_no_node_modules |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_should_install_deps_returns_false_when_both_exist_with_content |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_should_install_deps_returns_true_when_node_modules_empty |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_should_install_deps_returns_true_when_node_modules_only_has_bin |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_should_install_deps_raises_permission_error_when_cwd_not_writable |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_get_package_manager_command_returns_bun_when_available |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_get_package_manager_command_returns_npm_when_bun_not_available |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_get_package_manager_command_returns_none_when_no_package_manager |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_install_node_deps_returns_success_when_deps_already_installed |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_install_node_deps_returns_failure_when_cwd_not_writable |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_install_node_deps_returns_failure_when_no_package_manager |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_install_node_deps_runs_bun_install_with_frozen_lockfile |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_install_node_deps_falls_back_to_regular_install_on_frozen_failure |
|
12 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_install_node_deps_returns_failure_on_install_error |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_install_node_deps_retries_on_frozen_timeout |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_install_node_deps_fails_on_both_attempts_timeout |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_install_node_deps_uses_npm_ci_for_frozen_install |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
test_install_node_deps_uses_correct_commands_per_package_manager |
|
14 |
0 |
0 |
|
100% |
| tests / unit / utils / test_node_deps.py |
(no function) |
|
27 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
test_sanitize_csv_value |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
sample_results |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
test_write_json_output |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
test_write_csv_output |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
test_write_markdown_output |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
test_write_html_output |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
test_write_plain_output |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
test_write_plain_output_fix_action |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
test_creates_parent_directories |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
test_json_with_issues_details |
|
15 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
test_doc_url_rendered_in_json_markdown_html |
|
20 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
test_empty_doc_url_omitted_from_json |
|
12 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
test_html_escapes_special_characters |
|
13 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
test_markdown_escapes_pipe_characters |
|
12 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
test_grid_format_same_as_plain |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
test_doc_url_rendered_in_csv |
|
13 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
test_empty_doc_url_is_empty_string_in_csv |
|
12 |
0 |
0 |
|
100% |
| tests / unit / utils / test_output_writers.py |
(no function) |
|
29 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
reset_registry |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_parser_entry_creation |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_parser_entry_creation.dummy_parser |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / test_parser_registry.py |
test_parser_entry_with_fixability |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_parser_entry_with_fixability.dummy_parser |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / test_parser_registry.py |
test_parser_entry_with_fixability.is_fixable |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / test_parser_registry.py |
test_register_parser |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_register_parser.my_parser |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / test_parser_registry.py |
test_register_parser_case_insensitive |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_register_parser_case_insensitive.my_parser |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / test_parser_registry.py |
test_register_parser_with_fixability |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_register_parser_with_fixability.my_parser |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / test_parser_registry.py |
test_register_parser_with_fixability.my_fixable |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / test_parser_registry.py |
test_get_registered_parser |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_get_registered_parser.my_parser |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / test_parser_registry.py |
test_get_unregistered_parser_returns_none |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_parse_with_registered_parser |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_parse_with_registered_parser.my_parser |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_parse_unknown_tool_returns_empty |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_parse_case_insensitive |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_parse_case_insensitive.my_parser |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_get_fixability_predicate_registered |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_get_fixability_predicate_registered.my_parser |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / test_parser_registry.py |
test_get_fixability_predicate_registered.my_fixable |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / test_parser_registry.py |
test_get_fixability_predicate_no_predicate |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_get_fixability_predicate_no_predicate.my_parser |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / test_parser_registry.py |
test_get_fixability_predicate_unknown_tool |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_clear_removes_all_parsers |
|
8 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_clear_removes_all_parsers.my_parser |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / test_parser_registry.py |
test_is_registered_true |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_is_registered_true.my_parser |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / test_parser_registry.py |
test_is_registered_false |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_parser_error_raised_on_parsing_failure |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_parser_error_raised_on_empty_output |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
test_parser_error_preserves_original_exception |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_parser_registry.py |
(no function) |
|
28 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_should_exclude_path_empty_patterns |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_should_exclude_path_simple_glob_match |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_should_exclude_path_no_match |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_should_exclude_path_directory_pattern_with_slash |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_should_exclude_path_directory_pattern_nested |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_should_exclude_path_simple_directory_pattern |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_should_exclude_path_simple_directory_not_in_path |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_should_exclude_path_empty_pattern_ignored |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_should_exclude_path_path_part_match |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_should_exclude_path_normalization_error |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
src_dir_with_files |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
project_with_venv |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_walk_files_single_file_match |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_walk_files_single_file_no_match |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_walk_files_directory_walk |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_walk_files_excludes_patterns |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_walk_files_excludes_venv_by_default |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_walk_files_includes_venv_when_requested |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_walk_files_returns_sorted_results |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_walk_files_single_file_excluded |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
test_is_venv_directory |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_filtering.py |
(no function) |
|
30 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_utils.py |
test_find_lintro_ignore_in_current_dir |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_utils.py |
test_find_lintro_ignore_pyproject_stops_search |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_utils.py |
test_find_lintro_ignore_with_pyproject |
|
8 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_utils.py |
test_find_lintro_ignore_returns_none_when_nothing_found |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_utils.py |
test_load_lintro_ignore_patterns_from_file |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_utils.py |
test_load_lintro_ignore_returns_empty_when_no_file |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_utils.py |
test_load_lintro_ignore_handles_file_read_error |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_utils.py |
test_load_lintro_ignore_skips_comments_and_empty_lines |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_utils.py |
test_normalize_file_path_relative_path |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_utils.py |
test_normalize_file_path_edge_cases |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_utils.py |
test_normalize_file_path_preserves_parent_path_prefix |
|
8 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_utils.py |
test_normalize_file_path_handles_absolute_path |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_utils.py |
test_normalize_file_path_handles_os_error |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_utils.py |
test_normalize_file_path_adds_dot_slash_prefix |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_path_utils.py |
(no function) |
|
22 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
mock_tool_result |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
mock_tool_result_with_issues |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
mock_fix_result |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_handler_stores_output_format |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_handler_stores_action |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_handler_initializes_totals |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_handle_result_updates_totals |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_handle_result_tracks_failures |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_handle_result_tracks_fix_counts |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_handle_result_buffers_results |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_get_exit_code_returns_zero_on_success |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_get_exit_code_returns_one_on_failure |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_get_exit_code_returns_one_on_issues |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_context_manager_opens_file |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_context_manager_closes_file |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_json_format_writes_array_brackets |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_handles_file_open_error |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_writes_jsonl_format |
|
12 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_writes_json_array_format |
|
11 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_writes_multiple_json_array_results |
|
16 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_result_to_dict_includes_basic_fields |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_result_to_dict_includes_fix_counts |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_create_streaming_handler_with_format |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_create_streaming_handler_with_action |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
test_create_streaming_handler_with_output_file |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_streaming_output.py |
(no function) |
|
38 |
0 |
0 |
|
100% |
| tests / unit / utils / test_timeout_utils.py |
MockDefinition.__init__ |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_timeout_utils.py |
MockTool.__init__ |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_timeout_utils.py |
MockTool._run_subprocess |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / test_timeout_utils.py |
test_get_timeout_value_with_option |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_timeout_utils.py |
test_get_timeout_value_with_default |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_timeout_utils.py |
test_get_timeout_value_with_custom_default |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_timeout_utils.py |
test_create_timeout_result |
|
8 |
0 |
0 |
|
100% |
| tests / unit / utils / test_timeout_utils.py |
test_run_subprocess_with_timeout_success |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_timeout_utils.py |
test_run_subprocess_with_timeout_exception |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / test_timeout_utils.py |
test_run_subprocess_with_timeout_exception.mock_run_subprocess |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_timeout_utils.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_config_info.py |
test_get_tool_config_summary_is_importable |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_config_info.py |
test_module_exports_get_tool_config_summary |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_config_info.py |
(no function) |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_executor_ai.py |
test_warn_ai_fix_disabled_warns_only_for_check_when_fix_requested_and_ai_disabled |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_executor_ai.py |
test_warn_ai_fix_disabled_no_warning_for_other_states |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_executor_ai.py |
test_warn_ai_fix_disabled_suppressed_for_json_output |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_executor_ai.py |
test_warn_ai_fix_disabled_suppressed_for_sarif_output |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_executor_ai.py |
test_fix_recomputes_totals_after_ai_changes |
|
32 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_executor_ai.py |
test_fix_recomputes_totals_after_ai_changes._FakeTool.set_options |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / test_tool_executor_ai.py |
test_fix_recomputes_totals_after_ai_changes._FakeTool.reset_options |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / test_tool_executor_ai.py |
test_fix_recomputes_totals_after_ai_changes._FakeTool.fix |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_executor_ai.py |
test_fix_recomputes_totals_after_ai_changes._FakeTool.check |
|
1 |
1 |
0 |
|
0% |
| tests / unit / utils / test_tool_executor_ai.py |
test_fix_recomputes_totals_after_ai_changes._fake_ai_enhancement |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_executor_ai.py |
test_fix_recomputes_totals_after_ai_changes._FakeHook.should_run |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_executor_ai.py |
test_fix_recomputes_totals_after_ai_changes._FakeHook.execute |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_executor_ai.py |
test_fix_recomputes_totals_after_ai_changes._capture_exit_code |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_executor_ai.py |
(no function) |
|
17 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_utils.py |
test_venv_patterns_is_list |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_utils.py |
test_venv_patterns_not_empty |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_utils.py |
test_venv_patterns_contains_common_venv_names |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_utils.py |
test_venv_patterns_contains_node_modules |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_utils.py |
test_venv_patterns_contains_site_packages |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_utils.py |
test_venv_patterns_all_strings |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / test_tool_utils.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / conftest.py |
mock_empty_tool_order_config |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / conftest.py |
mock_empty_configs |
|
2 |
2 |
0 |
|
0% |
| tests / unit / utils / unified_config / conftest.py |
(no function) |
|
8 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_config_summary.py |
test_get_tool_config_summary_returns_dict_for_all_standard_tools |
|
6 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_config_summary.py |
test_get_tool_config_summary_returns_tool_config_info_instances |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_config_summary.py |
test_get_tool_config_summary_includes_effective_line_length |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_config_summary.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_consistency.py |
test_validate_config_consistency_returns_empty_when_no_effective_line_length |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_consistency.py |
test_validate_config_consistency_detects_mismatch |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_consistency.py |
test_validate_config_consistency_returns_list |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_consistency.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_constants.py |
test_global_settings_line_length_has_expected_tools |
|
5 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_constants.py |
test_global_settings_line_length_has_injectable_tools |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_constants.py |
test_global_settings_has_multiple_settings |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_constants.py |
test_default_tool_priorities_formatters_before_linters |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_constants.py |
test_default_tool_priorities_pytest_runs_last |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_constants.py |
test_default_tool_priorities_has_expected_tools |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_constants.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_dataclasses.py |
test_tool_config_info_default_values |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_dataclasses.py |
test_tool_config_info_with_all_values |
|
8 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_dataclasses.py |
test_tool_config_info_is_dataclass_instance |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_dataclasses.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_enums.py |
test_tool_order_strategy_enum_values |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_enums.py |
test_tool_order_strategy_is_str_enum |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_enums.py |
(no function) |
|
7 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_injectable.py |
test_is_tool_injectable_returns_true_for_injectable_tools |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_injectable.py |
test_is_tool_injectable_is_case_insensitive |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_injectable.py |
test_is_tool_injectable_returns_false_for_unknown_tool |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_injectable.py |
test_is_tool_injectable_returns_false_for_non_injectable_known_tools |
|
1 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_injectable.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_line_length.py |
test_get_effective_line_length_from_tool_config |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_line_length.py |
test_get_effective_line_length_from_tool_config_hyphen_key |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_line_length.py |
test_get_effective_line_length_from_global_config |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_line_length.py |
test_get_effective_line_length_from_global_config_hyphen_key |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_line_length.py |
test_get_effective_line_length_from_ruff_config |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_line_length.py |
test_get_effective_line_length_from_ruff_config_underscore_key |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_line_length.py |
test_get_effective_line_length_returns_none_when_no_config |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_line_length.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_nested_value.py |
test_get_nested_value_returns_expected_value |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_nested_value.py |
test_get_nested_value_returns_none_for_missing_keys |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_nested_value.py |
(no function) |
|
9 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_ordered_tools.py |
test_get_ordered_tools_priority_ordering |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_ordered_tools.py |
test_get_ordered_tools_alphabetical_ordering |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_ordered_tools.py |
test_get_ordered_tools_custom_ordering |
|
4 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_ordered_tools.py |
test_get_ordered_tools_invalid_strategy_falls_back_to_priority |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_ordered_tools.py |
test_get_ordered_tools_invalid_config_strategy_falls_back_to_priority |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_ordered_tools.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_tool_priority.py |
test_get_tool_priority_returns_default_values |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_tool_priority.py |
test_get_tool_priority_unknown_tool_returns_50 |
|
2 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_tool_priority.py |
test_get_tool_priority_respects_override |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_tool_priority.py |
test_get_tool_priority_override_is_case_insensitive |
|
3 |
0 |
0 |
|
100% |
| tests / unit / utils / unified_config / test_tool_priority.py |
(no function) |
|
11 |
0 |
0 |
|
100% |
| tests / utils / __init__.py |
(no function) |
|
0 |
0 |
0 |
|
100% |
| tests / utils / test_formatting.py |
test_read_ascii_art |
|
4 |
0 |
0 |
|
100% |
| tests / utils / test_formatting.py |
test_read_ascii_art_file_not_found |
|
2 |
0 |
0 |
|
100% |
| tests / utils / test_formatting.py |
test_read_ascii_art_with_sections |
|
6 |
0 |
0 |
|
100% |
| tests / utils / test_formatting.py |
(no function) |
|
10 |
0 |
0 |
|
100% |
| tests / utils / test_output_manager.py |
temp_output_dir |
|
3 |
0 |
0 |
|
100% |
| tests / utils / test_output_manager.py |
make_tool_result |
|
1 |
0 |
0 |
|
100% |
| tests / utils / test_output_manager.py |
make_issue |
|
1 |
0 |
0 |
|
100% |
| tests / utils / test_output_manager.py |
test_run_dir_creation |
|
3 |
0 |
0 |
|
100% |
| tests / utils / test_output_manager.py |
test_write_console_log |
|
5 |
0 |
0 |
|
100% |
| tests / utils / test_output_manager.py |
test_write_json |
|
8 |
0 |
0 |
|
100% |
| tests / utils / test_output_manager.py |
test_write_markdown |
|
5 |
0 |
0 |
|
100% |
| tests / utils / test_output_manager.py |
test_write_html |
|
5 |
0 |
0 |
|
100% |
| tests / utils / test_output_manager.py |
test_write_csv |
|
11 |
0 |
0 |
|
100% |
| tests / utils / test_output_manager.py |
test_write_reports_from_results |
|
14 |
0 |
0 |
|
100% |
| tests / utils / test_output_manager.py |
test_write_reports_from_results_with_none_code |
|
19 |
0 |
0 |
|
100% |
| tests / utils / test_output_manager.py |
test_permission_fallback_uses_temp_dir |
|
15 |
0 |
0 |
|
100% |
| tests / utils / test_output_manager.py |
test_permission_fallback_uses_temp_dir.mock_mkdir |
|
4 |
0 |
0 |
|
100% |
| tests / utils / test_output_manager.py |
(no function) |
|
24 |
0 |
0 |
|
100% |
| tests / utils / test_path_utils.py |
_to_posix |
|
1 |
0 |
0 |
|
100% |
| tests / utils / test_path_utils.py |
test_normalize_file_path_for_display_absolute |
|
6 |
0 |
0 |
|
100% |
| tests / utils / test_path_utils.py |
test_normalize_file_path_for_display_relative |
|
5 |
0 |
0 |
|
100% |
| tests / utils / test_path_utils.py |
test_normalize_file_path_for_display_current_dir |
|
4 |
0 |
0 |
|
100% |
| tests / utils / test_path_utils.py |
test_normalize_file_path_for_display_parent_dir |
|
6 |
0 |
0 |
|
100% |
| tests / utils / test_path_utils.py |
test_normalize_file_path_for_display_already_relative |
|
5 |
0 |
0 |
|
100% |
| tests / utils / test_path_utils.py |
test_normalize_file_path_for_display_error |
|
3 |
0 |
0 |
|
100% |
| tests / utils / test_path_utils.py |
test_normalize_file_path_for_display_os_error |
|
3 |
0 |
0 |
|
100% |
| tests / utils / test_path_utils.py |
(no function) |
|
20 |
0 |
0 |
|
100% |