mirror of https://github.com/k3s-io/k3s
fix printer check to tolerate vendoring
parent
23b4690d00
commit
6dd9d1fff7
|
@ -83,39 +83,41 @@ func TestIllegalPackageSourceCheckerThroughPrintFlags(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range testCases {
|
for _, tc := range testCases {
|
||||||
printFlags := genericclioptions.NewPrintFlags("succeeded").WithTypeSetter(scheme.Scheme)
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
printFlags.OutputFormat = &tc.output
|
printFlags := genericclioptions.NewPrintFlags("succeeded").WithTypeSetter(scheme.Scheme)
|
||||||
|
printFlags.OutputFormat = &tc.output
|
||||||
|
|
||||||
printer, err := printFlags.ToPrinter()
|
printer, err := printFlags.ToPrinter()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected error %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
output := bytes.NewBuffer([]byte{})
|
|
||||||
|
|
||||||
err = printer.PrintObj(tc.obj, output)
|
|
||||||
if err != nil {
|
|
||||||
if !tc.expectInternalObjErr {
|
|
||||||
t.Fatalf("unexpected error %v", err)
|
t.Fatalf("unexpected error %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if !genericprinters.IsInternalObjectError(err) {
|
output := bytes.NewBuffer([]byte{})
|
||||||
t.Fatalf("unexpected error - expecting internal object printer error, got %q", err)
|
|
||||||
|
err = printer.PrintObj(tc.obj, output)
|
||||||
|
if err != nil {
|
||||||
|
if !tc.expectInternalObjErr {
|
||||||
|
t.Fatalf("unexpected error %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if !genericprinters.IsInternalObjectError(err) {
|
||||||
|
t.Fatalf("unexpected error - expecting internal object printer error, got %q", err)
|
||||||
|
}
|
||||||
|
return
|
||||||
}
|
}
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if tc.expectInternalObjErr {
|
if tc.expectInternalObjErr {
|
||||||
t.Fatalf("expected internal object printer error, but got no error")
|
t.Fatalf("expected internal object printer error, but got no error")
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(tc.expectedOutput) == 0 {
|
if len(tc.expectedOutput) == 0 {
|
||||||
continue
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if tc.expectedOutput != output.String() {
|
if tc.expectedOutput != output.String() {
|
||||||
t.Fatalf("unexpected output: expecting %q, got %q", tc.expectedOutput, output.String())
|
t.Fatalf("unexpected output: expecting %q, got %q", tc.expectedOutput, output.String())
|
||||||
}
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -181,31 +183,33 @@ func TestIllegalPackageSourceCheckerDirectlyThroughPrinters(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range testCases {
|
for _, tc := range testCases {
|
||||||
output := bytes.NewBuffer([]byte{})
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
|
output := bytes.NewBuffer([]byte{})
|
||||||
|
|
||||||
err := tc.printer.PrintObj(tc.obj, output)
|
err := tc.printer.PrintObj(tc.obj, output)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !tc.expectInternalObjErr {
|
if !tc.expectInternalObjErr {
|
||||||
t.Fatalf("unexpected error %v", err)
|
t.Fatalf("unexpected error %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if !genericprinters.IsInternalObjectError(err) {
|
||||||
|
t.Fatalf("unexpected error - expecting internal object printer error, got %q", err)
|
||||||
|
}
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if !genericprinters.IsInternalObjectError(err) {
|
if tc.expectInternalObjErr {
|
||||||
t.Fatalf("unexpected error - expecting internal object printer error, got %q", err)
|
t.Fatalf("expected internal object printer error, but got no error")
|
||||||
}
|
}
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if tc.expectInternalObjErr {
|
if len(tc.expectedOutput) == 0 {
|
||||||
t.Fatalf("expected internal object printer error, but got no error")
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(tc.expectedOutput) == 0 {
|
if tc.expectedOutput != output.String() {
|
||||||
continue
|
t.Fatalf("unexpected output: expecting %q, got %q", tc.expectedOutput, output.String())
|
||||||
}
|
}
|
||||||
|
})
|
||||||
if tc.expectedOutput != output.String() {
|
|
||||||
t.Fatalf("unexpected output: expecting %q, got %q", tc.expectedOutput, output.String())
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ type illegalPackageSourceChecker struct {
|
||||||
|
|
||||||
func (c *illegalPackageSourceChecker) IsForbidden(pkgPath string) bool {
|
func (c *illegalPackageSourceChecker) IsForbidden(pkgPath string) bool {
|
||||||
for _, forbiddenPrefix := range c.disallowedPrefixes {
|
for _, forbiddenPrefix := range c.disallowedPrefixes {
|
||||||
if strings.HasPrefix(pkgPath, forbiddenPrefix) {
|
if strings.HasPrefix(pkgPath, forbiddenPrefix) || strings.Contains(pkgPath, "/vendor/"+forbiddenPrefix) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue