diff --git a/internal/result/result.go b/internal/result/result.go index 65f9c3ab..8f9f13b0 100644 --- a/internal/result/result.go +++ b/internal/result/result.go @@ -21,6 +21,7 @@ import ( "encoding/json" "fmt" "io" + "regexp" "strings" "text/template" @@ -96,6 +97,8 @@ func (results *Type) Initialize() { } } +var blankLineRegexp = regexp.MustCompile("\n[[:space:]]*\n") + // Record records the result of a rule and returns a text summary for it. func (results *Type) Record(lintedProject project.Type, ruleConfiguration ruleconfiguration.Type, ruleResult ruleresult.Type, ruleOutput string) string { ruleLevel, err := rulelevel.RuleLevel(ruleConfiguration, ruleResult, lintedProject) @@ -124,10 +127,13 @@ func (results *Type) Record(lintedProject project.Type, ruleConfiguration ruleco table.SetColumnSeparator("") table.SetNoWhiteSpace(true) table.SetColWidth(width - len(prefix)) + table.SetReflowDuringAutoWrap(false) // Reflow removes explicit line breaks. table.Append([]string{prefix, message}) table.Render() + // Remove blank lines on explicit line breaks caused by tablewriter bug. + cleanedOutput := blankLineRegexp.ReplaceAllLiteralString(formattedOutput.String(), "\n") - return formattedOutput.String() + return cleanedOutput } if configuration.Verbose() { @@ -138,7 +144,11 @@ func (results *Type) Record(lintedProject project.Type, ruleConfiguration ruleco } } else { if ruleResult == ruleresult.Fail { - summaryText = formatRuleText(ruleLevel, fmt.Sprintf("%s (Rule %s)", ruleMessage, ruleConfiguration.ID)) + if strings.Contains(ruleMessage, "\n") { + summaryText = formatRuleText(ruleLevel, fmt.Sprintf("%s\n(Rule %s)", ruleMessage, ruleConfiguration.ID)) + } else { + summaryText = formatRuleText(ruleLevel, fmt.Sprintf("%s (Rule %s)", ruleMessage, ruleConfiguration.ID)) + } } } diff --git a/internal/result/result_test.go b/internal/result/result_test.go index 22604a85..aa1f1166 100644 --- a/internal/result/result_test.go +++ b/internal/result/result_test.go @@ -85,9 +85,15 @@ func TestRecord(t *testing.T) { assert.Equal(t, fmt.Sprintf("Rule %s result: %s\n", ruleConfiguration.ID, ruleresult.Pass), summaryText, "Non-failure result with no rule function output should only use preface") flags.Set("verbose", "false") require.Nil(t, configuration.Initialize(flags, projectPaths)) - summaryText = results.Record(lintedProject, ruleConfiguration, ruleresult.Fail, ruleOutput) - outputAssertion = "ERROR: Path does not contain a valid Arduino library. See: \n https://arduino.github.io/arduino-cli/latest/library-specification (Rule LS001) \n" - assert.Equal(t, outputAssertion, summaryText) + ruleConfigurationCopy := ruleConfiguration + ruleConfigurationCopy.MessageTemplate = "bar" + summaryText = results.Record(lintedProject, ruleConfigurationCopy, ruleresult.Fail, ruleOutput) + outputAssertion = "ERROR: bar (Rule LS001)\n" + assert.Equal(t, outputAssertion, summaryText, "Rule ID is appended to non-verbose fail message on same line when rule message is single line") + ruleConfigurationCopy.MessageTemplate = "bar\nbaz" + summaryText = results.Record(lintedProject, ruleConfigurationCopy, ruleresult.Fail, ruleOutput) + outputAssertion = "ERROR: bar \n baz \n (Rule LS001)\n" + assert.Equal(t, outputAssertion, summaryText, "Rule ID is appended to non-verbose fail message on same line when rule message is multiple lines") summaryText = results.Record(lintedProject, ruleConfiguration, ruleresult.NotRun, ruleOutput) assert.Equal(t, "", summaryText, "Non-fail result should not result in output in non-verbose mode") summaryText = results.Record(lintedProject, ruleConfiguration, ruleresult.Pass, "") diff --git a/internal/rule/ruleconfiguration/ruleconfiguration.go b/internal/rule/ruleconfiguration/ruleconfiguration.go index a512990f..f0f67f4b 100644 --- a/internal/rule/ruleconfiguration/ruleconfiguration.go +++ b/internal/rule/ruleconfiguration/ruleconfiguration.go @@ -129,7 +129,7 @@ var configurations = []Type{ ID: "LS005", Brief: "symlink", Description: "", - MessageTemplate: "Symlink(s) found at {{.}}. Symlinks cause difficulties for Windows users. These block addition to the Arduino Library Manager index.", + MessageTemplate: "Symlink(s) found. Symlinks cause difficulties for Windows users. These block addition to the Arduino Library Manager index:\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -161,7 +161,7 @@ var configurations = []Type{ ID: "LS007", Brief: ".exe file", Description: "", - MessageTemplate: ".exe file(s) found: {{.}}. Presence of these files blocks addition to the Library Manager index.", + MessageTemplate: ".exe file(s) found. Presence of these files blocks addition to the Library Manager index:\n{{.}}", DisableModes: []rulemode.Type{rulemode.Default}, EnableModes: []rulemode.Type{rulemode.LibraryManagerSubmission, rulemode.LibraryManagerIndexed, rulemode.LibraryManagerIndexing}, InfoModes: nil, @@ -1217,7 +1217,7 @@ var configurations = []Type{ ID: "LD003", Brief: "stray sketch", Description: "", - MessageTemplate: "Sketch(es) found outside examples and extras folders: {{.}}. See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples", + MessageTemplate: "Sketch(es) found outside examples and extras folders:\n{{.}}\nSee: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3041,7 +3041,7 @@ var configurations = []Type{ ID: "IA007", Brief: "packages[].name is arduino", Description: "Case insensitive.", - MessageTemplate: "packages[].name value is \"arduino\" in package {{.}}. This name is reserved for official packages.", + MessageTemplate: "Use of packages[].name value \"arduino\" found. This name is reserved for official packages.", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3345,7 +3345,7 @@ var configurations = []Type{ ID: "IL003", Brief: "additional properties in packages[].platforms[]", Description: "", - MessageTemplate: "Unknown properties under packages[].platforms[] found in platform(s): {{.}}", + MessageTemplate: "Unknown properties under packages[].platforms[] found in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3361,7 +3361,7 @@ var configurations = []Type{ ID: "IL004", Brief: "packages[].platforms[].name missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].name property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].name property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3377,7 +3377,7 @@ var configurations = []Type{ ID: "IL005", Brief: "incorrect packages[].platforms[].name type", Description: "Must be a string.", - MessageTemplate: "packages[].platforms[].name property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].name property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3393,7 +3393,7 @@ var configurations = []Type{ ID: "IL006", Brief: "packages[].platforms[].name < min length", Description: "", - MessageTemplate: "packages[].platforms[].name value less than the minimum length in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].name value less than the minimum length in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3409,7 +3409,7 @@ var configurations = []Type{ ID: "IL007", Brief: "packages[].platforms[].architecture missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].architecture property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].architecture property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3425,7 +3425,7 @@ var configurations = []Type{ ID: "IL008", Brief: "incorrect packages[].platforms[].architecture type", Description: "Must be a string.", - MessageTemplate: "packages[].platforms[].architecture property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].architecture property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3441,7 +3441,7 @@ var configurations = []Type{ ID: "IL009", Brief: "packages[].platforms[].architecture < min length", Description: "", - MessageTemplate: "packages[].platforms[].architecture value less than the minimum length in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].architecture value less than the minimum length in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3457,7 +3457,7 @@ var configurations = []Type{ ID: "IL010", Brief: "packages[].platforms[].version missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].version property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].version property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3473,7 +3473,7 @@ var configurations = []Type{ ID: "IL011", Brief: "incorrect packages[].platforms[].version type", Description: "Must be a string.", - MessageTemplate: "packages[].platforms[].version property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].version property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3489,7 +3489,7 @@ var configurations = []Type{ ID: "IL012", Brief: "invalid packages[].platforms[].version", Description: "Must be compliant with \"relaxed semver\".", - MessageTemplate: "Invalid packages[].platforms[].version property in platform(s): {{.}}", + MessageTemplate: "Invalid packages[].platforms[].version property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3505,7 +3505,7 @@ var configurations = []Type{ ID: "IL013", Brief: "non-semver packages[].platforms[].version", Description: "", - MessageTemplate: "packages[].platforms[].version property in platform(s): {{.}} is not compliant with the semver specification. See: https://semver.org/", + MessageTemplate: "packages[].platforms[].version property in violation of semver specification found in platform(s):\n{{.}}\nSee: https://semver.org/", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3521,7 +3521,7 @@ var configurations = []Type{ ID: "IL058", Brief: "incorrect packages[].platforms[].deprecated type", Description: "Must be a boolean.", - MessageTemplate: "packages[].platforms[].deprecated property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].deprecated property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3537,7 +3537,7 @@ var configurations = []Type{ ID: "IL014", Brief: "packages[].platforms[].category missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].category property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].category property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3553,7 +3553,7 @@ var configurations = []Type{ ID: "IL015", Brief: "incorrect packages[].platforms[].category type", Description: "Must be a string.", - MessageTemplate: "packages[].platforms[].category property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].category property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3569,7 +3569,7 @@ var configurations = []Type{ ID: "IL016", Brief: "invalid packages[].platforms[].category", Description: "", - MessageTemplate: "packages[].platforms[].category property invalid in platform(s): {{.}}. See: https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", + MessageTemplate: "packages[].platforms[].category property invalid in platform(s):\n{{.}}\nSee: https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3585,7 +3585,7 @@ var configurations = []Type{ ID: "IL017", Brief: "packages[].platforms[].help missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].help property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].help property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3601,7 +3601,7 @@ var configurations = []Type{ ID: "IL018", Brief: "incorrect packages[].platforms[].help type", Description: "Must be an object.", - MessageTemplate: "packages[].platforms[].help property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].help property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3617,7 +3617,7 @@ var configurations = []Type{ ID: "IL019", Brief: "additional properties in packages[].platforms[].help", Description: "", - MessageTemplate: "Unknown properties under packages[].platforms[].help found in platform(s): {{.}}", + MessageTemplate: "Unknown properties under packages[].platforms[].help found in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3633,7 +3633,7 @@ var configurations = []Type{ ID: "IL020", Brief: "packages[].platforms[].help.online missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].help.online property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].help.online property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3649,7 +3649,7 @@ var configurations = []Type{ ID: "IL021", Brief: "incorrect packages[].platforms[].help.online type", Description: "Must be a string.", - MessageTemplate: "packages[].platforms[].help.online property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].help.online property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3665,7 +3665,7 @@ var configurations = []Type{ ID: "IL022", Brief: "invalid packages[].platforms[].help.online format", Description: "", - MessageTemplate: "packages[].platforms[].help.online property does not have a valid URL format in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].help.online property does not have a valid URL format in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3681,7 +3681,7 @@ var configurations = []Type{ ID: "IL023", Brief: "dead packages[].platforms[].help.online", Description: "", - MessageTemplate: "Unable to load the packages[].platforms[].help.online URL for platforms(s): {{.}}", + MessageTemplate: "Unable to load the packages[].platforms[].help.online URL for platforms(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3697,7 +3697,7 @@ var configurations = []Type{ ID: "IL024", Brief: "packages[].platforms[].url missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].url property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].url property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3713,7 +3713,7 @@ var configurations = []Type{ ID: "IL025", Brief: "incorrect packages[].platforms[].url type", Description: "Must be a string.", - MessageTemplate: "packages[].platforms[].url property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].url property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3729,7 +3729,7 @@ var configurations = []Type{ ID: "IL026", Brief: "invalid packages[].platforms[].url format", Description: "", - MessageTemplate: "packages[].platforms[].url property does not have a valid URL format in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].url property does not have a valid URL format in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3745,7 +3745,7 @@ var configurations = []Type{ ID: "IL027", Brief: "dead packages[].platforms[].url", Description: "", - MessageTemplate: "Unable to load the packages[].platforms[].url URL for platforms(s): {{.}}", + MessageTemplate: "Unable to load the packages[].platforms[].url URL for platforms(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3761,7 +3761,7 @@ var configurations = []Type{ ID: "IL028", Brief: "packages[].platforms[].archiveFileName missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].archiveFileName property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].archiveFileName property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3777,7 +3777,7 @@ var configurations = []Type{ ID: "IL029", Brief: "incorrect packages[].platforms[].archiveFileName type", Description: "Must be a string.", - MessageTemplate: "packages[].platforms[].archiveFileName property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].archiveFileName property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3793,7 +3793,7 @@ var configurations = []Type{ ID: "IL030", Brief: "packages[].platforms[].archiveFileName < min length", Description: "", - MessageTemplate: "packages[].platforms[].archiveFileName value less than the minimum length in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].archiveFileName value less than the minimum length in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3809,7 +3809,7 @@ var configurations = []Type{ ID: "IL031", Brief: "invalid packages[].platforms[].archiveFileName", Description: "", - MessageTemplate: "packages[].platforms[].archiveFileName filename uses unsupported file extension in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].archiveFileName filename uses unsupported file extension in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3825,7 +3825,7 @@ var configurations = []Type{ ID: "IL032", Brief: "packages[].platforms[].checksum missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].checksum property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].checksum property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3841,7 +3841,7 @@ var configurations = []Type{ ID: "IL033", Brief: "incorrect packages[].platforms[].checksum type", Description: "Must be a string.", - MessageTemplate: "packages[].platforms[].checksum property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].checksum property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3857,7 +3857,7 @@ var configurations = []Type{ ID: "IL034", Brief: "invalid packages[].platforms[].checksum", Description: "", - MessageTemplate: "packages[].platforms[].checksum has an invalid format in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].checksum has an invalid format in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3873,7 +3873,7 @@ var configurations = []Type{ ID: "IL035", Brief: "discouraged packages[].platforms[].checksum algorithm", Description: "", - MessageTemplate: "packages[].platforms[].checksum uses a discouraged hash algorithm in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].checksum uses a discouraged hash algorithm in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3889,7 +3889,7 @@ var configurations = []Type{ ID: "IL036", Brief: "packages[].platforms[].size missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].size property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].size property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3905,7 +3905,7 @@ var configurations = []Type{ ID: "IL037", Brief: "incorrect packages[].platforms[].size type", Description: "Must be a string.", - MessageTemplate: "packages[].platforms[].size property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].size property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3921,7 +3921,7 @@ var configurations = []Type{ ID: "IL038", Brief: "invalid packages[].platforms[].size", Description: "", - MessageTemplate: "packages[].platforms[].size has an invalid format in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].size has an invalid format in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3937,7 +3937,7 @@ var configurations = []Type{ ID: "IL039", Brief: "packages[].platforms[].boards[] missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].boards[] property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].boards[] property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3953,7 +3953,7 @@ var configurations = []Type{ ID: "IL040", Brief: "incorrect packages[].platforms[].boards type", Description: "Must be an array.", - MessageTemplate: "packages[].platforms[].boards property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].boards property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3969,7 +3969,7 @@ var configurations = []Type{ ID: "IL041", Brief: "additional properties in packages[].platforms[].boards[]", Description: "", - MessageTemplate: "Unknown properties under packages[].platforms[].boards[] found in platform(s): {{.}}", + MessageTemplate: "Unknown properties under packages[].platforms[].boards[] found in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3985,7 +3985,7 @@ var configurations = []Type{ ID: "IL042", Brief: "packages[].platforms[].boards[].name missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].boards[].name property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].boards[].name property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4001,7 +4001,7 @@ var configurations = []Type{ ID: "IL043", Brief: "incorrect packages[].platforms[].boards[].name type", Description: "Must be a string.", - MessageTemplate: "packages[].platforms[].boards[].name property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].boards[].name property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4017,7 +4017,7 @@ var configurations = []Type{ ID: "IL044", Brief: "packages[].platforms[].boards[].name < min length", Description: "", - MessageTemplate: "packages[].platforms[].boards[].name value less than the minimum length in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].boards[].name value less than the minimum length in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4033,7 +4033,7 @@ var configurations = []Type{ ID: "IL045", Brief: "packages[].platforms[].toolsDependencies[] missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].toolsDependencies[] property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].toolsDependencies[] property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4049,7 +4049,7 @@ var configurations = []Type{ ID: "IL046", Brief: "incorrect packages[].platforms[].toolsDependencies type", Description: "Must be an array.", - MessageTemplate: "packages[].platforms[].toolsDependencies property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].toolsDependencies property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4065,7 +4065,7 @@ var configurations = []Type{ ID: "IL047", Brief: "additional properties in packages[].platforms[].toolsDependencies[]", Description: "", - MessageTemplate: "Unknown properties under packages[].platforms[].toolsDependencies[] found in platform(s): {{.}}", + MessageTemplate: "Unknown properties under packages[].platforms[].toolsDependencies[] found in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4081,7 +4081,7 @@ var configurations = []Type{ ID: "IL048", Brief: "packages[].platforms[].toolsDependencies[].packager missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].packager property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].packager property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4097,7 +4097,7 @@ var configurations = []Type{ ID: "IL049", Brief: "incorrect packages[].platforms[].toolsDependencies[].packager type", Description: "Must be a string.", - MessageTemplate: "packages[].platforms[].toolsDependencies[].packager property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].toolsDependencies[].packager property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4113,7 +4113,7 @@ var configurations = []Type{ ID: "IL050", Brief: "packages[].platforms[].toolsDependencies[].packager < min length", Description: "", - MessageTemplate: "packages[].platforms[].toolsDependencies[].packager value less than the minimum length in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].toolsDependencies[].packager value less than the minimum length in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4129,7 +4129,7 @@ var configurations = []Type{ ID: "IL051", Brief: "packages[].platforms[].toolsDependencies[].name missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].name property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].name property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4145,7 +4145,7 @@ var configurations = []Type{ ID: "IL052", Brief: "incorrect packages[].platforms[].toolsDependencies[].name type", Description: "Must be a string.", - MessageTemplate: "packages[].platforms[].toolsDependencies[].name property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].toolsDependencies[].name property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4161,7 +4161,7 @@ var configurations = []Type{ ID: "IL053", Brief: "packages[].platforms[].toolsDependencies[].name < min length", Description: "", - MessageTemplate: "packages[].platforms[].toolsDependencies[].name value less than the minimum length in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].toolsDependencies[].name value less than the minimum length in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4177,7 +4177,7 @@ var configurations = []Type{ ID: "IL054", Brief: "packages[].platforms[].toolsDependencies[].version missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].version property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].version property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4193,7 +4193,7 @@ var configurations = []Type{ ID: "IL055", Brief: "incorrect packages[].platforms[].toolsDependencies[].version type", Description: "Must be a string.", - MessageTemplate: "packages[].platforms[].toolsDependencies[].version property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].toolsDependencies[].version property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4209,7 +4209,7 @@ var configurations = []Type{ ID: "IL056", Brief: "invalid packages[].platforms[].toolsDependencies[].version", Description: "Must be compliant with \"relaxed semver\".", - MessageTemplate: "Invalid packages[].platforms[].toolsDependencies[].version property in platform(s): {{.}}", + MessageTemplate: "Invalid packages[].platforms[].toolsDependencies[].version property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4225,7 +4225,7 @@ var configurations = []Type{ ID: "IL057", Brief: "non-semver packages[].platforms[].toolsDependencies[].version", Description: "", - MessageTemplate: "packages[].platforms[].toolsDependencies[].version property in platform(s): {{.}} is not compliant with the semver specification. See: https://semver.org/", + MessageTemplate: "packages[].platforms[].toolsDependencies[].version property in violation of semver specification found in platform(s):\n{{.}}\nSee: https://semver.org/", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4241,7 +4241,7 @@ var configurations = []Type{ ID: "IL059", Brief: "incorrect packages[].platforms[].discoveryDependencies type", Description: "Must be an array.", - MessageTemplate: "packages[].platforms[].discoveryDependencies property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].discoveryDependencies property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4257,7 +4257,7 @@ var configurations = []Type{ ID: "IL060", Brief: "additional properties in packages[].platforms[].discoveryDependencies[]", Description: "", - MessageTemplate: "Unknown properties under packages[].platforms[].discoveryDependencies[] found in platform(s): {{.}}", + MessageTemplate: "Unknown properties under packages[].platforms[].discoveryDependencies[] found in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4273,7 +4273,7 @@ var configurations = []Type{ ID: "IL061", Brief: "packages[].platforms[].discoveryDependencies[].packager missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].discoveryDependencies[].packager property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].discoveryDependencies[].packager property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4289,7 +4289,7 @@ var configurations = []Type{ ID: "IL062", Brief: "incorrect packages[].platforms[].discoveryDependencies[].packager type", Description: "Must be a string.", - MessageTemplate: "packages[].platforms[].discoveryDependencies[].packager property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].discoveryDependencies[].packager property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4305,7 +4305,7 @@ var configurations = []Type{ ID: "IL063", Brief: "packages[].platforms[].discoveryDependencies[].packager < min length", Description: "", - MessageTemplate: "packages[].platforms[].discoveryDependencies[].packager value less than the minimum length in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].discoveryDependencies[].packager value less than the minimum length in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4321,7 +4321,7 @@ var configurations = []Type{ ID: "IL064", Brief: "packages[].platforms[].discoveryDependencies[].name missing", Description: "", - MessageTemplate: "Missing packages[].platforms[].discoveryDependencies[].name property in platform(s): {{.}}", + MessageTemplate: "Missing packages[].platforms[].discoveryDependencies[].name property in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4337,7 +4337,7 @@ var configurations = []Type{ ID: "IL065", Brief: "incorrect packages[].platforms[].discoveryDependencies[].name type", Description: "Must be a string.", - MessageTemplate: "packages[].platforms[].discoveryDependencies[].name property has incorrect type in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].discoveryDependencies[].name property has incorrect type in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4353,7 +4353,7 @@ var configurations = []Type{ ID: "IL066", Brief: "packages[].platforms[].discoveryDependencies[].name < min length", Description: "", - MessageTemplate: "packages[].platforms[].discoveryDependencies[].name value less than the minimum length in platform(s): {{.}}", + MessageTemplate: "packages[].platforms[].discoveryDependencies[].name value less than the minimum length in platform(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4401,7 +4401,7 @@ var configurations = []Type{ ID: "IT003", Brief: "additional properties in packages[].tools[]", Description: "", - MessageTemplate: "Unknown properties under packages[].tools[] found in tool(s): {{.}}", + MessageTemplate: "Unknown properties under packages[].tools[] found in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4417,7 +4417,7 @@ var configurations = []Type{ ID: "IT004", Brief: "packages[].tools[].name missing", Description: "", - MessageTemplate: "Missing packages[].tools[].name property in tool(s): {{.}}", + MessageTemplate: "Missing packages[].tools[].name property in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4433,7 +4433,7 @@ var configurations = []Type{ ID: "IT005", Brief: "incorrect packages[].tools[].name type", Description: "Must be a string.", - MessageTemplate: "packages[].tools[].name property has incorrect type in tool(s): {{.}}", + MessageTemplate: "packages[].tools[].name property has incorrect type in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4449,7 +4449,7 @@ var configurations = []Type{ ID: "IT006", Brief: "packages[].tools[].name < min length", Description: "", - MessageTemplate: "packages[].tools[].name value less than the minimum length in tool(s): {{.}}", + MessageTemplate: "packages[].tools[].name value less than the minimum length in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4465,7 +4465,7 @@ var configurations = []Type{ ID: "IT007", Brief: "packages[].tools[].version missing", Description: "", - MessageTemplate: "Missing packages[].tools[].version property in tool(s): {{.}}", + MessageTemplate: "Missing packages[].tools[].version property in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4481,7 +4481,7 @@ var configurations = []Type{ ID: "IT008", Brief: "incorrect packages[].tools[].version type", Description: "Must be a string.", - MessageTemplate: "packages[].tools[].version property has incorrect type in tool(s): {{.}}", + MessageTemplate: "packages[].tools[].version property has incorrect type in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4497,7 +4497,7 @@ var configurations = []Type{ ID: "IT009", Brief: "invalid packages[].tools[].version", Description: "Must be compliant with \"relaxed semver\".", - MessageTemplate: "Invalid packages[].tools[].version property in tool(s): {{.}}", + MessageTemplate: "Invalid packages[].tools[].version property in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4513,7 +4513,7 @@ var configurations = []Type{ ID: "IT010", Brief: "non-semver packages[].tools[].version", Description: "", - MessageTemplate: "packages[].tools[].version property in tool(s): {{.}} is not compliant with the semver specification. See: https://semver.org/", + MessageTemplate: "packages[].tools[].version property in violation of semver specification found in tool(s):\n{{.}}\nSee: https://semver.org/", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4529,7 +4529,7 @@ var configurations = []Type{ ID: "IT011", Brief: "packages[].tools[].systems[] missing", Description: "", - MessageTemplate: "Missing packages[].tools[].systems[] property in tool(s): {{.}}", + MessageTemplate: "Missing packages[].tools[].systems[] property in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4545,7 +4545,7 @@ var configurations = []Type{ ID: "IT012", Brief: "incorrect packages[].tools[].systems type", Description: "Must be an array.", - MessageTemplate: "packages[].tools[].systems property has incorrect type in tool(s): {{.}}", + MessageTemplate: "packages[].tools[].systems property has incorrect type in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4561,7 +4561,7 @@ var configurations = []Type{ ID: "IT013", Brief: "additional properties in packages[].tools[].systems[]", Description: "", - MessageTemplate: "Unknown properties under packages[].tools[].systems[] found in tool(s): {{.}}", + MessageTemplate: "Unknown properties under packages[].tools[].systems[] found in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4577,7 +4577,7 @@ var configurations = []Type{ ID: "IT014", Brief: "packages[].tools[].systems[].host missing", Description: "", - MessageTemplate: "Missing packages[].tools[].systems[].host property in tool(s): {{.}}", + MessageTemplate: "Missing packages[].tools[].systems[].host property in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4593,7 +4593,7 @@ var configurations = []Type{ ID: "IT015", Brief: "incorrect packages[].tools[].systems[].host type", Description: "Must be a string.", - MessageTemplate: "packages[].tools[].systems[].host property has incorrect type in tool(s): {{.}}", + MessageTemplate: "packages[].tools[].systems[].host property has incorrect type in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4609,7 +4609,7 @@ var configurations = []Type{ ID: "IT0016", Brief: "invalid packages[].tools[].systems[].host", Description: "", - MessageTemplate: "packages[].tools[].systems[].host has an invalid format in tool(s): {{.}}", + MessageTemplate: "packages[].tools[].systems[].host has an invalid format in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4625,7 +4625,7 @@ var configurations = []Type{ ID: "IT017", Brief: "packages[].tools[].systems[].url missing", Description: "", - MessageTemplate: "Missing packages[].tools[].systems[].url property in tool(s): {{.}}", + MessageTemplate: "Missing packages[].tools[].systems[].url property in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4641,7 +4641,7 @@ var configurations = []Type{ ID: "IT018", Brief: "incorrect packages[].tools[].systems[].url type", Description: "Must be a string.", - MessageTemplate: "packages[].tools[].systems[].url property has incorrect type in tool(s): {{.}}", + MessageTemplate: "packages[].tools[].systems[].url property has incorrect type in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4657,7 +4657,7 @@ var configurations = []Type{ ID: "IT019", Brief: "invalid packages[].tools[].systems[].url format", Description: "", - MessageTemplate: "packages[].tools[].systems[].url property does not have a valid URL format in tool(s): {{.}}", + MessageTemplate: "packages[].tools[].systems[].url property does not have a valid URL format in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4673,7 +4673,7 @@ var configurations = []Type{ ID: "IT020", Brief: "dead packages[].tools[].systems[].url", Description: "", - MessageTemplate: "Unable to load the packages[].tools[].systems[].url URL for tools(s): {{.}}", + MessageTemplate: "Unable to load the packages[].tools[].systems[].url URL for tools(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4689,7 +4689,7 @@ var configurations = []Type{ ID: "IT021", Brief: "packages[].tools[].systems[].archiveFileName missing", Description: "", - MessageTemplate: "Missing packages[].tools[].systems[].archiveFileName property in tool(s): {{.}}", + MessageTemplate: "Missing packages[].tools[].systems[].archiveFileName property in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4705,7 +4705,7 @@ var configurations = []Type{ ID: "IT022", Brief: "incorrect packages[].tools[].systems[].archiveFileName type", Description: "Must be a string.", - MessageTemplate: "packages[].tools[].systems[].archiveFileName property has incorrect type in tool(s): {{.}}", + MessageTemplate: "packages[].tools[].systems[].archiveFileName property has incorrect type in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4721,7 +4721,7 @@ var configurations = []Type{ ID: "IT023", Brief: "packages[].tools[].systems[].archiveFileName < min length", Description: "", - MessageTemplate: "packages[].tools[].systems[].archiveFileName value less than the minimum length in tool(s): {{.}}", + MessageTemplate: "packages[].tools[].systems[].archiveFileName value less than the minimum length in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4737,7 +4737,7 @@ var configurations = []Type{ ID: "IT0024", Brief: "invalid packages[].tools[].systems[].archiveFileName", Description: "", - MessageTemplate: "packages[].tools[].systems[].archiveFileName has an invalid format in tool(s): {{.}}", + MessageTemplate: "packages[].tools[].systems[].archiveFileName has an invalid format in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4753,7 +4753,7 @@ var configurations = []Type{ ID: "IT025 ", Brief: "packages[].tools[].systems[].checksum missing", Description: "", - MessageTemplate: "Missing packages[].tools[].systems[].checksum property in tool(s): {{.}}", + MessageTemplate: "Missing packages[].tools[].systems[].checksum property in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4769,7 +4769,7 @@ var configurations = []Type{ ID: "IT026", Brief: "incorrect packages[].tools[].systems[].checksum type", Description: "Must be a string.", - MessageTemplate: "packages[].tools[].systems[].checksum property has incorrect type in tool(s): {{.}}", + MessageTemplate: "packages[].tools[].systems[].checksum property has incorrect type in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4785,7 +4785,7 @@ var configurations = []Type{ ID: "IT027", Brief: "invalid packages[].tools[].systems[].checksum", Description: "", - MessageTemplate: "packages[].tools[].systems[].checksum has an invalid format in tool(s): {{.}}", + MessageTemplate: "packages[].tools[].systems[].checksum has an invalid format in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4801,7 +4801,7 @@ var configurations = []Type{ ID: "IT028", Brief: "discouraged packages[].tools[].systems[].checksum algorithm", Description: "", - MessageTemplate: "packages[].tools[].systems[].checksum uses a discouraged hash algorithm in tool(s): {{.}}", + MessageTemplate: "packages[].tools[].systems[].checksum uses a discouraged hash algorithm in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4817,7 +4817,7 @@ var configurations = []Type{ ID: "IT029", Brief: "packages[].tools[].systems[].size missing", Description: "", - MessageTemplate: "Missing packages[].tools[].systems[].size property in tool(s): {{.}}", + MessageTemplate: "Missing packages[].tools[].systems[].size property in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4833,7 +4833,7 @@ var configurations = []Type{ ID: "IT030", Brief: "incorrect packages[].tools[].systems[].size type", Description: "Must be a string.", - MessageTemplate: "packages[].tools[].systems[].size property has incorrect type in tool(s): {{.}}", + MessageTemplate: "packages[].tools[].systems[].size property has incorrect type in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4849,7 +4849,7 @@ var configurations = []Type{ ID: "IT031", Brief: "invalid packages[].tools[].systems[].size", Description: "", - MessageTemplate: "packages[].tools[].systems[].size has an invalid format in tool(s): {{.}}", + MessageTemplate: "packages[].tools[].systems[].size has an invalid format in tool(s):\n{{.}}", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, diff --git a/internal/rule/rulefunction/library.go b/internal/rule/rulefunction/library.go index f9ae4f27..e441ebf1 100644 --- a/internal/rule/rulefunction/library.go +++ b/internal/rule/rulefunction/library.go @@ -102,7 +102,7 @@ func LibraryContainsSymlinks() (result ruleresult.Type, output string) { } if len(symlinkPaths) > 0 { - return ruleresult.Fail, strings.Join(symlinkPaths, ", ") + return ruleresult.Fail, brokenOutputList(symlinkPaths) } return ruleresult.Pass, "" @@ -139,7 +139,7 @@ func LibraryHasExe() (result ruleresult.Type, output string) { } if len(exePaths) > 0 { - return ruleresult.Fail, strings.Join(exePaths, ", ") + return ruleresult.Fail, brokenOutputList(exePaths) } return ruleresult.Pass, "" @@ -1446,7 +1446,7 @@ func LibraryHasStraySketches() (result ruleresult.Type, output string) { } if len(straySketchPaths) > 0 { - return ruleresult.Fail, strings.Join(straySketchPaths, ", ") + return ruleresult.Fail, brokenOutputList(straySketchPaths) } return ruleresult.Pass, "" diff --git a/internal/rule/rulefunction/packageindex.go b/internal/rule/rulefunction/packageindex.go index b455ecde..ebe272a6 100644 --- a/internal/rule/rulefunction/packageindex.go +++ b/internal/rule/rulefunction/packageindex.go @@ -642,7 +642,7 @@ func PackageIndexPackagesPlatformsAdditionalProperties() (result ruleresult.Type } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -662,7 +662,7 @@ func PackageIndexPackagesPlatformsNameMissing() (result ruleresult.Type, output } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -682,7 +682,7 @@ func PackageIndexPackagesPlatformsNameIncorrectType() (result ruleresult.Type, o } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -702,7 +702,7 @@ func PackageIndexPackagesPlatformsNameLTMinLength() (result ruleresult.Type, out } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -722,7 +722,7 @@ func PackageIndexPackagesPlatformsArchitectureMissing() (result ruleresult.Type, } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -742,7 +742,7 @@ func PackageIndexPackagesPlatformsArchitectureIncorrectType() (result ruleresult } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -762,7 +762,7 @@ func PackageIndexPackagesPlatformsArchitectureLTMinLength() (result ruleresult.T } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -782,7 +782,7 @@ func PackageIndexPackagesPlatformsVersionMissing() (result ruleresult.Type, outp } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -802,7 +802,7 @@ func PackageIndexPackagesPlatformsVersionIncorrectType() (result ruleresult.Type } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -822,7 +822,7 @@ func PackageIndexPackagesPlatformsVersionNonRelaxedSemver() (result ruleresult.T } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -842,7 +842,7 @@ func PackageIndexPackagesPlatformsVersionNonSemver() (result ruleresult.Type, ou } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -862,7 +862,7 @@ func PackageIndexPackagesPlatformsDeprecatedIncorrectType() (result ruleresult.T } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -882,7 +882,7 @@ func PackageIndexPackagesPlatformsCategoryMissing() (result ruleresult.Type, out } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -902,7 +902,7 @@ func PackageIndexPackagesPlatformsCategoryIncorrectType() (result ruleresult.Typ } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -922,7 +922,7 @@ func PackageIndexPackagesPlatformsCategoryThirdPartyInvalid() (result ruleresult } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -942,7 +942,7 @@ func PackageIndexPackagesPlatformsHelpMissing() (result ruleresult.Type, output } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -962,7 +962,7 @@ func PackageIndexPackagesPlatformsHelpIncorrectType() (result ruleresult.Type, o } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -982,7 +982,7 @@ func PackageIndexPackagesPlatformsHelpAdditionalProperties() (result ruleresult. } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1002,7 +1002,7 @@ func PackageIndexPackagesPlatformsHelpOnlineMissing() (result ruleresult.Type, o } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1022,7 +1022,7 @@ func PackageIndexPackagesPlatformsHelpOnlineIncorrectType() (result ruleresult.T } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1042,7 +1042,7 @@ func PackageIndexPackagesPlatformsHelpOnlineInvalidFormat() (result ruleresult.T } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1078,7 +1078,7 @@ func PackageIndexPackagesPlatformsHelpOnlineDeadLink() (result ruleresult.Type, } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1098,7 +1098,7 @@ func PackageIndexPackagesPlatformsUrlMissing() (result ruleresult.Type, output s } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1118,7 +1118,7 @@ func PackageIndexPackagesPlatformsUrlIncorrectType() (result ruleresult.Type, ou } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1138,7 +1138,7 @@ func PackageIndexPackagesPlatformsUrlInvalidFormat() (result ruleresult.Type, ou } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1169,7 +1169,7 @@ func PackageIndexPackagesPlatformsURLDeadLink() (result ruleresult.Type, output } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1189,7 +1189,7 @@ func PackageIndexPackagesPlatformsArchiveFileNameMissing() (result ruleresult.Ty } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1209,7 +1209,7 @@ func PackageIndexPackagesPlatformsArchiveFileNameIncorrectType() (result ruleres } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1229,7 +1229,7 @@ func PackageIndexPackagesPlatformsArchiveFileNameLTMinLength() (result ruleresul } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1249,7 +1249,7 @@ func PackageIndexPackagesPlatformsArchiveFileNameInvalid() (result ruleresult.Ty } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1269,7 +1269,7 @@ func PackageIndexPackagesPlatformsChecksumMissing() (result ruleresult.Type, out } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1289,7 +1289,7 @@ func PackageIndexPackagesPlatformsChecksumIncorrectType() (result ruleresult.Typ } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1309,7 +1309,7 @@ func PackageIndexPackagesPlatformsChecksumInvalid() (result ruleresult.Type, out } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1329,7 +1329,7 @@ func PackageIndexPackagesPlatformsChecksumDiscouragedAlgorithm() (result ruleres } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1349,7 +1349,7 @@ func PackageIndexPackagesPlatformsSizeMissing() (result ruleresult.Type, output } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1369,7 +1369,7 @@ func PackageIndexPackagesPlatformsSizeIncorrectType() (result ruleresult.Type, o } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1389,7 +1389,7 @@ func PackageIndexPackagesPlatformsSizeInvalid() (result ruleresult.Type, output } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1409,7 +1409,7 @@ func PackageIndexPackagesPlatformsBoardsMissing() (result ruleresult.Type, outpu } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1429,7 +1429,7 @@ func PackageIndexPackagesPlatformsBoardsIncorrectType() (result ruleresult.Type, } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1449,7 +1449,7 @@ func PackageIndexPackagesPlatformsBoardsAdditionalProperties() (result ruleresul } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1469,7 +1469,7 @@ func PackageIndexPackagesPlatformsBoardsNameMissing() (result ruleresult.Type, o } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1489,7 +1489,7 @@ func PackageIndexPackagesPlatformsBoardsNameIncorrectType() (result ruleresult.T } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1509,7 +1509,7 @@ func PackageIndexPackagesPlatformsBoardsNameLTMinLength() (result ruleresult.Typ } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1529,7 +1529,7 @@ func PackageIndexPackagesPlatformsToolsDependenciesMissing() (result ruleresult. } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1549,7 +1549,7 @@ func PackageIndexPackagesPlatformsToolsDependenciesIncorrectType() (result ruler } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1569,7 +1569,7 @@ func PackageIndexPackagesPlatformsToolsDependenciesAdditionalProperties() (resul } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1589,7 +1589,7 @@ func PackageIndexPackagesPlatformsToolsDependenciesPackagerMissing() (result rul } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1609,7 +1609,7 @@ func PackageIndexPackagesPlatformsToolsDependenciesPackagerIncorrectType() (resu } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1629,7 +1629,7 @@ func PackageIndexPackagesPlatformsToolsDependenciesPackagerLTMinLength() (result } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1649,7 +1649,7 @@ func PackageIndexPackagesPlatformsToolsDependenciesNameMissing() (result ruleres } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1669,7 +1669,7 @@ func PackageIndexPackagesPlatformsToolsDependenciesNameIncorrectType() (result r } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1689,7 +1689,7 @@ func PackageIndexPackagesPlatformsToolsDependenciesNameLTMinLength() (result rul } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1709,7 +1709,7 @@ func PackageIndexPackagesPlatformsToolsDependenciesVersionMissing() (result rule } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1729,7 +1729,7 @@ func PackageIndexPackagesPlatformsToolsDependenciesVersionIncorrectType() (resul } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1749,7 +1749,7 @@ func PackageIndexPackagesPlatformsToolsDependenciesVersionNonRelaxedSemver() (re } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1769,7 +1769,7 @@ func PackageIndexPackagesPlatformsToolsDependenciesVersionNonSemver() (result ru } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1789,7 +1789,7 @@ func PackageIndexPackagesPlatformsDiscoveryDependenciesIncorrectType() (result r } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1809,7 +1809,7 @@ func PackageIndexPackagesPlatformsDiscoveryDependenciesAdditionalProperties() (r } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1829,7 +1829,7 @@ func PackageIndexPackagesPlatformsDiscoveryDependenciesPackagerMissing() (result } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1849,7 +1849,7 @@ func PackageIndexPackagesPlatformsDiscoveryDependenciesPackagerIncorrectType() ( } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1869,7 +1869,7 @@ func PackageIndexPackagesPlatformsDiscoveryDependenciesPackagerLTMinLength() (re } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1889,7 +1889,7 @@ func PackageIndexPackagesPlatformsDiscoveryDependenciesNameMissing() (result rul } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1909,7 +1909,7 @@ func PackageIndexPackagesPlatformsDiscoveryDependenciesNameIncorrectType() (resu } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1929,7 +1929,7 @@ func PackageIndexPackagesPlatformsDiscoveryDependenciesNameLTMinLength() (result } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -1989,7 +1989,7 @@ func PackageIndexPackagesToolsAdditionalProperties() (result ruleresult.Type, ou } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2009,7 +2009,7 @@ func PackageIndexPackagesToolsNameMissing() (result ruleresult.Type, output stri } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2029,7 +2029,7 @@ func PackageIndexPackagesToolsNameIncorrectType() (result ruleresult.Type, outpu } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2049,7 +2049,7 @@ func PackageIndexPackagesToolsNameLTMinLength() (result ruleresult.Type, output } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2069,7 +2069,7 @@ func PackageIndexPackagesToolsVersionMissing() (result ruleresult.Type, output s } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2089,7 +2089,7 @@ func PackageIndexPackagesToolsVersionIncorrectType() (result ruleresult.Type, ou } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2109,7 +2109,7 @@ func PackageIndexPackagesToolsVersionNonRelaxedSemver() (result ruleresult.Type, } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2129,7 +2129,7 @@ func PackageIndexPackagesToolsVersionNonSemver() (result ruleresult.Type, output } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2149,7 +2149,7 @@ func PackageIndexPackagesToolsSystemsMissing() (result ruleresult.Type, output s } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2169,7 +2169,7 @@ func PackageIndexPackagesToolsSystemsIncorrectType() (result ruleresult.Type, ou } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2189,7 +2189,7 @@ func PackageIndexPackagesToolsSystemsAdditionalProperties() (result ruleresult.T } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2209,7 +2209,7 @@ func PackageIndexPackagesToolsSystemsHostMissing() (result ruleresult.Type, outp } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2229,7 +2229,7 @@ func PackageIndexPackagesToolsSystemsHostIncorrectType() (result ruleresult.Type } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2249,7 +2249,7 @@ func PackageIndexPackagesToolsSystemsHostInvalid() (result ruleresult.Type, outp } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2269,7 +2269,7 @@ func PackageIndexPackagesToolsSystemsUrlMissing() (result ruleresult.Type, outpu } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2289,7 +2289,7 @@ func PackageIndexPackagesToolsSystemsUrlIncorrectType() (result ruleresult.Type, } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2309,7 +2309,7 @@ func PackageIndexPackagesToolsSystemsUrlInvalidFormat() (result ruleresult.Type, } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2340,7 +2340,7 @@ func PackageIndexPackagesToolsSystemsURLDeadLink() (result ruleresult.Type, outp } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2360,7 +2360,7 @@ func PackageIndexPackagesToolsSystemsArchiveFileNameMissing() (result ruleresult } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2380,7 +2380,7 @@ func PackageIndexPackagesToolsSystemsArchiveFileNameIncorrectType() (result rule } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2400,7 +2400,7 @@ func PackageIndexPackagesToolsSystemsArchiveFileNameLTMinLength() (result rulere } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2420,7 +2420,7 @@ func PackageIndexPackagesToolsSystemsArchiveFileNameInvalid() (result ruleresult } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2440,7 +2440,7 @@ func PackageIndexPackagesToolsSystemsChecksumMissing() (result ruleresult.Type, } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2460,7 +2460,7 @@ func PackageIndexPackagesToolsSystemsChecksumIncorrectType() (result ruleresult. } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2480,7 +2480,7 @@ func PackageIndexPackagesToolsSystemsChecksumInvalid() (result ruleresult.Type, } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2500,7 +2500,7 @@ func PackageIndexPackagesToolsSystemsChecksumDiscouragedAlgorithm() (result rule } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2520,7 +2520,7 @@ func PackageIndexPackagesToolsSystemsSizeMissing() (result ruleresult.Type, outp } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2540,7 +2540,7 @@ func PackageIndexPackagesToolsSystemsSizeIncorrectType() (result ruleresult.Type } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" @@ -2560,7 +2560,7 @@ func PackageIndexPackagesToolsSystemsSizeInvalid() (result ruleresult.Type, outp } if len(nonCompliantIDs) > 0 { - return ruleresult.Fail, strings.Join(nonCompliantIDs, ", ") + return ruleresult.Fail, brokenOutputList(nonCompliantIDs) } return ruleresult.Pass, "" diff --git a/internal/rule/rulefunction/packageindex_test.go b/internal/rule/rulefunction/packageindex_test.go index d5e55544..8e56c238 100644 --- a/internal/rule/rulefunction/packageindex_test.go +++ b/internal/rule/rulefunction/packageindex_test.go @@ -375,7 +375,7 @@ func TestPackageIndexPackagesPlatformsIncorrectType(t *testing.T) { func TestPackageIndexPackagesPlatformsAdditionalProperties(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Additional packages[].platforms[] properties", "packages-platforms-additional-properties", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Additional packages[].platforms[] properties", "packages-platforms-additional-properties", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -385,7 +385,7 @@ func TestPackageIndexPackagesPlatformsAdditionalProperties(t *testing.T) { func TestPackageIndexPackagesPlatformsNameMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].name missing", "packages-platforms-name-missing", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"packages[].platforms[].name missing", "packages-platforms-name-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -395,7 +395,7 @@ func TestPackageIndexPackagesPlatformsNameMissing(t *testing.T) { func TestPackageIndexPackagesPlatformsNameIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].name type", "packages-platforms-name-incorrect-type", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Incorrect packages[].platforms[].name type", "packages-platforms-name-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -405,7 +405,7 @@ func TestPackageIndexPackagesPlatformsNameIncorrectType(t *testing.T) { func TestPackageIndexPackagesPlatformsNameLTMinLength(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].name < min length", "packages-platforms-name-length-lt", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"packages[].platforms[].name < min length", "packages-platforms-name-length-lt", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -415,7 +415,7 @@ func TestPackageIndexPackagesPlatformsNameLTMinLength(t *testing.T) { func TestPackageIndexPackagesPlatformsArchitectureMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].architecture missing", "packages-platforms-architecture-missing", ruleresult.Fail, "^/packages/0/platforms/0$"}, + {"packages[].platforms[].architecture missing", "packages-platforms-architecture-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -425,7 +425,7 @@ func TestPackageIndexPackagesPlatformsArchitectureMissing(t *testing.T) { func TestPackageIndexPackagesPlatformsArchitectureIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].architecture type", "packages-platforms-architecture-incorrect-type", ruleresult.Fail, "^/packages/0/platforms/0$"}, + {"Incorrect packages[].platforms[].architecture type", "packages-platforms-architecture-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -435,7 +435,7 @@ func TestPackageIndexPackagesPlatformsArchitectureIncorrectType(t *testing.T) { func TestPackageIndexPackagesPlatformsArchitectureLTMinLength(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].architecture < min length", "packages-platforms-architecture-length-lt", ruleresult.Fail, "^/packages/0/platforms/0$"}, + {"packages[].platforms[].architecture < min length", "packages-platforms-architecture-length-lt", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -445,7 +445,7 @@ func TestPackageIndexPackagesPlatformsArchitectureLTMinLength(t *testing.T) { func TestPackageIndexPackagesPlatformsVersionMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].architecture missing", "packages-platforms-version-missing", ruleresult.Fail, "^/packages/0/platforms/0$"}, + {"packages[].platforms[].architecture missing", "packages-platforms-version-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -455,7 +455,7 @@ func TestPackageIndexPackagesPlatformsVersionMissing(t *testing.T) { func TestPackageIndexPackagesPlatformsVersionIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].version type", "packages-platforms-version-incorrect-type", ruleresult.Fail, "^/packages/0/platforms/0$"}, + {"Incorrect packages[].platforms[].version type", "packages-platforms-version-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -465,7 +465,7 @@ func TestPackageIndexPackagesPlatformsVersionIncorrectType(t *testing.T) { func TestPackageIndexPackagesPlatformsVersionNonRelaxedSemver(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].version not relaxed semver", "packages-platforms-version-non-relaxed-semver", ruleresult.Fail, "^foopackager:avr@foo$"}, + {"packages[].platforms[].version not relaxed semver", "packages-platforms-version-non-relaxed-semver", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@foo$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -475,7 +475,7 @@ func TestPackageIndexPackagesPlatformsVersionNonRelaxedSemver(t *testing.T) { func TestPackageIndexPackagesPlatformsVersionNonSemver(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].version not semver", "packages-platforms-version-not-semver", ruleresult.Fail, "^foopackager:avr@1.0$"}, + {"packages[].platforms[].version not semver", "packages-platforms-version-not-semver", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -485,7 +485,7 @@ func TestPackageIndexPackagesPlatformsVersionNonSemver(t *testing.T) { func TestPackageIndexPackagesPlatformsDeprecatedIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].deprecated type", "packages-platforms-deprecated-incorrect-type", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Incorrect packages[].platforms[].deprecated type", "packages-platforms-deprecated-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -495,7 +495,7 @@ func TestPackageIndexPackagesPlatformsDeprecatedIncorrectType(t *testing.T) { func TestPackageIndexPackagesPlatformsCategoryMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].category missing", "packages-platforms-category-missing", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"packages[].platforms[].category missing", "packages-platforms-category-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -505,7 +505,7 @@ func TestPackageIndexPackagesPlatformsCategoryMissing(t *testing.T) { func TestPackageIndexPackagesPlatformsCategoryIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].category type", "packages-platforms-category-incorrect-type", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Incorrect packages[].platforms[].category type", "packages-platforms-category-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -515,7 +515,7 @@ func TestPackageIndexPackagesPlatformsCategoryIncorrectType(t *testing.T) { func TestPackageIndexPackagesPlatformsCategoryThirdPartyInvalid(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].category not valid for 3rd party", "packages-platforms-category-non-third-party", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"packages[].platforms[].category not valid for 3rd party", "packages-platforms-category-non-third-party", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -525,7 +525,7 @@ func TestPackageIndexPackagesPlatformsCategoryThirdPartyInvalid(t *testing.T) { func TestPackageIndexPackagesPlatformsHelpMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].help missing", "packages-platforms-help-missing", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"packages[].platforms[].help missing", "packages-platforms-help-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -535,7 +535,7 @@ func TestPackageIndexPackagesPlatformsHelpMissing(t *testing.T) { func TestPackageIndexPackagesPlatformsHelpIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].help type", "packages-platforms-help-incorrect-type", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Incorrect packages[].platforms[].help type", "packages-platforms-help-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -545,7 +545,7 @@ func TestPackageIndexPackagesPlatformsHelpIncorrectType(t *testing.T) { func TestPackageIndexPackagesPlatformsHelpAdditionalProperties(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Additional packages[].platforms[].help properties", "packages-platforms-help-additional-properties", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Additional packages[].platforms[].help properties", "packages-platforms-help-additional-properties", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -555,7 +555,7 @@ func TestPackageIndexPackagesPlatformsHelpAdditionalProperties(t *testing.T) { func TestPackageIndexPackagesPlatformsHelpOnlineMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].help.online missing", "packages-platforms-help-online-missing", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"packages[].platforms[].help.online missing", "packages-platforms-help-online-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -565,7 +565,7 @@ func TestPackageIndexPackagesPlatformsHelpOnlineMissing(t *testing.T) { func TestPackageIndexPackagesPlatformsHelpOnlineIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].help.online type", "packages-platforms-help-online-incorrect-type", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Incorrect packages[].platforms[].help.online type", "packages-platforms-help-online-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -575,7 +575,7 @@ func TestPackageIndexPackagesPlatformsHelpOnlineIncorrectType(t *testing.T) { func TestPackageIndexPackagesPlatformsHelpOnlineInvalidFormat(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].help.online format", "packages-platforms-help-online-invalid-format", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Incorrect packages[].platforms[].help.online format", "packages-platforms-help-online-invalid-format", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -585,7 +585,7 @@ func TestPackageIndexPackagesPlatformsHelpOnlineInvalidFormat(t *testing.T) { func TestPackageIndexPackagesPlatformsHelpOnlineDeadLink(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Dead URLs", "packages-platforms-help-online-dead", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0, foopackager:samd@1\\.0\\.0$"}, + {"Dead URLs", "packages-platforms-help-online-dead", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0\n" + brokenOutputListIndent + "foopackager:samd@1\\.0\\.0$"}, {"Valid URL", "valid-package-index", ruleresult.Pass, ""}, } @@ -595,7 +595,7 @@ func TestPackageIndexPackagesPlatformsHelpOnlineDeadLink(t *testing.T) { func TestPackageIndexPackagesPlatformsUrlMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].url missing", "packages-platforms-url-missing", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"packages[].platforms[].url missing", "packages-platforms-url-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -605,7 +605,7 @@ func TestPackageIndexPackagesPlatformsUrlMissing(t *testing.T) { func TestPackageIndexPackagesPlatformsUrlIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].url type", "packages-platforms-url-incorrect-type", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Incorrect packages[].platforms[].url type", "packages-platforms-url-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -615,7 +615,7 @@ func TestPackageIndexPackagesPlatformsUrlIncorrectType(t *testing.T) { func TestPackageIndexPackagesPlatformsUrlInvalidFormat(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].url format", "packages-platforms-url-invalid-format", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Incorrect packages[].platforms[].url format", "packages-platforms-url-invalid-format", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -625,7 +625,7 @@ func TestPackageIndexPackagesPlatformsUrlInvalidFormat(t *testing.T) { func TestPackageIndexPackagesPlatformsURLDeadLink(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Dead URLs", "packages-platforms-url-dead", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0, foopackager:samd@1\\.0\\.0$"}, + {"Dead URLs", "packages-platforms-url-dead", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0\n" + brokenOutputListIndent + "foopackager:samd@1\\.0\\.0$"}, {"Valid URL", "valid-package-index", ruleresult.Pass, ""}, } @@ -635,7 +635,7 @@ func TestPackageIndexPackagesPlatformsURLDeadLink(t *testing.T) { func TestPackageIndexPackagesPlatformsArchiveFileNameMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].archiveFileName missing", "packages-platforms-archivefilename-missing", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"packages[].platforms[].archiveFileName missing", "packages-platforms-archivefilename-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -645,7 +645,7 @@ func TestPackageIndexPackagesPlatformsArchiveFileNameMissing(t *testing.T) { func TestPackageIndexPackagesPlatformsArchiveFileNameIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].archiveFileName type", "packages-platforms-archivefilename-incorrect-type", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Incorrect packages[].platforms[].archiveFileName type", "packages-platforms-archivefilename-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -655,7 +655,7 @@ func TestPackageIndexPackagesPlatformsArchiveFileNameIncorrectType(t *testing.T) func TestPackageIndexPackagesPlatformsArchiveFileNameLTMinLength(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].archiveFileName < min length", "packages-platforms-archivefilename-length-lt", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"packages[].platforms[].archiveFileName < min length", "packages-platforms-archivefilename-length-lt", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -665,7 +665,7 @@ func TestPackageIndexPackagesPlatformsArchiveFileNameLTMinLength(t *testing.T) { func TestPackageIndexPackagesPlatformsArchiveFileNameInvalid(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Invalid filename", "packages-platforms-archivefilename-invalid", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Invalid filename", "packages-platforms-archivefilename-invalid", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -675,7 +675,7 @@ func TestPackageIndexPackagesPlatformsArchiveFileNameInvalid(t *testing.T) { func TestPackageIndexPackagesPlatformsChecksumMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].checksum missing", "packages-platforms-checksum-missing", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"packages[].platforms[].checksum missing", "packages-platforms-checksum-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -685,7 +685,7 @@ func TestPackageIndexPackagesPlatformsChecksumMissing(t *testing.T) { func TestPackageIndexPackagesPlatformsChecksumIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].checksum type", "packages-platforms-checksum-incorrect-type", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Incorrect packages[].platforms[].checksum type", "packages-platforms-checksum-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -695,7 +695,7 @@ func TestPackageIndexPackagesPlatformsChecksumIncorrectType(t *testing.T) { func TestPackageIndexPackagesPlatformsChecksumInvalid(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Invalid packages[].platforms[].checksum format", "packages-platforms-checksum-invalid", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Invalid packages[].platforms[].checksum format", "packages-platforms-checksum-invalid", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -705,7 +705,7 @@ func TestPackageIndexPackagesPlatformsChecksumInvalid(t *testing.T) { func TestPackageIndexPackagesPlatformsChecksumDiscouragedAlgorithm(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].checksum uses discouraged algorithm", "packages-platforms-checksum-discouraged", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"packages[].platforms[].checksum uses discouraged algorithm", "packages-platforms-checksum-discouraged", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -715,7 +715,7 @@ func TestPackageIndexPackagesPlatformsChecksumDiscouragedAlgorithm(t *testing.T) func TestPackageIndexPackagesPlatformsSizeMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].size missing", "packages-platforms-size-missing", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"packages[].platforms[].size missing", "packages-platforms-size-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -725,7 +725,7 @@ func TestPackageIndexPackagesPlatformsSizeMissing(t *testing.T) { func TestPackageIndexPackagesPlatformsSizeIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].size type", "packages-platforms-size-incorrect-type", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Incorrect packages[].platforms[].size type", "packages-platforms-size-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -735,7 +735,7 @@ func TestPackageIndexPackagesPlatformsSizeIncorrectType(t *testing.T) { func TestPackageIndexPackagesPlatformsSizeInvalid(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Invalid packages[].platforms[].size format", "packages-platforms-size-invalid", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Invalid packages[].platforms[].size format", "packages-platforms-size-invalid", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -745,7 +745,7 @@ func TestPackageIndexPackagesPlatformsSizeInvalid(t *testing.T) { func TestPackageIndexPackagesPlatformsBoardsMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].boards[] missing", "packages-platforms-boards-missing", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"packages[].platforms[].boards[] missing", "packages-platforms-boards-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -755,7 +755,7 @@ func TestPackageIndexPackagesPlatformsBoardsMissing(t *testing.T) { func TestPackageIndexPackagesPlatformsBoardsIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].boards type", "packages-platforms-boards-incorrect-type", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Incorrect packages[].platforms[].boards type", "packages-platforms-boards-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -765,7 +765,7 @@ func TestPackageIndexPackagesPlatformsBoardsIncorrectType(t *testing.T) { func TestPackageIndexPackagesPlatformsBoardsAdditionalProperties(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Additional packages[].platforms[].boards[] properties", "packages-platforms-boards-additional-properties", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0 >> My Board$"}, + {"Additional packages[].platforms[].boards[] properties", "packages-platforms-boards-additional-properties", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0 >> My Board$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -775,7 +775,7 @@ func TestPackageIndexPackagesPlatformsBoardsAdditionalProperties(t *testing.T) { func TestPackageIndexPackagesPlatformsBoardsNameMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].boards[].name missing", "packages-platforms-boards-name-missing", ruleresult.Fail, "^/packages/0/platforms/0/boards/0$"}, + {"packages[].platforms[].boards[].name missing", "packages-platforms-boards-name-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0/boards/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -785,7 +785,7 @@ func TestPackageIndexPackagesPlatformsBoardsNameMissing(t *testing.T) { func TestPackageIndexPackagesPlatformsBoardsNameIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].boards[].name type", "packages-platforms-boards-name-incorrect-type", ruleresult.Fail, "^/packages/0/platforms/0/boards/0$"}, + {"Incorrect packages[].platforms[].boards[].name type", "packages-platforms-boards-name-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0/boards/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -795,7 +795,7 @@ func TestPackageIndexPackagesPlatformsBoardsNameIncorrectType(t *testing.T) { func TestPackageIndexPackagesPlatformsBoardsNameLTMinLength(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].boards[].name < min length", "packages-platforms-boards-name-length-lt", ruleresult.Fail, "^/packages/0/platforms/0/boards/0$"}, + {"packages[].platforms[].boards[].name < min length", "packages-platforms-boards-name-length-lt", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0/boards/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -805,7 +805,7 @@ func TestPackageIndexPackagesPlatformsBoardsNameLTMinLength(t *testing.T) { func TestPackageIndexPackagesPlatformsToolsDependenciesMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].toolsDependencies missing", "packages-platforms-toolsdependencies-missing", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"packages[].platforms[].toolsDependencies missing", "packages-platforms-toolsdependencies-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -815,7 +815,7 @@ func TestPackageIndexPackagesPlatformsToolsDependenciesMissing(t *testing.T) { func TestPackageIndexPackagesPlatformsToolsDependenciesIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].toolsDependencies type", "packages-platforms-toolsdependencies-incorrect-type", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Incorrect packages[].platforms[].toolsDependencies type", "packages-platforms-toolsdependencies-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -825,7 +825,7 @@ func TestPackageIndexPackagesPlatformsToolsDependenciesIncorrectType(t *testing. func TestPackageIndexPackagesPlatformsToolsDependenciesAdditionalProperties(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Additional packages[].platforms[].toolsDependencies[] properties", "packages-platforms-toolsdependencies-additional-properties", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0 >> arduino:avr-gcc@7\\.3\\.0-atmel3\\.6\\.1-arduino7$"}, + {"Additional packages[].platforms[].toolsDependencies[] properties", "packages-platforms-toolsdependencies-additional-properties", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0 >> arduino:avr-gcc@7\\.3\\.0-atmel3\\.6\\.1-arduino7$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -835,7 +835,7 @@ func TestPackageIndexPackagesPlatformsToolsDependenciesAdditionalProperties(t *t func TestPackageIndexPackagesPlatformsToolsDependenciesPackagerMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].toolsDependencies[].packager missing", "packages-platforms-toolsdependencies-packager-missing", ruleresult.Fail, "^/packages/0/platforms/0/toolsDependencies/0$"}, + {"packages[].platforms[].toolsDependencies[].packager missing", "packages-platforms-toolsdependencies-packager-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0/toolsDependencies/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -845,7 +845,7 @@ func TestPackageIndexPackagesPlatformsToolsDependenciesPackagerMissing(t *testin func TestPackageIndexPackagesPlatformsToolsDependenciesPackagerIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].toolsDependencies[].packager type", "packages-platforms-toolsdependencies-packager-incorrect-type", ruleresult.Fail, "^/packages/0/platforms/0/toolsDependencies/0$"}, + {"Incorrect packages[].platforms[].toolsDependencies[].packager type", "packages-platforms-toolsdependencies-packager-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0/toolsDependencies/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -855,7 +855,7 @@ func TestPackageIndexPackagesPlatformsToolsDependenciesPackagerIncorrectType(t * func TestPackageIndexPackagesPlatformsToolsDependenciesPackagerLTMinLength(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].toolsDependencies[].packager < min length", "packages-platforms-toolsdependencies-packager-length-lt", ruleresult.Fail, "^/packages/0/platforms/0/toolsDependencies/0$"}, + {"packages[].platforms[].toolsDependencies[].packager < min length", "packages-platforms-toolsdependencies-packager-length-lt", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0/toolsDependencies/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -865,7 +865,7 @@ func TestPackageIndexPackagesPlatformsToolsDependenciesPackagerLTMinLength(t *te func TestPackageIndexPackagesPlatformsToolsDependenciesNameMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].toolsDependencies[].name missing", "packages-platforms-toolsdependencies-name-missing", ruleresult.Fail, "^/packages/0/platforms/0/toolsDependencies/0$"}, + {"packages[].platforms[].toolsDependencies[].name missing", "packages-platforms-toolsdependencies-name-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0/toolsDependencies/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -875,7 +875,7 @@ func TestPackageIndexPackagesPlatformsToolsDependenciesNameMissing(t *testing.T) func TestPackageIndexPackagesPlatformsToolsDependenciesNameIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].toolsDependencies[].name type", "packages-platforms-toolsdependencies-name-incorrect-type", ruleresult.Fail, "^/packages/0/platforms/0/toolsDependencies/0$"}, + {"Incorrect packages[].platforms[].toolsDependencies[].name type", "packages-platforms-toolsdependencies-name-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0/toolsDependencies/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -885,7 +885,7 @@ func TestPackageIndexPackagesPlatformsToolsDependenciesNameIncorrectType(t *test func TestPackageIndexPackagesPlatformsToolsDependenciesNameLTMinLength(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].toolsDependencies[].name < min length", "packages-platforms-toolsdependencies-name-length-lt", ruleresult.Fail, "^/packages/0/platforms/0/toolsDependencies/0$"}, + {"packages[].platforms[].toolsDependencies[].name < min length", "packages-platforms-toolsdependencies-name-length-lt", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0/toolsDependencies/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -895,7 +895,7 @@ func TestPackageIndexPackagesPlatformsToolsDependenciesNameLTMinLength(t *testin func TestPackageIndexPackagesPlatformsToolsDependenciesVersionMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].toolsDependencies[].version missing", "packages-platforms-toolsdependencies-version-missing", ruleresult.Fail, "^/packages/0/platforms/0/toolsDependencies/0$"}, + {"packages[].platforms[].toolsDependencies[].version missing", "packages-platforms-toolsdependencies-version-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0/toolsDependencies/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -905,7 +905,7 @@ func TestPackageIndexPackagesPlatformsToolsDependenciesVersionMissing(t *testing func TestPackageIndexPackagesPlatformsToolsDependenciesVersionIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].toolsDependencies[].version type", "packages-platforms-toolsdependencies-version-incorrect-type", ruleresult.Fail, "^/packages/0/platforms/0/toolsDependencies/0$"}, + {"Incorrect packages[].platforms[].toolsDependencies[].version type", "packages-platforms-toolsdependencies-version-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0/toolsDependencies/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -915,7 +915,7 @@ func TestPackageIndexPackagesPlatformsToolsDependenciesVersionIncorrectType(t *t func TestPackageIndexPackagesPlatformsToolsDependenciesVersionNonRelaxedSemver(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].toolsDependencies[].version not relaxed semver", "packages-platforms-toolsdependencies-version-non-relaxed-semver", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0 >> arduino:avr-gcc@foo$"}, + {"packages[].platforms[].toolsDependencies[].version not relaxed semver", "packages-platforms-toolsdependencies-version-non-relaxed-semver", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0 >> arduino:avr-gcc@foo$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -925,7 +925,7 @@ func TestPackageIndexPackagesPlatformsToolsDependenciesVersionNonRelaxedSemver(t func TestPackageIndexPackagesPlatformsToolsDependenciesVersionNonSemver(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].toolsDependencies[].version not semver", "packages-platforms-toolsdependencies-version-not-semver", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0 >> arduino:avr-gcc@7\\.3$"}, + {"packages[].platforms[].toolsDependencies[].version not semver", "packages-platforms-toolsdependencies-version-not-semver", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0 >> arduino:avr-gcc@7\\.3$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -935,7 +935,7 @@ func TestPackageIndexPackagesPlatformsToolsDependenciesVersionNonSemver(t *testi func TestPackageIndexPackagesPlatformsDiscoveryDependenciesIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].discoveryDependencies type", "packages-platforms-discoverydependencies-incorrect-type", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0$"}, + {"Incorrect packages[].platforms[].discoveryDependencies type", "packages-platforms-discoverydependencies-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -945,7 +945,7 @@ func TestPackageIndexPackagesPlatformsDiscoveryDependenciesIncorrectType(t *test func TestPackageIndexPackagesPlatformsDiscoveryDependenciesAdditionalProperties(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Additional packages[].platforms[].discoveryDependencies[] properties", "packages-platforms-discoverydependencies-additional-properties", ruleresult.Fail, "^foopackager:avr@1\\.0\\.0 >> arduino:ble-discovery$"}, + {"Additional packages[].platforms[].discoveryDependencies[] properties", "packages-platforms-discoverydependencies-additional-properties", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:avr@1\\.0\\.0 >> arduino:ble-discovery$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -955,7 +955,7 @@ func TestPackageIndexPackagesPlatformsDiscoveryDependenciesAdditionalProperties( func TestPackageIndexPackagesPlatformsDiscoveryDependenciesPackagerMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].discoveryDependencies[].packager missing", "packages-platforms-discoverydependencies-packager-missing", ruleresult.Fail, "^/packages/0/platforms/0/discoveryDependencies/0$"}, + {"packages[].platforms[].discoveryDependencies[].packager missing", "packages-platforms-discoverydependencies-packager-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0/discoveryDependencies/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -965,7 +965,7 @@ func TestPackageIndexPackagesPlatformsDiscoveryDependenciesPackagerMissing(t *te func TestPackageIndexPackagesPlatformsDiscoveryDependenciesPackagerIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].discoveryDependencies[].packager type", "packages-platforms-discoverydependencies-packager-incorrect-type", ruleresult.Fail, "^/packages/0/platforms/0/discoveryDependencies/0$"}, + {"Incorrect packages[].platforms[].discoveryDependencies[].packager type", "packages-platforms-discoverydependencies-packager-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0/discoveryDependencies/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -975,7 +975,7 @@ func TestPackageIndexPackagesPlatformsDiscoveryDependenciesPackagerIncorrectType func TestPackageIndexPackagesPlatformsDiscoveryDependenciesPackagerLTMinLength(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].discoveryDependencies[].packager < min length", "packages-platforms-discoverydependencies-packager-length-lt", ruleresult.Fail, "^/packages/0/platforms/0/discoveryDependencies/0$"}, + {"packages[].platforms[].discoveryDependencies[].packager < min length", "packages-platforms-discoverydependencies-packager-length-lt", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0/discoveryDependencies/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -985,7 +985,7 @@ func TestPackageIndexPackagesPlatformsDiscoveryDependenciesPackagerLTMinLength(t func TestPackageIndexPackagesPlatformsDiscoveryDependenciesNameMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].discoveryDependencies[].name missing", "packages-platforms-discoverydependencies-name-missing", ruleresult.Fail, "^/packages/0/platforms/0/discoveryDependencies/0$"}, + {"packages[].platforms[].discoveryDependencies[].name missing", "packages-platforms-discoverydependencies-name-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0/discoveryDependencies/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -995,7 +995,7 @@ func TestPackageIndexPackagesPlatformsDiscoveryDependenciesNameMissing(t *testin func TestPackageIndexPackagesPlatformsDiscoveryDependenciesNameIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].platforms[].discoveryDependencies[].name type", "packages-platforms-discoverydependencies-name-incorrect-type", ruleresult.Fail, "^/packages/0/platforms/0/discoveryDependencies/0$"}, + {"Incorrect packages[].platforms[].discoveryDependencies[].name type", "packages-platforms-discoverydependencies-name-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0/discoveryDependencies/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1005,7 +1005,7 @@ func TestPackageIndexPackagesPlatformsDiscoveryDependenciesNameIncorrectType(t * func TestPackageIndexPackagesPlatformsDiscoveryDependenciesNameLTMinLength(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].platforms[].discoveryDependencies[].name < min length", "packages-platforms-discoverydependencies-name-length-lt", ruleresult.Fail, "^/packages/0/platforms/0/discoveryDependencies/0$"}, + {"packages[].platforms[].discoveryDependencies[].name < min length", "packages-platforms-discoverydependencies-name-length-lt", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/platforms/0/discoveryDependencies/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1035,7 +1035,7 @@ func TestPackageIndexPackagesToolsIncorrectType(t *testing.T) { func TestPackageIndexPackagesToolsAdditionalProperties(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Additional packages[].tools[] properties", "packages-tools-additional-properties", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2$"}, + {"Additional packages[].tools[] properties", "packages-tools-additional-properties", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1045,7 +1045,7 @@ func TestPackageIndexPackagesToolsAdditionalProperties(t *testing.T) { func TestPackageIndexPackagesToolsNameMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].tools[].name missing", "packages-tools-name-missing", ruleresult.Fail, "^/packages/0/tools/0$"}, + {"packages[].tools[].name missing", "packages-tools-name-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/tools/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1055,7 +1055,7 @@ func TestPackageIndexPackagesToolsNameMissing(t *testing.T) { func TestPackageIndexPackagesToolsNameIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].tools.name type", "packages-tools-name-incorrect-type", ruleresult.Fail, "^/packages/0/tools/0$"}, + {"Incorrect packages[].tools.name type", "packages-tools-name-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/tools/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1065,7 +1065,7 @@ func TestPackageIndexPackagesToolsNameIncorrectType(t *testing.T) { func TestPackageIndexPackagesToolsNameLTMinLength(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].tools[].name < min length", "packages-tools-name-length-lt", ruleresult.Fail, "^/packages/0/tools/0$"}, + {"packages[].tools[].name < min length", "packages-tools-name-length-lt", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/tools/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1075,7 +1075,7 @@ func TestPackageIndexPackagesToolsNameLTMinLength(t *testing.T) { func TestPackageIndexPackagesToolsVersionMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].tools[].version missing", "packages-tools-version-missing", ruleresult.Fail, "^/packages/0/tools/0$"}, + {"packages[].tools[].version missing", "packages-tools-version-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/tools/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1085,7 +1085,7 @@ func TestPackageIndexPackagesToolsVersionMissing(t *testing.T) { func TestPackageIndexPackagesToolsVersionIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].tools[].version type", "packages-tools-version-incorrect-type", ruleresult.Fail, "^/packages/0/tools/0$"}, + {"Incorrect packages[].tools[].version type", "packages-tools-version-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/tools/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1095,7 +1095,7 @@ func TestPackageIndexPackagesToolsVersionIncorrectType(t *testing.T) { func TestPackageIndexPackagesToolsVersionNonRelaxedSemver(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].tools[].version not relaxed semver", "packages-tools-version-non-relaxed-semver", ruleresult.Fail, "^foopackager:openocd@foo$"}, + {"packages[].tools[].version not relaxed semver", "packages-tools-version-non-relaxed-semver", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@foo$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1105,7 +1105,7 @@ func TestPackageIndexPackagesToolsVersionNonRelaxedSemver(t *testing.T) { func TestPackageIndexPackagesToolsVersionNonSemver(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].tools[].version not semver", "packages-tools-version-not-semver", ruleresult.Fail, "^foopackager:openocd@1.0$"}, + {"packages[].tools[].version not semver", "packages-tools-version-not-semver", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@1.0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1115,7 +1115,7 @@ func TestPackageIndexPackagesToolsVersionNonSemver(t *testing.T) { func TestPackageIndexPackagesToolsSystemsMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].tools[].systems[] missing", "packages-tools-systems-missing", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2$"}, + {"packages[].tools[].systems[] missing", "packages-tools-systems-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1125,7 +1125,7 @@ func TestPackageIndexPackagesToolsSystemsMissing(t *testing.T) { func TestPackageIndexPackagesToolsSystemsIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].tools[].systems type", "packages-tools-systems-incorrect-type", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2$"}, + {"Incorrect packages[].tools[].systems type", "packages-tools-systems-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1135,7 +1135,7 @@ func TestPackageIndexPackagesToolsSystemsIncorrectType(t *testing.T) { func TestPackageIndexPackagesToolsSystemsAdditionalProperties(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Additional packages[].tools[].systems[] properties", "packages-tools-systems-additional-properties", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, + {"Additional packages[].tools[].systems[] properties", "packages-tools-systems-additional-properties", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1145,7 +1145,7 @@ func TestPackageIndexPackagesToolsSystemsAdditionalProperties(t *testing.T) { func TestPackageIndexPackagesToolsSystemsHostMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].tools[].systems[].host missing", "packages-tools-systems-host-missing", ruleresult.Fail, "^/packages/0/tools/0/systems/0$"}, + {"packages[].tools[].systems[].host missing", "packages-tools-systems-host-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/tools/0/systems/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1155,7 +1155,7 @@ func TestPackageIndexPackagesToolsSystemsHostMissing(t *testing.T) { func TestPackageIndexPackagesToolsSystemsHostIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].tools[].systems[].host type", "packages-tools-systems-host-incorrect-type", ruleresult.Fail, "^/packages/0/tools/0/systems/0$"}, + {"Incorrect packages[].tools[].systems[].host type", "packages-tools-systems-host-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "/packages/0/tools/0/systems/0$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1165,7 +1165,7 @@ func TestPackageIndexPackagesToolsSystemsHostIncorrectType(t *testing.T) { func TestPackageIndexPackagesToolsSystemsHostInvalid(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Invalid packages[].tools[].systems[].host format", "packages-tools-systems-host-invalid", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2 >> foo$"}, + {"Invalid packages[].tools[].systems[].host format", "packages-tools-systems-host-invalid", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2 >> foo$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1175,7 +1175,7 @@ func TestPackageIndexPackagesToolsSystemsHostInvalid(t *testing.T) { func TestPackageIndexPackagesToolsSystemsUrlMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].tools[].systems[].url missing", "packages-tools-systems-url-missing", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, + {"packages[].tools[].systems[].url missing", "packages-tools-systems-url-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1185,7 +1185,7 @@ func TestPackageIndexPackagesToolsSystemsUrlMissing(t *testing.T) { func TestPackageIndexPackagesToolsSystemsUrlIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].tools[].systems[].url type", "packages-tools-systems-url-incorrect-type", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, + {"Incorrect packages[].tools[].systems[].url type", "packages-tools-systems-url-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1195,7 +1195,7 @@ func TestPackageIndexPackagesToolsSystemsUrlIncorrectType(t *testing.T) { func TestPackageIndexPackagesToolsSystemsUrlInvalidFormat(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].tools[].systems[].url format", "packages-tools-systems-url-invalid-format", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, + {"Incorrect packages[].tools[].systems[].url format", "packages-tools-systems-url-invalid-format", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1205,7 +1205,7 @@ func TestPackageIndexPackagesToolsSystemsUrlInvalidFormat(t *testing.T) { func TestPackageIndexPackagesToolsSystemsURLDeadLink(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Dead URLs", "packages-tools-systems-url-dead", ruleresult.Fail, "^foopackager:CMSIS@4\\.0\\.0-atmel >> arm-linux-gnueabihf, foopackager:CMSIS@4\\.0\\.0-atmel >> i686-mingw32$"}, + {"Dead URLs", "packages-tools-systems-url-dead", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:CMSIS@4\\.0\\.0-atmel >> arm-linux-gnueabihf\n" + brokenOutputListIndent + "foopackager:CMSIS@4\\.0\\.0-atmel >> i686-mingw32$"}, {"Valid URL", "valid-package-index", ruleresult.Pass, ""}, } @@ -1215,7 +1215,7 @@ func TestPackageIndexPackagesToolsSystemsURLDeadLink(t *testing.T) { func TestPackageIndexPackagesToolsSystemsArchiveFileNameMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].tools[].systems[].archiveFileName missing", "packages-tools-systems-archivefilename-missing", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, + {"packages[].tools[].systems[].archiveFileName missing", "packages-tools-systems-archivefilename-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1225,7 +1225,7 @@ func TestPackageIndexPackagesToolsSystemsArchiveFileNameMissing(t *testing.T) { func TestPackageIndexPackagesToolsSystemsArchiveFileNameIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].tools[].systems[].archiveFileName type", "packages-tools-systems-archivefilename-incorrect-type", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, + {"Incorrect packages[].tools[].systems[].archiveFileName type", "packages-tools-systems-archivefilename-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1235,7 +1235,7 @@ func TestPackageIndexPackagesToolsSystemsArchiveFileNameIncorrectType(t *testing func TestPackageIndexPackagesToolsSystemsArchiveFileNameLTMinLength(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].tools[].systems[].archiveFileName < min length", "packages-tools-systems-archivefilename-length-lt", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, + {"packages[].tools[].systems[].archiveFileName < min length", "packages-tools-systems-archivefilename-length-lt", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1245,7 +1245,7 @@ func TestPackageIndexPackagesToolsSystemsArchiveFileNameLTMinLength(t *testing.T func TestPackageIndexPackagesToolsSystemsArchiveFileNameInvalid(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Invalid packages[].tools[].systems[].archiveFileName format", "packages-tools-systems-archivefilename-invalid", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, + {"Invalid packages[].tools[].systems[].archiveFileName format", "packages-tools-systems-archivefilename-invalid", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1255,7 +1255,7 @@ func TestPackageIndexPackagesToolsSystemsArchiveFileNameInvalid(t *testing.T) { func TestPackageIndexPackagesToolsSystemsChecksumMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].tools[].systems[].checksum missing", "packages-tools-systems-checksum-missing", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, + {"packages[].tools[].systems[].checksum missing", "packages-tools-systems-checksum-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1265,7 +1265,7 @@ func TestPackageIndexPackagesToolsSystemsChecksumMissing(t *testing.T) { func TestPackageIndexPackagesToolsSystemsChecksumIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].tools[].systems[].checksum type", "packages-tools-systems-checksum-incorrect-type", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, + {"Incorrect packages[].tools[].systems[].checksum type", "packages-tools-systems-checksum-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1275,7 +1275,7 @@ func TestPackageIndexPackagesToolsSystemsChecksumIncorrectType(t *testing.T) { func TestPackageIndexPackagesToolsSystemsChecksumInvalid(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Invalid packages[].tools[].systems[].checksum format", "packages-tools-systems-checksum-invalid", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, + {"Invalid packages[].tools[].systems[].checksum format", "packages-tools-systems-checksum-invalid", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1285,7 +1285,7 @@ func TestPackageIndexPackagesToolsSystemsChecksumInvalid(t *testing.T) { func TestPackageIndexPackagesToolsSystemsChecksumDiscouragedAlgorithm(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].tools[].systems[].checksum uses discouraged algorithm", "packages-tools-systems-checksum-discouraged", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, + {"packages[].tools[].systems[].checksum uses discouraged algorithm", "packages-tools-systems-checksum-discouraged", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1295,7 +1295,7 @@ func TestPackageIndexPackagesToolsSystemsChecksumDiscouragedAlgorithm(t *testing func TestPackageIndexPackagesToolsSystemsSizeMissing(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"packages[].tools[].systems[].size missing", "packages-tools-systems-size-missing", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, + {"packages[].tools[].systems[].size missing", "packages-tools-systems-size-missing", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1305,7 +1305,7 @@ func TestPackageIndexPackagesToolsSystemsSizeMissing(t *testing.T) { func TestPackageIndexPackagesToolsSystemsSizeIncorrectType(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Incorrect packages[].tools[].systems[].size type", "packages-tools-systems-size-incorrect-type", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, + {"Incorrect packages[].tools[].systems[].size type", "packages-tools-systems-size-incorrect-type", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } @@ -1315,7 +1315,7 @@ func TestPackageIndexPackagesToolsSystemsSizeIncorrectType(t *testing.T) { func TestPackageIndexPackagesToolsSystemsSizeInvalid(t *testing.T) { testTables := []packageIndexRuleFunctionTestTable{ {"Invalid JSON", "invalid-JSON", ruleresult.NotRun, ""}, - {"Invalid packages[].tools[].systems[].size format", "packages-tools-systems-size-invalid", ruleresult.Fail, "^foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, + {"Invalid packages[].tools[].systems[].size format", "packages-tools-systems-size-invalid", ruleresult.Fail, "^" + brokenOutputListIndent + "foopackager:openocd@0\\.11\\.0-arduino2 >> aarch64-linux-gnu$"}, {"Valid", "valid-package-index", ruleresult.Pass, ""}, } diff --git a/internal/rule/rulefunction/rulefunction.go b/internal/rule/rulefunction/rulefunction.go index 24edc32a..9e3c0c4b 100644 --- a/internal/rule/rulefunction/rulefunction.go +++ b/internal/rule/rulefunction/rulefunction.go @@ -95,6 +95,13 @@ func IncorrectArduinoDotHFileNameCase() (result ruleresult.Type, output string) return ruleresult.Pass, "" } +const brokenOutputListIndent = " " // Use this as indent for rule output that takes the form of newline-separated list. + +// brokenOutputList formats the rule output as a newline-separated list. +func brokenOutputList(list []string) string { + return brokenOutputListIndent + strings.Join(list, "\n"+brokenOutputListIndent) +} + // validProjectPathBaseName checks whether the provided library folder or sketch filename contains prohibited characters. func validProjectPathBaseName(name string) bool { baseNameRegexp := regexp.MustCompile("^[a-zA-Z0-9][a-zA-Z0-9_.-]*$")