Merge pull request #1093 from cvgw/u/cgwippern/1092-fix-TestRelativePaths
fix #1092 TestRelativePaths
This commit is contained in:
commit
a52a228300
|
|
@ -0,0 +1,3 @@
|
|||
FROM alpine@sha256:5ce5f501c457015c4b91f91a15ac69157d9b06f1a75cf9107bf2b62e0843983a
|
||||
COPY foo foo
|
||||
COPY foo /foodir/
|
||||
|
|
@ -356,28 +356,45 @@ func (d *DockerFileBuilder) buildCachedImages(config *integrationTestConfig, cac
|
|||
}
|
||||
|
||||
// buildRelativePathsImage builds the images for testing passing relatives paths to Kaniko
|
||||
func (d *DockerFileBuilder) buildRelativePathsImage(imageRepo, dockerfile, serviceAccount string) error {
|
||||
func (d *DockerFileBuilder) buildRelativePathsImage(imageRepo, dockerfile, serviceAccount, buildContextPath string) error {
|
||||
_, ex, _, _ := runtime.Caller(0)
|
||||
cwd := filepath.Dir(ex)
|
||||
|
||||
buildContextPath := "./relative-subdirectory"
|
||||
kanikoImage := GetKanikoImage(imageRepo, dockerfile)
|
||||
dockerImage := GetDockerImage(imageRepo, "test_relative_"+dockerfile)
|
||||
kanikoImage := GetKanikoImage(imageRepo, "test_relative_"+dockerfile)
|
||||
|
||||
dockerCmd := exec.Command("docker",
|
||||
append([]string{"build",
|
||||
"-t", dockerImage,
|
||||
"-f", dockerfile,
|
||||
"./context"},
|
||||
)...,
|
||||
)
|
||||
|
||||
timer := timing.Start(dockerfile + "_docker")
|
||||
out, err := RunCommandWithoutTest(dockerCmd)
|
||||
timing.DefaultRun.Stop(timer)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Failed to build image %s with docker command \"%s\": %s %s", dockerImage, dockerCmd.Args, err, string(out))
|
||||
}
|
||||
|
||||
dockerRunFlags := []string{"run", "--net=host", "-v", cwd + ":/workspace"}
|
||||
dockerRunFlags = addServiceAccountFlags(dockerRunFlags, serviceAccount)
|
||||
dockerRunFlags = append(dockerRunFlags, ExecutorImage,
|
||||
"-f", dockerfile,
|
||||
"-d", kanikoImage,
|
||||
"--digest-file", "./digest",
|
||||
"-c", buildContextPath)
|
||||
|
||||
kanikoCmd := exec.Command("docker", dockerRunFlags...)
|
||||
|
||||
timer := timing.Start(dockerfile + "_kaniko_relative_paths")
|
||||
_, err := RunCommandWithoutTest(kanikoCmd)
|
||||
timer = timing.Start(dockerfile + "_kaniko_relative_paths")
|
||||
out, err = RunCommandWithoutTest(kanikoCmd)
|
||||
timing.DefaultRun.Stop(timer)
|
||||
|
||||
if err != nil {
|
||||
return fmt.Errorf("Failed to build relative path image %s with kaniko command \"%s\": %s", kanikoImage, kanikoCmd.Args, err)
|
||||
return fmt.Errorf(
|
||||
"Failed to build relative path image %s with kaniko command \"%s\": %s\n%s",
|
||||
kanikoImage, kanikoCmd.Args, err, string(out))
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
|
|||
|
|
@ -383,14 +383,27 @@ func TestCache(t *testing.T) {
|
|||
|
||||
func TestRelativePaths(t *testing.T) {
|
||||
|
||||
dockerfile := "Dockerfile_test_copy"
|
||||
dockerfile := "Dockerfile_relative_copy"
|
||||
|
||||
t.Run("test_relative_"+dockerfile, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
imageBuilder.buildRelativePathsImage(config.imageRepo, dockerfile, config.serviceAccount)
|
||||
|
||||
dockerImage := GetDockerImage(config.imageRepo, dockerfile)
|
||||
kanikoImage := GetKanikoImage(config.imageRepo, dockerfile)
|
||||
dockerfile = filepath.Join("./dockerfiles", dockerfile)
|
||||
|
||||
contextPath := "./context"
|
||||
|
||||
err := imageBuilder.buildRelativePathsImage(
|
||||
config.imageRepo,
|
||||
dockerfile,
|
||||
config.serviceAccount,
|
||||
contextPath,
|
||||
)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
dockerImage := GetDockerImage(config.imageRepo, "test_relative_"+dockerfile)
|
||||
kanikoImage := GetKanikoImage(config.imageRepo, "test_relative_"+dockerfile)
|
||||
|
||||
diff := containerDiff(t, daemonPrefix+dockerImage, kanikoImage, "--no-cache")
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue