|
5 | 5 | #
|
6 | 6 |
|
7 | 7 | load helpers
|
| 8 | +load helpers.network |
8 | 9 |
|
9 |
| -# bats test_tags=distro-integration |
10 | 10 | @test "podman build - basic test" {
|
11 | 11 | rand_filename=$(random_string 20)
|
12 | 12 | rand_content=$(random_string 50)
|
@@ -279,24 +279,44 @@ EOF
|
279 | 279 | tmpdir=$PODMAN_TMPDIR/build-test
|
280 | 280 | mkdir -p $tmpdir
|
281 | 281 |
|
| 282 | + # Create a test file with random content |
| 283 | + INDEX=$PODMAN_TMPDIR/index.txt |
| 284 | + local content="test-$(random_string)" |
| 285 | + echo "$content" > $INDEX |
| 286 | + echo READY > $PODMAN_TMPDIR/ready |
| 287 | + |
| 288 | + # Setup local webserver |
| 289 | + local host_port=$(random_free_port) |
| 290 | + local server=http://127.0.0.1:$host_port |
| 291 | + serverctr="c1-$(safename)" |
| 292 | + run_podman run -d --name $serverctr -p "$host_port:80" \ |
| 293 | + -v $INDEX:/var/www/index.txt:Z \ |
| 294 | + -v $PODMAN_TMPDIR/ready:/var/www/ready:Z \ |
| 295 | + -w /var/www \ |
| 296 | + $IMAGE /bin/busybox-extras httpd -f -p 80 |
| 297 | + |
| 298 | + wait_for_command_output "curl -s -S $server/ready" "READY" |
| 299 | + |
282 | 300 | cat >$tmpdir/Dockerfile <<EOF
|
283 | 301 | FROM $IMAGE
|
284 |
| -ADD https://github.com/containers/podman/blob/main/README.md /tmp/ |
| 302 | +ADD $server/index.txt /tmp/ |
285 | 303 | EOF
|
286 | 304 |
|
287 | 305 | imgname="b-$(safename)"
|
288 | 306 | run_podman build -t $imgname $tmpdir
|
289 |
| - run_podman run --rm $imgname stat /tmp/README.md |
| 307 | + run_podman run --rm $imgname cat /tmp/index.txt |
| 308 | + assert "$output" == "$content" "file has right content" |
290 | 309 | run_podman rmi -f $imgname
|
291 | 310 |
|
292 | 311 | # Now test COPY. That should fail.
|
293 | 312 | sed -i -e 's/ADD/COPY/' $tmpdir/Dockerfile
|
294 | 313 | run_podman 125 build -t $imgname $tmpdir
|
295 | 314 | is "$output" ".* building at STEP .*: source can't be a URL for COPY"
|
| 315 | + |
| 316 | + run_podman rm -f -t0 $serverctr |
296 | 317 | }
|
297 | 318 |
|
298 | 319 |
|
299 |
| -# bats test_tags=distro-integration |
300 | 320 | @test "podman build - workdir, cmd, env, label" {
|
301 | 321 | tmpdir=$PODMAN_TMPDIR/build-test
|
302 | 322 | mkdir -p $tmpdir
|
|
0 commit comments