Documentation ¶
Index ¶
- Constants
- Variables
- func CalculateResult(tests []scapiv1alpha1.ScorecardTestResult) scapiv1alpha1.ScorecardSuiteResult
- func TestResultToScorecardTestResult(tr TestResult) scapiv1alpha1.ScorecardTestResult
- func TestSuitesToScorecardOutput(suites []TestSuite, log string) scapiv1alpha1.ScorecardOutput
- func UpdateState(res scapiv1alpha1.ScorecardTestResult) scapiv1alpha1.ScorecardTestResult
- func UpdateSuiteStates(suite scapiv1alpha1.ScorecardSuiteResult) scapiv1alpha1.ScorecardSuiteResult
- func ValidateVersion(version string) error
- type Test
- type TestInfo
- type TestResult
- type TestSuite
Constants ¶
const DefaultScorecardVersion = v1alpha2
const LatestScorecardVersion = v1alpha2
Variables ¶
var ScorecardVersions = []string{v1alpha2}
Functions ¶
func CalculateResult ¶
func CalculateResult(tests []scapiv1alpha1.ScorecardTestResult) scapiv1alpha1.ScorecardSuiteResult
CalculateResult returns a ScorecardSuiteResult with the state and Tests fields set based on a slice of ScorecardTestResults
func TestResultToScorecardTestResult ¶
func TestResultToScorecardTestResult(tr TestResult) scapiv1alpha1.ScorecardTestResult
TestResultToScorecardTestResult is a helper function for converting from the TestResult type to the ScorecardTestResult type
func TestSuitesToScorecardOutput ¶
func TestSuitesToScorecardOutput(suites []TestSuite, log string) scapiv1alpha1.ScorecardOutput
TestSuitesToScorecardOutput takes an array of test suites and generates a v1alpha1 ScorecardOutput object with the provided suites and log
func UpdateState ¶
func UpdateState(res scapiv1alpha1.ScorecardTestResult) scapiv1alpha1.ScorecardTestResult
UpdateState updates the state of a TestResult.
func UpdateSuiteStates ¶
func UpdateSuiteStates(suite scapiv1alpha1.ScorecardSuiteResult) scapiv1alpha1.ScorecardSuiteResult
UpdateSuiteStates update the state of each test in a suite and updates the count to the suite's states to match
func ValidateVersion ¶
Types ¶
type Test ¶
type Test interface { GetName() string GetDescription() string GetLabels() map[string]string IsCumulative() bool Run(context.Context) *TestResult }
Test provides methods for running scorecard tests
type TestInfo ¶
type TestInfo struct { Name string Description string // If a test is set to cumulative, the scores of multiple runs of the same test on separate CRs are added together for the total score. // If cumulative is false, if any test failed, the total score is 0/1. Otherwise 1/1. Cumulative bool Labels map[string]string }
TestInfo contains information about the scorecard test
func (TestInfo) GetDescription ¶
GetDescription returns the test description
func (TestInfo) IsCumulative ¶
IsCumulative returns true if the test's scores are intended to be cumulative
type TestResult ¶
type TestResult struct { State scapiv1alpha1.State Test Test EarnedPoints int MaximumPoints int Suggestions []string Errors []error Log string }
TestResult contains a test's points, suggestions, and errors
func ResultsCumulative ¶
func ResultsCumulative(results []TestResult) (TestResult, error)
ResultsCumulative takes multiple TestResults and returns a single TestResult with MaximumPoints equal to the sum of the MaximumPoints of the input and EarnedPoints as the sum of EarnedPoints of the input
func ResultsPassFail ¶
func ResultsPassFail(results []TestResult) (TestResult, error)
ResultsPassFail combines multiple test results and returns a single test results with 1 maximum point and either 0 or 1 earned points
type TestSuite ¶
type TestSuite struct { TestInfo Tests []Test TestResults []TestResult Weights map[string]float64 Log string }
TestSuite contains a list of tests and results, along with the relative weights of each test. Also can optionally contain a log
func MergeSuites ¶
MergeSuites takes an array of TestSuites and combines all suites with the same name
func NewTestSuite ¶
NewTestSuite returns a new TestSuite with a given name and description
func (*TestSuite) AddTest ¶
AddTest adds a new Test to a TestSuite along with a relative weight for the new Test
func (*TestSuite) ApplySelector ¶
ApplySelector apply label selectors removing tests that do not match
func (*TestSuite) TotalScore ¶
TotalScore calculates and returns the total score of all run Tests in a TestSuite