(t *testing.T)
| 1016 | } |
| 1017 | |
| 1018 | func TestBuildStopStartCached(t *testing.T) { |
| 1019 | t.Parallel() |
| 1020 | |
| 1021 | // Ensures that a Git repository with a Dockerfile is cloned and built. |
| 1022 | srv := gittest.CreateGitServer(t, gittest.Options{ |
| 1023 | Files: map[string]string{ |
| 1024 | "Dockerfile": "FROM " + testImageAlpine, |
| 1025 | }, |
| 1026 | }) |
| 1027 | ctr, err := runEnvbuilder(t, runOpts{env: []string{ |
| 1028 | envbuilderEnv("GIT_URL", srv.URL), |
| 1029 | envbuilderEnv("DOCKERFILE_PATH", "Dockerfile"), |
| 1030 | envbuilderEnv("SKIP_REBUILD", "true"), |
| 1031 | }}) |
| 1032 | require.NoError(t, err) |
| 1033 | |
| 1034 | cli, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation()) |
| 1035 | require.NoError(t, err) |
| 1036 | defer cli.Close() |
| 1037 | |
| 1038 | ctx := context.Background() |
| 1039 | err = cli.ContainerStop(ctx, ctr, container.StopOptions{}) |
| 1040 | require.NoError(t, err) |
| 1041 | |
| 1042 | err = cli.ContainerStart(ctx, ctr, container.StartOptions{}) |
| 1043 | require.NoError(t, err) |
| 1044 | |
| 1045 | logChan, _ := streamContainerLogs(t, cli, ctr) |
| 1046 | for { |
| 1047 | log := <-logChan |
| 1048 | if strings.Contains(log, "Skipping build because of cache") { |
| 1049 | break |
| 1050 | } |
| 1051 | } |
| 1052 | } |
| 1053 | |
| 1054 | func TestCloneFailsFallback(t *testing.T) { |
| 1055 | t.Parallel() |
nothing calls this directly
no test coverage detected