add more tests for stageBuilder_build
This commit is contained in:
parent
b9f4c4bab5
commit
579ec52a30
|
|
@ -1004,7 +1004,7 @@ COPY %s bar.txt
|
||||||
dir, _ := tempDirAndFile(t)
|
dir, _ := tempDirAndFile(t)
|
||||||
|
|
||||||
ch := NewCompositeCache("")
|
ch := NewCompositeCache("")
|
||||||
ch.AddKey("RUN anotherValue")
|
ch.AddKey("RUN value")
|
||||||
hash, err := ch.Hash()
|
hash, err := ch.Hash()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("couldn't create hash %v", err)
|
t.Errorf("couldn't create hash %v", err)
|
||||||
|
|
@ -1018,6 +1018,47 @@ COPY %s bar.txt
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return testcase{
|
||||||
|
description: "cached run command with same build arg does not push layer",
|
||||||
|
config: &v1.ConfigFile{Config: v1.Config{WorkingDir: dir}},
|
||||||
|
opts: &config.KanikoOptions{Cache: true},
|
||||||
|
args: map[string]string{
|
||||||
|
"arg": "value",
|
||||||
|
},
|
||||||
|
// layer key that exists
|
||||||
|
layerCache: &fakeLayerCache{
|
||||||
|
img: &fakeImage{ImageLayers: []v1.Layer{fakeLayer{}}},
|
||||||
|
keySequence: []string{hash},
|
||||||
|
},
|
||||||
|
expectedCacheKeys: []string{hash},
|
||||||
|
commands: []commands.DockerCommand{command},
|
||||||
|
rootDir: dir,
|
||||||
|
}
|
||||||
|
}(),
|
||||||
|
func() testcase {
|
||||||
|
dir, _ := tempDirAndFile(t)
|
||||||
|
|
||||||
|
ch1 := NewCompositeCache("")
|
||||||
|
ch1.AddKey("RUN value")
|
||||||
|
hash1, err := ch1.Hash()
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("couldn't create hash %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
ch2 := NewCompositeCache("")
|
||||||
|
ch2.AddKey("RUN anotherValue")
|
||||||
|
hash2, err := ch2.Hash()
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("couldn't create hash %v", err)
|
||||||
|
}
|
||||||
|
command := MockDockerCommand{
|
||||||
|
command: "RUN $arg",
|
||||||
|
contextFiles: []string{},
|
||||||
|
cacheCommand: MockCachedDockerCommand{
|
||||||
|
contextFiles: []string{},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
return testcase{
|
return testcase{
|
||||||
description: "cached run command with another build arg pushes layer",
|
description: "cached run command with another build arg pushes layer",
|
||||||
config: &v1.ConfigFile{Config: v1.Config{WorkingDir: dir}},
|
config: &v1.ConfigFile{Config: v1.Config{WorkingDir: dir}},
|
||||||
|
|
@ -1025,8 +1066,13 @@ COPY %s bar.txt
|
||||||
args: map[string]string{
|
args: map[string]string{
|
||||||
"arg": "anotherValue",
|
"arg": "anotherValue",
|
||||||
},
|
},
|
||||||
expectedCacheKeys: []string{hash},
|
// layer for arg=value already exists
|
||||||
pushedCacheKeys: []string{hash},
|
layerCache: &fakeLayerCache{
|
||||||
|
img: &fakeImage{ImageLayers: []v1.Layer{fakeLayer{}}},
|
||||||
|
keySequence: []string{hash1},
|
||||||
|
},
|
||||||
|
expectedCacheKeys: []string{hash2},
|
||||||
|
pushedCacheKeys: []string{hash2},
|
||||||
commands: []commands.DockerCommand{command},
|
commands: []commands.DockerCommand{command},
|
||||||
rootDir: dir,
|
rootDir: dir,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue