Allow tests to only run locally (#4664)

* Allow tests to only run locally

Allow tests that are flaky or currently unsupported on the server to run locally

* Address feedback
This commit is contained in:
Anna Song
2022-06-08 10:04:23 -07:00
committed by GitHub
parent 4b19643b36
commit 3fdf88d10e
5 changed files with 83 additions and 96 deletions

View File

@@ -7,6 +7,9 @@ MYGOBIN = $(shell go env GOPATH)/bin
endif
export PATH := $(MYGOBIN):$(PATH)
# determines whether to run tests that only behave locally; can be overridden by override variable
export IS_LOCAL = false
.PHONY: install-out-of-tree-tools
install-out-of-tree-tools: \
$(MYGOBIN)/goimports \

View File

@@ -1,6 +1,8 @@
// Code generated by pluginator on AnnotationsTransformer; DO NOT EDIT.
// pluginator {unknown 1970-01-01T00:00:00Z }
package builtins
import (
@@ -16,6 +18,7 @@ type AnnotationsTransformerPlugin struct {
FieldSpecs []types.FieldSpec `json:"fieldSpecs,omitempty" yaml:"fieldSpecs,omitempty"`
}
func (p *AnnotationsTransformerPlugin) Config(
_ *resmap.PluginHelpers, c []byte) (err error) {
p.Annotations = nil
@@ -34,5 +37,5 @@ func (p *AnnotationsTransformerPlugin) Transform(m resmap.ResMap) error {
}
func NewAnnotationsTransformerPlugin() resmap.TransformerPlugin {
return &AnnotationsTransformerPlugin{}
return &AnnotationsTransformerPlugin{}
}

View File

@@ -6,7 +6,10 @@ package krusty_test
import (
"fmt"
"net/http"
"os"
"path/filepath"
"strconv"
"strings"
"testing"
"github.com/stretchr/testify/require"
@@ -35,7 +38,7 @@ spec:
`
type remoteResourceCase struct {
skip bool
local bool // only run locally; doesn't behave as expected on server
kustomization string
error bool
expected string // if error, expected is error string
@@ -74,8 +77,33 @@ func testRemoteResource(require *require.Assertions, test *remoteResourceCase) {
require.NoError(fSys.RemoveAll(tmpDir.String()))
}
func isLocalEnv(require *require.Assertions) bool {
// make variable that determines whether to run local-only tests
if value, exists := os.LookupEnv("IS_LOCAL"); exists {
isLocal, err := strconv.ParseBool(strings.TrimSpace(value))
require.NoError(err)
return isLocal
}
return false
}
func runResourceTests(t *testing.T, cases map[string]*remoteResourceCase) {
t.Helper()
req := require.New(t)
for name, test := range cases {
savedTest := test // test assignment changes; need assignment in this scope (iteration) of range
t.Run(name, func(t *testing.T) {
if savedTest.local && !isLocalEnv(req) {
t.SkipNow()
}
testRemoteResource(req, test)
})
}
}
func TestRemoteLoad(t *testing.T) {
require := require.New(t)
req := require.New(t)
fSys := filesys.MakeFsOnDisk()
b := krusty.MakeKustomizer(krusty.MakeDefaultOptions())
@@ -83,12 +111,12 @@ func TestRemoteLoad(t *testing.T) {
m, err := b.Run(
fSys,
"github.com/kubernetes-sigs/kustomize/examples/multibases/dev/?ref=v1.0.6")
require.NoError(err)
checkYaml(m, multibaseDevExampleBuild, require)
req.NoError(err)
checkYaml(m, multibaseDevExampleBuild, req)
}
func TestRemoteResourceHttps(t *testing.T) {
tests := map[string]remoteResourceCase{
tests := map[string]*remoteResourceCase{
"basic": {
kustomization: `
resources:
@@ -116,36 +144,28 @@ namePrefix: dev-`,
},
}
for name, test := range tests {
test := test
t.Run(name, func(t *testing.T) {
if test.skip {
t.SkipNow()
}
testRemoteResource(require.New(t), &test)
})
}
runResourceTests(t, tests)
}
func TestRemoteResourceSsh(t *testing.T) {
// TODO: add ssh keys to server to run these tests
tests := map[string]remoteResourceCase{
tests := map[string]*remoteResourceCase{
"scp shorthand": {
skip: true,
local: true,
kustomization: `
resources:
- git@github.com:kubernetes-sigs/kustomize//examples/multibases/dev/?ref=v1.0.6`,
expected: multibaseDevExampleBuild,
},
"full ssh, no ending slash": {
skip: true,
local: true,
kustomization: `
resources:
- ssh://git@github.com/kubernetes-sigs/kustomize//examples/multibases/dev?ref=v1.0.6`,
expected: multibaseDevExampleBuild,
},
"repo": {
skip: true,
local: true,
kustomization: `
resources:
- ssh://git@github.com/annasong20/kustomize-test.git?ref=main`,
@@ -153,15 +173,7 @@ resources:
},
}
for name, test := range tests {
test := test
t.Run(name, func(t *testing.T) {
if test.skip {
t.SkipNow()
}
testRemoteResource(require.New(t), &test)
})
}
runResourceTests(t, tests)
}
func TestRemoteResourcePort(t *testing.T) {
@@ -169,9 +181,9 @@ func TestRemoteResourcePort(t *testing.T) {
httpsURL := "https://github.com:443/kubernetes-sigs/kustomize//examples/multibases/dev/?ref=v1.0.6"
// TODO: ports not currently supported; implement in future
tests := map[string]remoteResourceCase{
tests := map[string]*remoteResourceCase{
"ssh": {
skip: true,
local: true,
kustomization: fmt.Sprintf(resourcesField, sshURL),
error: true,
expected: fmt.Sprintf(resourceErrorFormat+fileError, sshURL),
@@ -182,29 +194,22 @@ func TestRemoteResourcePort(t *testing.T) {
expected: fmt.Sprintf(resourceErrorFormat+repoFindError, httpsURL),
},
}
for name, test := range tests {
test := test
t.Run(name, func(t *testing.T) {
if test.skip {
t.SkipNow()
}
testRemoteResource(require.New(t), &test)
})
}
runResourceTests(t, tests)
}
func TestRemoteResourceRepo(t *testing.T) {
tests := map[string]remoteResourceCase{
tests := map[string]*remoteResourceCase{
"https, no ref": {
// TODO: fix flaky test that sporadically throws errors on server
skip: true,
local: true,
kustomization: `
resources:
- https://github.com/annasong20/kustomize-test.git`,
expected: multibaseDevExampleBuild,
},
"ssh, no ref": {
skip: true,
local: true,
kustomization: `
resources:
- git@github.com:annasong20/kustomize-test.git`,
@@ -212,15 +217,7 @@ resources:
},
}
for name, test := range tests {
test := test
t.Run(name, func(t *testing.T) {
if test.skip {
t.SkipNow()
}
testRemoteResource(require.New(t), &test)
})
}
runResourceTests(t, tests)
}
func TestRemoteResourceParameters(t *testing.T) {
@@ -230,41 +227,41 @@ func TestRemoteResourceParameters(t *testing.T) {
// TODO: cases with expected errors are query parameter combinations that aren't supported yet; implement in future
// TODO: fix flaky tests (non-ssh tests that we skip) that sporadically fail on server
tests := map[string]remoteResourceCase{
tests := map[string]*remoteResourceCase{
"https no params": {
skip: true,
local: true,
kustomization: fmt.Sprintf(resourcesField, httpsNoParam),
error: true,
expected: fmt.Sprintf(resourceErrorFormat+repoFindError, httpsNoParam),
},
"https master": {
skip: true,
local: true,
kustomization: fmt.Sprintf(resourcesField, httpsMasterBranch),
error: true,
expected: fmt.Sprintf(resourceErrorFormat+repoFindError, httpsMasterBranch),
},
"https master and no submodules": {
skip: true,
local: true,
kustomization: `
resources:
- https://github.com/kubernetes-sigs/kustomize//examples/multibases/dev?ref=master&submodules=false`,
expected: multibaseDevExampleBuild,
},
"https all params": {
skip: true,
local: true,
kustomization: `
resources:
- https://github.com/kubernetes-sigs/kustomize//examples/multibases/dev?ref=v1.0.6&timeout=10&submodules=true`,
expected: multibaseDevExampleBuild,
},
"ssh no params": {
skip: true,
local: true,
kustomization: fmt.Sprintf(resourcesField, sshNoParams),
error: true,
expected: fmt.Sprintf(resourceErrorFormat+fileError, sshNoParams),
},
"ssh all params": {
skip: true,
local: true,
kustomization: `
resources:
- ssh://git@github.com/annasong20/kustomize-test.git?ref=main&timeout=10&submodules=true`,
@@ -272,36 +269,28 @@ resources:
},
}
for name, test := range tests {
test := test
t.Run(name, func(t *testing.T) {
if test.skip {
t.SkipNow()
}
testRemoteResource(require.New(t), &test)
})
}
runResourceTests(t, tests)
}
func TestRemoteResourceGoGetter(t *testing.T) {
// TODO: fix flaky tests (the ones that we skip) that fail sporadically on server
tests := map[string]remoteResourceCase{
tests := map[string]*remoteResourceCase{
"git detector with / subdirectory separator": {
skip: true,
local: true,
kustomization: `
resources:
- github.com/kubernetes-sigs/kustomize/examples/multibases/dev/?ref=v1.0.6`,
expected: multibaseDevExampleBuild,
},
"git detector for repo": {
skip: true,
local: true,
kustomization: `
resources:
- github.com/annasong20/kustomize-test`,
expected: multibaseDevExampleBuild,
},
"https with / subdirectory separator": {
skip: true,
local: true,
kustomization: `
resources:
- https://github.com/kubernetes-sigs/kustomize/examples/multibases/dev/?ref=v1.0.6`,
@@ -314,7 +303,7 @@ resources:
expected: multibaseDevExampleBuild,
},
"git forced protocol with / subdirectory separator": {
skip: true,
local: true,
kustomization: `
resources:
- git::https://github.com/kubernetes-sigs/kustomize/examples/multibases/dev/?ref=v1.0.6`,
@@ -322,22 +311,14 @@ resources:
},
}
for name, test := range tests {
test := test
t.Run(name, func(t *testing.T) {
if test.skip {
t.SkipNow()
}
testRemoteResource(require.New(t), &test)
})
}
runResourceTests(t, tests)
}
func TestRemoteResourceWithHttpError(t *testing.T) {
require := require.New(t)
req := require.New(t)
url404 := "https://github.com/thisisa404.yaml"
fSys, tmpDir := createKustDir(fmt.Sprintf(resourcesField, url404), require)
fSys, tmpDir := createKustDir(fmt.Sprintf(resourcesField, url404), req)
b := krusty.MakeKustomizer(krusty.MakeDefaultOptions())
_, err := b.Run(fSys, tmpDir.String())
@@ -345,9 +326,9 @@ func TestRemoteResourceWithHttpError(t *testing.T) {
httpErr := fmt.Errorf("%w: status code %d (%s)", loader.ErrorHTTP, 404, http.StatusText(404))
accuFromErr := fmt.Errorf("accumulating resources from '%s': %w", url404, httpErr)
expectedErr := fmt.Errorf("accumulating resources: %w", accuFromErr)
require.EqualErrorf(err, expectedErr.Error(), url404)
req.EqualErrorf(err, expectedErr.Error(), url404)
require.NoError(fSys.RemoveAll(tmpDir.String()))
req.NoError(fSys.RemoveAll(tmpDir.String()))
}
func TestRemoteResourceAnnoOrigin(t *testing.T) {
@@ -379,21 +360,21 @@ spec:
}
func TestRemoteResourceAsBaseWithAnnoOrigin(t *testing.T) {
require := require.New(t)
req := require.New(t)
fSys := filesys.MakeFsOnDisk()
b := krusty.MakeKustomizer(krusty.MakeDefaultOptions())
tmpDir, err := filesys.NewTmpConfirmedDir()
require.NoError(err)
req.NoError(err)
base := filepath.Join(tmpDir.String(), "base")
prod := filepath.Join(tmpDir.String(), "prod")
require.NoError(fSys.Mkdir(base))
require.NoError(fSys.Mkdir(prod))
require.NoError(fSys.WriteFile(filepath.Join(base, "kustomization.yaml"), []byte(`
req.NoError(fSys.Mkdir(base))
req.NoError(fSys.Mkdir(prod))
req.NoError(fSys.WriteFile(filepath.Join(base, "kustomization.yaml"), []byte(`
resources:
- github.com/kubernetes-sigs/kustomize/examples/multibases/dev/?ref=v1.0.6
`)))
require.NoError(fSys.WriteFile(filepath.Join(prod, "kustomization.yaml"), []byte(`
req.NoError(fSys.WriteFile(filepath.Join(prod, "kustomization.yaml"), []byte(`
resources:
- ../base
namePrefix: prefix-
@@ -403,7 +384,7 @@ buildMetadata: [originAnnotations]
m, err := b.Run(
fSys,
prod)
require.NoError(err)
req.NoError(err)
expected := `apiVersion: v1
kind: Pod
@@ -421,7 +402,7 @@ spec:
- image: nginx:1.7.9
name: nginx
`
checkYaml(m, expected, require)
checkYaml(m, expected, req)
require.NoError(fSys.RemoveAll(tmpDir.String()))
req.NoError(fSys.RemoveAll(tmpDir.String()))
}

View File

@@ -8,7 +8,7 @@ import (
func init() {
data := "PK\x03\x04\x14\x00\x08\x00\x08\x00\x8c\xba\x88R\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00 \x00go.mod.srcUT\x05\x00\x01\xb8\x8fo`\x84\xce=\x8e\xc20\x10\xc5\xf1:s\n\x97\xbbE\xc6c;\x1f\x9bb\xb9\x8b\x1dL\x18%\xc6!\x8e#\xc1\xe9QDE\x01\xd4\xef'\xbd\x7f\x88\xc7<y\x11,_\x00\x86(\x14\xaa\x1a`\xf1\xd7\xcc\x8b\x17?P\x0c\xbc\x9e\xb3\xc3>\x06\x99\xe6\x932\xb2\x8fn\xb1bSHHP$\x1e\x12\x8e\x7f 9\xca1\xa75\x06\xbe{ig\x16\x1ba\x83\xd5;1\xdel\x98v\xd3\xa1y5\xcfA\xa1F\x82\xdf=e\x9el\xef\xc5\xb7#\xf1\x7f\xf8l\x08\xa9\xd4\xa4I)M\xdaPkLI\xb5\xb6\x8d\xab|\xd7\xb4\x0e\x1e\x01\x00\x00\xff\xffPK\x07\x08\xf6G\x8e3\x9e\x00\x00\x00\n\x01\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00\xe3\x9b\x8eT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00 \x00main.goUT\x05\x00\x01{vXb\x94R\xc1n\xe36\x10=\x93_1\xd5\xa1\xa0\n\x87\xda\xfaT\xec\xc2\x87\xc5z\xbd]4 \x8c$\x08\n\x14=\xd0\xd2H&L\x91\xc4\x90\x8a\xe3\x16\xfe\xf7\x82\x92\xec\xd8i\x12d\xaf\xe4\x9b\xf7\xe6\xbdyE\x01_\x9c\xdf\x91n\xd6\x11\xa6\x1f\xa6S\xb8[#\xfc\xd1\xad\x90,F\x0c\xf0\xb9\x8bkGA\xf2\xa2\x80\xdb\xe5\xfc\xcf\x8bK]\xa2\x0dx\xf1\xbdB\x1bu\xad\x91>\xc2g\xaf\xca5^L\xe5\x07\x9epwk\x1d\xa0\xd6\x06a\xab\x8d\x81\x15\x82'Wb\x08X\x81\xb2\x15`\xbb\xc2\xaa\xc2\n\xa2\x03o\xbaF[\x15\x1dI\xce\xbd*7\xaaA\xa8;[nIy\x8f\x14\xa8\xe4\\\xb7\xdeQ\x04\xc1YV\xb71\xe3,s!\xe3\x9ceA7An~\x0bR\xbbb\xd3\x85\xe8Z\xfd\x0f\x16\xca\xeb\xc2\x93{\xd0\x15R\xf6&\x8a0\xb4\xca\xbf\x8d\x89;\x8f\xe1u\xc8f\xa7ZS\xd4\xb6\xa8I\xb5\xb8u\xb4\xc9x\x9eb\xb0\xceh\x1by\xf2\x02\xad\xd2V\xe4\xf0/g\x0f\x8aF\xcf0\x88\xcb/\xce\xd6\xba\xe9H\xad\x0cr\xe6\xe1\xe3\x0c\x0e\xcb\xcbk\xdc\xce\xb1V\x9d\x89s\xf4\xcb\xf1U\xe4\x9c\x0d\xb3\x0bUFG\xbb42\x92]\xe3v|\x14^~\xc3x\x83\xc1uT\xe2\xe11\xcf9\x1b\xe4\x7fG\x93\xe2=\x9f]\x9e~ \xce\x98\xd5f\x02=\xd3B\xa3\xa9\xee\x95\xd1U:\x96\xc8'p\xb6\xc3\x04\xfa\x9c\xe4\\\x87d\xa4\x1a\x98\x06oI\x95\xb3\xb1\x03\x8e\x92\xe41,y\xd8\xf0R\x87\xb8<@\x16\x9d-EJN\xd0\xc97\xfc\xf2\xf2X\x0eH\xe4(\xc5\x9b\x82\xb9R~\x92^\x9e\xac\x8d;&\x877\xfd\xff\x82\\{s\xed*\xbc5\xba\xc43\x11\xf9=b\x1br\xce\x98\xae{\x96\x9ff`\xb5\xe9\xc9\x19a\xec\xc8\xa6g\xce\xd8\x9e3V\xa9\xa8\xee\x95\xe9\xf0T\xf1\x89+\xf9\x88\xda\x8d9\xc8>C\x91\xa5\xa1,\x97\xfd\x9c\xbc\x8d\xa4m#\xde'\xc8\x19K\x88\xd9X\xa1\xb1;\xe2\xec\xa2\x13\xf8\xeb\xef\xd5.\xa28\xee\x96\xbf\x8f\xbc\xc7\xc4 \xb8M\xdf\xc1AA\x8c\xe5\xb8#eC\xed\xa8E\x1aN\x9b\x7fJ\xc0\x9egX)>a\xc4p\x85$\xfb\x92\xee\xb9p\xaf\xbc\x074\x01A\xd7\xd0\xbc\xb2\xc07\xb4H\xa9z\xff\x93?=\xf9\x0c\x9a\x03\x12\xc5\x8f\xe8\xf3\xa1;\xcfj\x00\xfd=\xaf\x92\x7fw\xd2\x97\x9c\x1f9\xac6\x9c\xeds~\xd09\xeb\xf6\xd7G,\xbb\x88\xe2\xe7c\xf7'i \xff\xf4|\xa5\xba\x8drI\xdaFc\x05\x12%~\x17\xe4\xd7G\x1d\xc5\xaf9g{\xbe\xe7\xff\x05\x00\x00\xff\xffPK\x07\x08P\xaa\x84\xd0\x8f\x02\x00\x00\xaa\x05\x00\x00PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\x8c\xba\x88R\xf6G\x8e3\x9e\x00\x00\x00\n\x01\x00\x00\n\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81\x00\x00\x00\x00go.mod.srcUT\x05\x00\x01\xb8\x8fo`PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\xe3\x9b\x8eTP\xaa\x84\xd0\x8f\x02\x00\x00\xaa\x05\x00\x00\x07\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81\xdf\x00\x00\x00main.goUT\x05\x00\x01{vXbPK\x05\x06\x00\x00\x00\x00\x02\x00\x02\x00\x7f\x00\x00\x00\xac\x03\x00\x00\x00\x00"
data := "PK\x03\x04\x14\x00\x08\x00\x08\x00l\xab\xc2T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00 \x00go.mod.srcUT\x05\x00\x01<+\x99b\x84\xce=\x8e\xc20\x10\xc5\xf1:s\n\x97\xbbE\xc6c;\x1f\x9bb\xb9\x8b\x1dL\x18%\xc6!\x8e#\xc1\xe9QDE\x01\xd4\xef'\xbd\x7f\x88\xc7<y\x11,_\x00\x86(\x14\xaa\x1a`\xf1\xd7\xcc\x8b\x17?P\x0c\xbc\x9e\xb3\xc3>\x06\x99\xe6\x932\xb2\x8fn\xb1bSHHP$\x1e\x12\x8e\x7f 9\xca1\xa75\x06\xbe{ig\x16\x1ba\x83\xd5;1\xdel\x98v\xd3\xa1y5\xcfA\xa1F\x82\xdf=e\x9el\xef\xc5\xb7#\xf1\x7f\xf8l\x08\xa9\xd4\xa4I)M\xdaPkLI\xb5\xb6\x8d\xab|\xd7\xb4\x0e\x1e\x01\x00\x00\xff\xffPK\x07\x08\xf6G\x8e3\x9e\x00\x00\x00\n\x01\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00l\xab\xc2T\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00 \x00main.goUT\x05\x00\x01<+\x99b\x94R\xc1n\xe36\x10=\x93_1\xd5\xa1\xa0\n\x87\xda\xfaT\xec\xc2\x87\xc5z\xbd]4 \x8c$\x08\n\x14=\xd0\xd2H&L\x91\xc4\x90\x8a\xe3\x16\xfe\xf7\x82\x92\xec\xd8i\x12d\xaf\xe4\x9b\xf7\xe6\xbdyE\x01_\x9c\xdf\x91n\xd6\x11\xa6\x1f\xa6S\xb8[#\xfc\xd1\xad\x90,F\x0c\xf0\xb9\x8bkGA\xf2\xa2\x80\xdb\xe5\xfc\xcf\x8bK]\xa2\x0dx\xf1\xbdB\x1bu\xad\x91>\xc2g\xaf\xca5^L\xe5\x07\x9epwk\x1d\xa0\xd6\x06a\xab\x8d\x81\x15\x82'Wb\x08X\x81\xb2\x15`\xbb\xc2\xaa\xc2\n\xa2\x03o\xbaF[\x15\x1dI\xce\xbd*7\xaaA\xa8;[nIy\x8f\x14\xa8\xe4\\\xb7\xdeQ\x04\xc1YV\xb71\xe3,s!\xe3\x9ceA7An~\x0bR\xbbb\xd3\x85\xe8Z\xfd\x0f\x16\xca\xeb\xc2\x93{\xd0\x15R\xf6&\x8a0\xb4\xca\xbf\x8d\x89;\x8f\xe1u\xc8f\xa7ZS\xd4\xb6\xa8I\xb5\xb8u\xb4\xc9x\x9eb\xb0\xceh\x1by\xf2\x02\xad\xd2V\xe4\xf0/g\x0f\x8aF\xcf0\x88\xcb/\xce\xd6\xba\xe9H\xad\x0cr\xe6\xe1\xe3\x0c\x0e\xcb\xcbk\xdc\xce\xb1V\x9d\x89s\xf4\xcb\xf1U\xe4\x9c\x0d\xb3\x0bUFG\xbb42\x92]\xe3v|\x14^~\xc3x\x83\xc1uT\xe2\xe11\xcf9\x1b\xe4\x7fG\x93\xe2=\x9f]\x9e~ \xce\x98\xd5f\x02=\xd3B\xa3\xa9\xee\x95\xd1U:\x96\xc8'p\xb6\xc3\x04\xfa\x9c\xe4\\\x87d\xa4\x1a\x98\x06oI\x95\xb3\xb1\x03\x8e\x92\xe41,y\xd8\xf0R\x87\xb8<@\x16\x9d-EJN\xd0\xc97\xfc\xf2\xf2X\x0eH\xe4(\xc5\x9b\x82\xb9R~\x92^\x9e\xac\x8d;&\x877\xfd\xff\x82\\{s\xed*\xbc5\xba\xc43\x11\xf9=b\x1br\xce\x98\xae{\x96\x9ff`\xb5\xe9\xc9\x19a\xec\xc8\xa6g\xce\xd8\x9e3V\xa9\xa8\xee\x95\xe9\xf0T\xf1\x89+\xf9\x88\xda\x8d9\xc8>C\x91\xa5\xa1,\x97\xfd\x9c\xbc\x8d\xa4m#\xde'\xc8\x19K\x88\xd9X\xa1\xb1;\xe2\xec\xa2\x13\xf8\xeb\xef\xd5.\xa28\xee\x96\xbf\x8f\xbc\xc7\xc4 \xb8M\xdf\xc1AA\x8c\xe5\xb8#eC\xed\xa8E\x1aN\x9b\x7fJ\xc0\x9egX)>a\xc4p\x85$\xfb\x92\xee\xb9p\xaf\xbc\x074\x01A\xd7\xd0\xbc\xb2\xc07\xb4H\xa9z\xff\x93?=\xf9\x0c\x9a\x03\x12\xc5\x8f\xe8\xf3\xa1;\xcfj\x00\xfd=\xaf\x92\x7fw\xd2\x97\x9c\x1f9\xac6\x9c\xeds~\xd09\xeb\xf6\xd7G,\xbb\x88\xe2\xe7c\xf7'i \xff\xf4|\xa5\xba\x8drI\xdaFc\x05\x12%~\x17\xe4\xd7G\x1d\xc5\xaf9g{\xbe\xe7\xff\x05\x00\x00\xff\xffPK\x07\x08P\xaa\x84\xd0\x8f\x02\x00\x00\xaa\x05\x00\x00PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00l\xab\xc2T\xf6G\x8e3\x9e\x00\x00\x00\n\x01\x00\x00\n\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x81\x00\x00\x00\x00go.mod.srcUT\x05\x00\x01<+\x99bPK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00l\xab\xc2TP\xaa\x84\xd0\x8f\x02\x00\x00\xaa\x05\x00\x00\x07\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x81\xdf\x00\x00\x00main.goUT\x05\x00\x01<+\x99bPK\x05\x06\x00\x00\x00\x00\x02\x00\x02\x00\x7f\x00\x00\x00\xac\x03\x00\x00\x00\x00"
fs.Register(data)
}

View File

@@ -24,7 +24,7 @@ function refreshMaster {
}
function testKustomizeRepo {
make prow-presubmit-check >& /tmp/k.txt
make IS_LOCAL=true verify-kustomize-repo >& /tmp/k.txt
local code=$?
if [ $code -ne 0 ]; then
echo "**** FAILURE ******************"