(t *testing.T)
| 280 | } |
| 281 | |
| 282 | func TestUidGid(t *testing.T) { |
| 283 | t.Parallel() |
| 284 | t.Run("MultiStage", func(t *testing.T) { |
| 285 | t.Parallel() |
| 286 | |
| 287 | dockerFile := fmt.Sprintf(`FROM %s AS builder |
| 288 | RUN mkdir -p /myapp/somedir \ |
| 289 | && touch /myapp/somedir/somefile \ |
| 290 | && chown 123:123 /myapp/somedir \ |
| 291 | && chown 321:321 /myapp/somedir/somefile |
| 292 | |
| 293 | FROM %s |
| 294 | COPY --from=builder /myapp /myapp |
| 295 | RUN printf "%%s\n" \ |
| 296 | "0 0 /myapp/" \ |
| 297 | "123 123 /myapp/somedir" \ |
| 298 | "321 321 /myapp/somedir/somefile" \ |
| 299 | > /tmp/expected \ |
| 300 | && stat -c "%%u %%g %%n" \ |
| 301 | /myapp/ \ |
| 302 | /myapp/somedir \ |
| 303 | /myapp/somedir/somefile \ |
| 304 | > /tmp/got \ |
| 305 | && diff -u /tmp/got /tmp/expected`, testImageAlpine, testImageAlpine) |
| 306 | srv := gittest.CreateGitServer(t, gittest.Options{ |
| 307 | Files: map[string]string{ |
| 308 | "Dockerfile": dockerFile, |
| 309 | }, |
| 310 | }) |
| 311 | _, err := runEnvbuilder(t, runOpts{env: []string{ |
| 312 | envbuilderEnv("GIT_URL", srv.URL), |
| 313 | envbuilderEnv("DOCKERFILE_PATH", "Dockerfile"), |
| 314 | }}) |
| 315 | require.NoError(t, err) |
| 316 | }) |
| 317 | |
| 318 | t.Run("SingleStage", func(t *testing.T) { |
| 319 | t.Parallel() |
| 320 | |
| 321 | dockerFile := fmt.Sprintf(`FROM %s |
| 322 | RUN mkdir -p /myapp/somedir \ |
| 323 | && touch /myapp/somedir/somefile \ |
| 324 | && chown 123:123 /myapp/somedir \ |
| 325 | && chown 321:321 /myapp/somedir/somefile \ |
| 326 | && printf "%%s\n" \ |
| 327 | "0 0 /myapp/" \ |
| 328 | "123 123 /myapp/somedir" \ |
| 329 | "321 321 /myapp/somedir/somefile" \ |
| 330 | > /tmp/expected \ |
| 331 | && stat -c "%%u %%g %%n" \ |
| 332 | /myapp/ \ |
| 333 | /myapp/somedir \ |
| 334 | /myapp/somedir/somefile \ |
| 335 | > /tmp/got \ |
| 336 | && diff -u /tmp/got /tmp/expected`, testImageAlpine) |
| 337 | srv := gittest.CreateGitServer(t, gittest.Options{ |
| 338 | Files: map[string]string{ |
| 339 | "Dockerfile": dockerFile, |
nothing calls this directly
no test coverage detected