Context
pkg/inspect/ has 0% test coverage for:
services.go (689 lines) - systemd, nginx, apache, postgresql, mysql, redis, hashicorp, tailscale discovery
kvm.go - KVM/libvirt VM discovery
hetzner.go - Hetzner Cloud API discovery
output.go (1072 lines) - YAML and Terraform generation
terraform_modular.go - modular Terraform generation
Problem
- Zero regression protection for parsing logic
extractVersion() regex patterns untested
- Terraform generation (
sanitizeTerraformName, generateDockerTerraform, etc.) has no tests
- YAML serialization untested
Proposal
Extract pure parsing functions (like docker.go refactor) and add tests:
extractVersion() - test with various version string formats
sanitizeTerraformName() - test edge cases (numbers, special chars, empty)
parseMemoryInfo(), parseCPUInfo(), parseDiskInfo() - test with sample command output
generateDockerTerraform() - test Terraform HCL generation
WriteYAML() - test serialization with known input
Target: 70%+ coverage on parsers, 50%+ overall package coverage.
Context
pkg/inspect/has 0% test coverage for:services.go(689 lines) - systemd, nginx, apache, postgresql, mysql, redis, hashicorp, tailscale discoverykvm.go- KVM/libvirt VM discoveryhetzner.go- Hetzner Cloud API discoveryoutput.go(1072 lines) - YAML and Terraform generationterraform_modular.go- modular Terraform generationProblem
extractVersion()regex patterns untestedsanitizeTerraformName,generateDockerTerraform, etc.) has no testsProposal
Extract pure parsing functions (like docker.go refactor) and add tests:
extractVersion()- test with various version string formatssanitizeTerraformName()- test edge cases (numbers, special chars, empty)parseMemoryInfo(),parseCPUInfo(),parseDiskInfo()- test with sample command outputgenerateDockerTerraform()- test Terraform HCL generationWriteYAML()- test serialization with known inputTarget: 70%+ coverage on parsers, 50%+ overall package coverage.