From 0fc7b8a4f4b7f5452102dcb6aea9241638e798c8 Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Fri, 3 Apr 2020 16:34:22 -0300 Subject: [PATCH] test: add it Signed-off-by: Carlos Alexandro Becker --- integration/integration_test.go | 44 +++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/integration/integration_test.go b/integration/integration_test.go index 0ae62e4b4..53d4dd364 100644 --- a/integration/integration_test.go +++ b/integration/integration_test.go @@ -260,6 +260,50 @@ func TestGitBuildcontext(t *testing.T) { checkContainerDiffOutput(t, diff, expected) } +func TestGitBuildcontextSubPath(t *testing.T) { + repo := getGitRepo() + dockerfile := "Dockerfile_test_run_2" + + // Build with docker + dockerImage := GetDockerImage(config.imageRepo, "Dockerfile_test_git") + dockerCmd := exec.Command("docker", + append([]string{ + "build", + "-t", dockerImage, + "-f", dockerfile, + filepath.Join(repo, integrationPath, dockerfilesPath), + })...) + out, err := RunCommandWithoutTest(dockerCmd) + if err != nil { + t.Errorf("Failed to build image %s with docker command %q: %s %s", dockerImage, dockerCmd.Args, err, string(out)) + } + + // Build with kaniko + kanikoImage := GetKanikoImage(config.imageRepo, "Dockerfile_test_git") + dockerRunFlags := []string{"run", "--net=host"} + dockerRunFlags = addServiceAccountFlags(dockerRunFlags, config.serviceAccount) + dockerRunFlags = append( + dockerRunFlags, + ExecutorImage, + "-f", dockerfile, + "-d", kanikoImage, + "-c", fmt.Sprintf("git://%s", repo), + "--context-sub-path", filepath.Join(integrationPath, dockerfilesPath), + ) + + kanikoCmd := exec.Command("docker", dockerRunFlags...) + + out, err = RunCommandWithoutTest(kanikoCmd) + if err != nil { + t.Errorf("Failed to build image %s with kaniko command %q: %v %s", dockerImage, kanikoCmd.Args, err, string(out)) + } + + diff := containerDiff(t, daemonPrefix+dockerImage, kanikoImage, "--no-cache") + + expected := fmt.Sprintf(emptyContainerDiff, dockerImage, kanikoImage, dockerImage, kanikoImage) + checkContainerDiffOutput(t, diff, expected) +} + func TestBuildViaRegistryMirror(t *testing.T) { repo := getGitRepo() dockerfile := "integration/dockerfiles/Dockerfile_registry_mirror"