struct AnalyzerFailure

Overview

Coverage a tech analyzer did not deliver, named so the scan can say which part of the code base it never actually looked at. Two shapes reach this, both of them "endpoints may be missing here":

analysis_endpoints has always caught per-tech exceptions and kept going, which is the right call — one broken analyzer must not cost the user the other twenty. But the only trace was a warning line on stderr, so the result of a degraded scan was byte-identical to a clean one: "this project has no Go endpoints" and "the Go analyzer crashed before it could look" produced the same empty list and the same exit 0. In CI, where nobody reads the log of a green run, that is silent coverage loss.

Carrying the failures into the structured output (and, with --strict, into the exit code) makes the difference observable.

Included Modules

Defined in:

models/analyzer_failure.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(ctx : YAML::ParseContext, node : YAML::Nodes::Node) #

[View source]
def self.new(tech : String, message : String) #

[View source]
def self.new(pull : JSON::PullParser) #

[View source]

Instance Method Detail

def message : String #

[View source]
def tech : String #

[View source]