Unverified Commit 3a7c3d38 authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #65326 from deads2k/cli-75-fix-printer-check

Automatic merge from submit-queue (batch tested with PRs 65290, 65326, 65289, 65334, 64860). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. fix printer check to tolerate vendoring After you've vendored code, the package includes a vendor dir. This updates the code to tolerate that. /assign @soltysh @juanvallejo ```release-note NONE ```
parents b6bc20b9 6dd9d1ff
...@@ -83,39 +83,41 @@ func TestIllegalPackageSourceCheckerThroughPrintFlags(t *testing.T) { ...@@ -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) { ...@@ -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)
if err != nil { err := tc.printer.PrintObj(tc.obj, output)
if !tc.expectInternalObjErr { if err != nil {
t.Fatalf("unexpected error %v", err) 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
} }
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 {
continue
}
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())
} }
})
} }
} }
......
...@@ -51,7 +51,7 @@ type illegalPackageSourceChecker struct { ...@@ -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
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment