Coverage Analysis
Overall coverage: 80.8% (5,326 covered / 6,588 statements, 1,262 uncovered)
Files with highest impact on overall coverage (excluding test/bench/examples)
| File |
Coverage |
Uncovered |
Total Stmts |
Impact if 100% |
language/ast/type_definitions.go |
0.0% |
91 |
91 |
+1.38pp |
language/ast/values.go |
0.0% |
57 |
57 |
+0.87pp |
plan_cache_normalize.go |
80.1% |
44 |
221 |
+0.67pp |
language/ast/definitions.go |
0.0% |
43 |
43 |
+0.65pp |
language/visitor/visitor.go |
90.6% |
29 |
310 |
+0.44pp |
plan.go |
92.8% |
27 |
373 |
+0.41pp |
language/ast/selections.go |
0.0% |
25 |
25 |
+0.38pp |
language/ast/types.go |
0.0% |
19 |
19 |
+0.29pp |
schema.go |
92.3% |
18 |
235 |
+0.27pp |
plan_cache.go |
81.1% |
18 |
95 |
+0.27pp |
language/location/location.go |
0.0% |
16 |
16 |
+0.24pp |
rules.go |
97.8% |
16 |
730 |
+0.24pp |
values.go |
92.7% |
14 |
191 |
+0.21pp |
subscription.go |
84.5% |
11 |
71 |
+0.17pp |
rules_overlapping_fields_can_be_merged.go |
96.7% |
9 |
269 |
+0.14pp |
util.go |
89.7% |
9 |
87 |
+0.14pp |
scalars.go |
97.1% |
8 |
273 |
+0.12pp |
language/ast/name.go |
0.0% |
6 |
6 |
+0.09pp |
language/ast/arguments.go |
0.0% |
6 |
6 |
+0.09pp |
type_info.go |
96.1% |
5 |
128 |
+0.08pp |
validator.go |
95.4% |
5 |
108 |
+0.08pp |
language/source/source.go |
0.0% |
5 |
5 |
+0.08pp |
language/ast/document.go |
0.0% |
5 |
5 |
+0.08pp |
language/ast/directives.go |
0.0% |
5 |
5 |
+0.08pp |
language/ast/location.go |
0.0% |
3 |
3 |
+0.05pp |
graphql.go |
88.9% |
3 |
27 |
+0.05pp |
located.go |
94.4% |
1 |
18 |
+0.02pp |
language/lexer/lexer.go |
99.6% |
1 |
282 |
+0.02pp |
Key takeaways
Best targets for real logic (not just type definitions)
plan_cache_normalize.go — 80.1% coverage, 44 uncovered. Biggest code-level gap with actual logic.
plan.go — 92.8% coverage, 27 uncovered. High statement count, core execution logic.
language/visitor/visitor.go — 90.6% coverage, 29 uncovered. Core AST traversal.
schema.go — 92.3% coverage, 18 uncovered. Schema building logic.
plan_cache.go — 81.1% coverage, 18 uncovered. Caching logic.
subscription.go — 84.5% coverage, 11 uncovered. Subscription execution.
util.go — 89.7% coverage, 9 uncovered. Utility functions.
values.go — 92.7% coverage, 14 uncovered. Value coercion/resolution.
These files contain actual logic and edge cases that aren't covered by existing tests.
Bulk coverage wins (language/ast/*)
The language/ast/ files (type_definitions, values, definitions, selections, types, etc.) collectively account for ~255 uncovered statements at 0% coverage (~20% of all uncovered code). These are primarily struct/type definitions used across the codebase. They would give the biggest numerical boost (+3.7pp total) but require adding AST package-level tests that exercise these types directly.
Coverage Analysis
Overall coverage: 80.8% (5,326 covered / 6,588 statements, 1,262 uncovered)
Files with highest impact on overall coverage (excluding test/bench/examples)
language/ast/type_definitions.golanguage/ast/values.goplan_cache_normalize.golanguage/ast/definitions.golanguage/visitor/visitor.goplan.golanguage/ast/selections.golanguage/ast/types.goschema.goplan_cache.golanguage/location/location.gorules.govalues.gosubscription.gorules_overlapping_fields_can_be_merged.goutil.goscalars.golanguage/ast/name.golanguage/ast/arguments.gotype_info.govalidator.golanguage/source/source.golanguage/ast/document.golanguage/ast/directives.golanguage/ast/location.gographql.golocated.golanguage/lexer/lexer.goKey takeaways
Best targets for real logic (not just type definitions)
plan_cache_normalize.go— 80.1% coverage, 44 uncovered. Biggest code-level gap with actual logic.plan.go— 92.8% coverage, 27 uncovered. High statement count, core execution logic.language/visitor/visitor.go— 90.6% coverage, 29 uncovered. Core AST traversal.schema.go— 92.3% coverage, 18 uncovered. Schema building logic.plan_cache.go— 81.1% coverage, 18 uncovered. Caching logic.subscription.go— 84.5% coverage, 11 uncovered. Subscription execution.util.go— 89.7% coverage, 9 uncovered. Utility functions.values.go— 92.7% coverage, 14 uncovered. Value coercion/resolution.These files contain actual logic and edge cases that aren't covered by existing tests.
Bulk coverage wins (
language/ast/*)The
language/ast/files (type_definitions, values, definitions, selections, types, etc.) collectively account for ~255 uncovered statements at 0% coverage (~20% of all uncovered code). These are primarily struct/type definitions used across the codebase. They would give the biggest numerical boost (+3.7pp total) but require adding AST package-level tests that exercise these types directly.