diff --git a/tests/cases/020_image/010_pull/030_pub-registry/test.ps1 b/tests/cases/020_image/010_pull/030_pub-registry/test.ps1 new file mode 100755 index 0000000..db37748 --- /dev/null +++ b/tests/cases/020_image/010_pull/030_pub-registry/test.ps1 @@ -0,0 +1,7 @@ +# SUMMARY: Pull an image from a different public registry (gcr.io) +# LABELS: +# REPEAT: + +docker pull --platform linux gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.7 +if ($lastexitcode -ne 0) { exit 1 } +exit 0 diff --git a/tests/cases/020_image/020_build/014_iid/test.ps1 b/tests/cases/020_image/020_build/014_iid/test.ps1 index f7c10ca..b676a2a 100755 --- a/tests/cases/020_image/020_build/014_iid/test.ps1 +++ b/tests/cases/020_image/020_build/014_iid/test.ps1 @@ -4,9 +4,13 @@ Set-PSDebug -Trace 2 +$ret = 0 + $imageName = "build-iid" $imageIIDFile = "build-iid.file" +Remove-Item -Path $imageIIDFile -Force -Recurse -ErrorAction Ignore + docker build --platform linux -t $imageName --iidfile $imageIIDFile . if ($lastexitcode -ne 0) { exit 1 @@ -20,12 +24,13 @@ $iid = Get-Content $imageIIDFile -Raw docker inspect $iid if ($lastexitcode -ne 0) { - exit 1 + $ret = 1 } docker rmi $iid if ($lastexitcode -ne 0) { - exit 1 + $ret = 1 } -Remove-Item -Path $imageIIDFile -Force -exit 0 + +Remove-Item -Path $imageIIDFile -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/020_image/020_build/020_build_arg/test.ps1 b/tests/cases/020_image/020_build/020_build_arg/test.ps1 index 850c20e..6d0e815 100755 --- a/tests/cases/020_image/020_build/020_build_arg/test.ps1 +++ b/tests/cases/020_image/020_build/020_build_arg/test.ps1 @@ -6,6 +6,8 @@ Set-PSDebug -Trace 2 +$ret = 0 + $imageName = "build-arg" $output = [string] (& docker build --platform linux -t $imageName --build-arg ARGUMENT=foobar . 2>&1) @@ -18,16 +20,16 @@ $output # Check that it echoed the right thing $tmp = $output | select-string "foobar" -SimpleMatch if ($tmp.length -eq 0) { - exit 1 + $ret = 1 } docker inspect $imageName if ($lastexitcode -ne 0) { - exit 1 + $ret = 1 } docker rmi $imageName if ($lastexitcode -ne 0) { - exit 1 + $ret = 1 } -exit 0 +exit $ret diff --git a/tests/cases/020_image/020_build/022_from_scratch/test.ps1 b/tests/cases/020_image/020_build/022_from_scratch/test.ps1 index e9c6e3f..8f2959a 100755 --- a/tests/cases/020_image/020_build/022_from_scratch/test.ps1 +++ b/tests/cases/020_image/020_build/022_from_scratch/test.ps1 @@ -7,6 +7,8 @@ Set-PSDebug -Trace 2 +$ret = 0 + $imageName = "build-from-scratch" docker build --platform linux -t $imageName . @@ -16,11 +18,11 @@ if ($lastexitcode -ne 0) { docker inspect $imageName if ($lastexitcode -ne 0) { - exit 1 + $ret = 1 } docker rmi $imageName if ($lastexitcode -ne 0) { - exit 1 + $ret = 1 } -exit 0 +exit $ret diff --git a/tests/cases/020_image/020_build/024_from_build_arg/test.ps1 b/tests/cases/020_image/020_build/024_from_build_arg/test.ps1 index 2206d86..1fdf52f 100755 --- a/tests/cases/020_image/020_build/024_from_build_arg/test.ps1 +++ b/tests/cases/020_image/020_build/024_from_build_arg/test.ps1 @@ -6,6 +6,8 @@ Set-PSDebug -Trace 2 +$ret = 0 + $imageName = "build-from-build-arg" docker build --platform linux -t $imageName --build-arg IMAGE=alpine:3.7 . @@ -15,11 +17,11 @@ if ($lastexitcode -ne 0) { docker inspect $imageName if ($lastexitcode -ne 0) { - exit 1 + $ret = 1 } docker rmi $imageName if ($lastexitcode -ne 0) { - exit 1 + $ret = 1 } -exit 0 +exit $ret diff --git a/tests/cases/020_image/020_build/026_workdir/test.ps1 b/tests/cases/020_image/020_build/026_workdir/test.ps1 index ca3de54..1fbb367 100755 --- a/tests/cases/020_image/020_build/026_workdir/test.ps1 +++ b/tests/cases/020_image/020_build/026_workdir/test.ps1 @@ -6,6 +6,8 @@ Set-PSDebug -Trace 2 +$ret = 0 + $imageName = "build-workdir" docker build --platform linux -t $imageName . @@ -15,11 +17,11 @@ if ($lastexitcode -ne 0) { docker inspect $imageName if ($lastexitcode -ne 0) { - exit 1 + $ret = 1 } docker rmi $imageName if ($lastexitcode -ne 0) { - exit 1 + $ret = 1 } -exit 0 +exit $ret diff --git a/tests/cases/020_image/020_build/030_multistage/test.ps1 b/tests/cases/020_image/020_build/030_multistage/test.ps1 index 45ff8cb..38068aa 100755 --- a/tests/cases/020_image/020_build/030_multistage/test.ps1 +++ b/tests/cases/020_image/020_build/030_multistage/test.ps1 @@ -6,6 +6,8 @@ Set-PSDebug -Trace 2 +$ret = 0 + $imageName = "build-multi-stage" docker build --platform linux -t $imageName . @@ -15,11 +17,11 @@ if ($lastexitcode -ne 0) { docker inspect $imageName if ($lastexitcode -ne 0) { - exit 1 + $ret = 1 } docker rmi $imageName if ($lastexitcode -ne 0) { - exit 1 + $ret = 1 } -exit 0 +exit $ret diff --git a/tests/cases/020_image/020_build/032_multistage_scratch/test.ps1 b/tests/cases/020_image/020_build/032_multistage_scratch/test.ps1 index 4a6aa12..2679fc4 100755 --- a/tests/cases/020_image/020_build/032_multistage_scratch/test.ps1 +++ b/tests/cases/020_image/020_build/032_multistage_scratch/test.ps1 @@ -4,11 +4,14 @@ # See: # https://github.com/Microsoft/opengcs/issues/169 # https://github.com/moby/moby/issues/35413 +# https://github.com/moby/moby/issues/36115 # https://github.com/Microsoft/opengcs/issues/156 Set-PSDebug -Trace 2 +$ret = 0 + $imageName = "build-multi-stage-scratch" docker build --platform linux -t $imageName . @@ -18,11 +21,11 @@ if ($lastexitcode -ne 0) { docker inspect $imageName if ($lastexitcode -ne 0) { - exit 1 + $ret = 1 } docker rmi $imageName if ($lastexitcode -ne 0) { - exit 1 + $ret = 1 } -exit 0 +exit $ret diff --git a/tests/cases/020_image/020_build/100_copy/Dockerfile b/tests/cases/020_image/020_build/100_copy/Dockerfile new file mode 100644 index 0000000..1a93e07 --- /dev/null +++ b/tests/cases/020_image/020_build/100_copy/Dockerfile @@ -0,0 +1,38 @@ +FROM alpine:3.7 + +# Copy a file +COPY /Dockerfile . +COPY /test.ps1 / + +# Copy a file to non-existing destination and directory +COPY /Dockerfile /bar/Dockerfile +COPY /Dockerfile /foo/bar/baz/ +COPY Dockerfile test.ps1 /baz/ + +# Copy a directory to root or another directory +COPY folder1 / +COPY folder1 /dest1 + +# Copy a nested directory +COPY folder2 / +COPY folder2 /dest2/ + +# Relative to WORKDIR +WORKDIR /work +COPY Dockerfile . + +# verify. These are separate RUN commands to make it easier to debug +RUN test -f /Dockerfile +RUN test -f /test.ps1 + +RUN test -f /bar/Dockerfile +RUN test -f /foo/bar/baz/Dockerfile +RUN test -f /baz/Dockerfile && test -f /baz/test.ps1 + +RUN test -f /Dockerfile +RUN test -f /dest1/Dockerfile + +RUN test -f /folder3/test.ps1 && test -f /folder3/Dockerfile +RUN test -f /dest2/folder3/test.ps1 && test -f /dest2/folder3/Dockerfile + +RUN test -f /work/Dockerfile diff --git a/tests/cases/020_image/020_build/100_copy/test.ps1 b/tests/cases/020_image/020_build/100_copy/test.ps1 new file mode 100755 index 0000000..cd1ca83 --- /dev/null +++ b/tests/cases/020_image/020_build/100_copy/test.ps1 @@ -0,0 +1,44 @@ +# SUMMARY: Test COPY variations +# LABELS: +# REPEAT: +# See: +# https://github.com/moby/moby/issues/36353 + +Set-PSDebug -Trace 2 + +$ret = 0 + +$imageName = "build-copy" +$testDir1 = "folder1" +$testDir2 = "folder2" +$testDir3 = "folder3" + +Remove-Item -Path $testDir1 -Force -Recurse -ErrorAction Ignore +Remove-Item -Path $testDir2 -Force -Recurse -ErrorAction Ignore +New-Item -ItemType Directory -Force -Path $testDir1 +New-Item -ItemType Directory -Force -Path $testDir2\$testDir3 +Copy-Item Dockerfile $testDir1 +Copy-Item test.ps1 $testDir2\$testDir3\ +Copy-Item Dockerfile $testDir2\$testDir3\ +# After this we should have +# - Dockerfile +# - test.ps1 +# - folder1 +# - Dockerfile +# - folder2 +# - folder3 +# - test.ps1 +# - Dockerfile + +docker build --platform linux -t $imageName . +if ($lastexitcode -ne 0) { + $ret = 1 +} +docker rmi $imageName +if ($lastexitcode -ne 0) { + $ret = 1 +} + +Remove-Item -Path $testDir1 -Force -Recurse -ErrorAction Ignore +Remove-Item -Path $testDir2 -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/020_image/030_save/test.ps1 b/tests/cases/020_image/030_save/test.ps1 index 25f8631..addf5a7 100755 --- a/tests/cases/020_image/030_save/test.ps1 +++ b/tests/cases/020_image/030_save/test.ps1 @@ -4,6 +4,8 @@ Set-PSDebug -Trace 2 +$ret = 0 + $fileName = "hello-world.tar" docker pull --platform linux hello-world @@ -13,11 +15,11 @@ if ($lastexitcode -ne 0) { docker image save -o $fileName hello-world if ($lastexitcode -ne 0) { - exit 1 + $ret = 1 } -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force - exit 0 +if (!(Test-Path $fileName)) { + $ret = 1 } -exit 1 +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/030_container/030_run/030_user/test.ps1 b/tests/cases/030_container/030_run/030_user/test.ps1 new file mode 100755 index 0000000..ebd2f3f --- /dev/null +++ b/tests/cases/030_container/030_run/030_user/test.ps1 @@ -0,0 +1,18 @@ +# SUMMARY: Verify that docker container run --user works +# LABELS: +# REPEAT: + +Set-PSDebug -Trace 2 + +$output = [string] (& docker container run --platform linux --rm --user postgres alpine:3.7 id 2>&1) +if ($lastexitcode -ne 0) { + $output + exit 1 +} +$output + +$tmp = $output | select-string "(postgres)" -SimpleMatch +if ($tmp.length -eq 0) { + exit 1 +} +exit 0 diff --git a/tests/cases/030_container/030_run/035_env/test.ps1 b/tests/cases/030_container/030_run/035_env/test.ps1 new file mode 100755 index 0000000..51421c6 --- /dev/null +++ b/tests/cases/030_container/030_run/035_env/test.ps1 @@ -0,0 +1,18 @@ +# SUMMARY: Verify that docker container run --env works +# LABELS: +# REPEAT: + +Set-PSDebug -Trace 2 + +$output = [string] (& docker container run --platform linux --rm --env FOOBAR=foobar alpine:3.7 env 2>&1) +if ($lastexitcode -ne 0) { + $output + exit 1 +} +$output + +$tmp = $output | select-string "FOOBAR=foobar" -SimpleMatch +if ($tmp.length -eq 0) { + exit 1 +} +exit 0 diff --git a/tests/cases/030_container/030_run/040_workdir/test.ps1 b/tests/cases/030_container/030_run/040_workdir/test.ps1 new file mode 100755 index 0000000..0b0bd2e --- /dev/null +++ b/tests/cases/030_container/030_run/040_workdir/test.ps1 @@ -0,0 +1,18 @@ +# SUMMARY: Verify that docker container run --workdir works +# LABELS: +# REPEAT: + +Set-PSDebug -Trace 2 + +$output = [string] (& docker container run --platform linux --rm --workdir /foobar alpine:3.7 pwd 2>&1) +if ($lastexitcode -ne 0) { + $output + exit 1 +} +$output + +$tmp = $output | select-string "/foobar" -SimpleMatch +if ($tmp.length -eq 0) { + exit 1 +} +exit 0 diff --git a/tests/cases/030_container/030_run/050_read-only/test.ps1 b/tests/cases/030_container/030_run/050_read-only/test.ps1 new file mode 100755 index 0000000..5873531 --- /dev/null +++ b/tests/cases/030_container/030_run/050_read-only/test.ps1 @@ -0,0 +1,11 @@ +# SUMMARY: Verify docker run --read-only works +# LABELS: +# REPEAT: + +Set-PSDebug -Trace 2 + +docker container run --platform linux --rm --read-only alpine:3.7 touch /foobar +if ($lastexitcode -eq 0) { + exit 1 +} +exit 0 diff --git a/tests/cases/030_container/030_run/100_privileged/test.ps1 b/tests/cases/030_container/030_run/100_privileged/test.ps1 new file mode 100755 index 0000000..6d419e7 --- /dev/null +++ b/tests/cases/030_container/030_run/100_privileged/test.ps1 @@ -0,0 +1,13 @@ +# SUMMARY: Verify that docker container run --privileged works +# LABELS: +# REPEAT: + +Set-PSDebug -Trace 2 + +$output = [string] (& docker container run --platform linux --rm --privileged alpine:3.7 id 2>&1) +if ($lastexitcode -ne 0) { + $output + exit 1 +} +$output +exit 0 diff --git a/tests/cases/030_container/030_run/150_shm-size/test.ps1 b/tests/cases/030_container/030_run/150_shm-size/test.ps1 new file mode 100755 index 0000000..01a38fc --- /dev/null +++ b/tests/cases/030_container/030_run/150_shm-size/test.ps1 @@ -0,0 +1,17 @@ +# SUMMARY: Verify that docker container run --shm-size works +# LABELS: +# REPEAT: + +Set-PSDebug -Trace 2 + +$output = [string] (& docker container run --platform linux --rm --shm-size 4096 alpine:3.7 sh -c "mount | grep shm" 2>&1) +if ($lastexitcode -ne 0) { + $output + exit 1 +} +$output + +if (!($output -match "size=4k")) { + exit 1 +} +exit 0 diff --git a/tests/cases/030_container/030_run/200_memory/test.ps1 b/tests/cases/030_container/030_run/200_memory/test.ps1 new file mode 100755 index 0000000..5fe8196 --- /dev/null +++ b/tests/cases/030_container/030_run/200_memory/test.ps1 @@ -0,0 +1,17 @@ +# SUMMARY: Verify that docker container run --memory works +# LABELS: +# REPEAT: + +Set-PSDebug -Trace 2 + +$output = [string] (& docker container run --platform linux --rm --memory 104857600 alpine:3.7 cat /sys/fs/cgroup/memory/memory.limit_in_bytes 2>&1) +if ($lastexitcode -ne 0) { + $output + exit 1 +} +$output + +if (!($output -match "104857600")) { + exit 1 +} +exit 0 diff --git a/tests/cases/030_container/030_run/placeholder b/tests/cases/030_container/030_run/placeholder deleted file mode 100644 index e69de29..0000000 diff --git a/tests/cases/100_volume/010_touch/test.ps1 b/tests/cases/100_volume/010_touch/test.ps1 index 2e7fe0d..2da754e 100755 --- a/tests/cases/100_volume/010_touch/test.ps1 +++ b/tests/cases/100_volume/010_touch/test.ps1 @@ -4,11 +4,11 @@ Set-PSDebug -Trace 2 +$ret = 0 + $fileName = "foobar" -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force -} +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore $p = [string]$pwd.Path docker run --platform linux --rm -v $p`:/test alpine:3.7 sh -c "touch /test/$fileName" @@ -16,8 +16,9 @@ if ($lastexitcode -ne 0) { exit 1 } -if (Test-Path $fileName -PathType leaf) { - Remove-Item -Path $fileName -Force - exit 0 +if (!(Test-Path $fileName -PathType leaf)) { + $ret = 1 } -exit 1 + +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/100_volume/015_echo/test.ps1 b/tests/cases/100_volume/015_echo/test.ps1 index 9f6a0f7..5ccbfca 100755 --- a/tests/cases/100_volume/015_echo/test.ps1 +++ b/tests/cases/100_volume/015_echo/test.ps1 @@ -4,11 +4,11 @@ Set-PSDebug -Trace 2 +$ret = 0 + $fileName = "foobar" -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force -} +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore $p = [string]$pwd.Path docker run --platform linux --rm -v $p`:/test alpine:3.7 sh -c "echo -n $fileName > /test/$fileName" @@ -16,13 +16,15 @@ if ($lastexitcode -ne 0) { exit 1 } -if (Test-Path $fileName -PathType leaf) { +if (!(Test-Path $fileName -PathType leaf)) { + $ret = 1 +} else { $content = Get-Content $fileName -Raw - Remove-Item -Path $fileName -Force if ($content -ne $fileName) { $content - exit 1 + $ret = 1 } - exit 0 } -exit 1 + +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/100_volume/020_mkdir/test.ps1 b/tests/cases/100_volume/020_mkdir/test.ps1 index 7a20e8a..00f073b 100755 --- a/tests/cases/100_volume/020_mkdir/test.ps1 +++ b/tests/cases/100_volume/020_mkdir/test.ps1 @@ -4,11 +4,11 @@ Set-PSDebug -Trace 2 +$ret = 0 + $fileName = "foobar" -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force -} +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore $p = [string]$pwd.Path docker run --platform linux --rm -v $p`:/test alpine:3.7 sh -c "mkdir /test/$fileName" @@ -16,8 +16,9 @@ if ($lastexitcode -ne 0) { exit 1 } -if (Test-Path $fileName -PathType container) { - Remove-Item -Path $fileName -Force - exit 0 +if (!(Test-Path $fileName -PathType container)) { + $ret = 1 } -exit 1 + +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/100_volume/022_mkdir_host/test.ps1 b/tests/cases/100_volume/022_mkdir_host/test.ps1 index fe622a0..3fa7c15 100755 --- a/tests/cases/100_volume/022_mkdir_host/test.ps1 +++ b/tests/cases/100_volume/022_mkdir_host/test.ps1 @@ -4,13 +4,12 @@ Set-PSDebug -Trace 2 +$ret = 0 + $baseName = "foobar" $fileName = "baz" -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force -Recurse -} - +Remove-Item -Path $baseName -Force -Recurse -ErrorAction Ignore New-Item -ItemType directory $baseName $p = [string]$pwd.Path @@ -19,8 +18,9 @@ if ($lastexitcode -ne 0) { exit 1 } -if (Test-Path $baseName\$fileName -PathType container) { - Remove-Item -Path $baseName -Force -Recurse - exit 0 +if (!(Test-Path $baseName\$fileName -PathType container)) { + $ret = 1 } -exit 1 + +Remove-Item -Path $baseName -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/100_volume/030_rmdir_host/test.ps1 b/tests/cases/100_volume/030_rmdir_host/test.ps1 index 403ba5b..fb8c099 100755 --- a/tests/cases/100_volume/030_rmdir_host/test.ps1 +++ b/tests/cases/100_volume/030_rmdir_host/test.ps1 @@ -4,12 +4,11 @@ Set-PSDebug -Trace 2 -$dirName = "foobar" +$ret = 0 -if (Test-Path $dirName) { - Remove-Item -Path $dirName -Force -Recurse -} +$dirName = "foobar" +Remove-Item -Path $dirName -Force -Recurse -ErrorAction Ignore New-Item -ItemType directory $dirName $p = [string]$pwd.Path @@ -19,7 +18,7 @@ if ($lastexitcode -ne 0) { } if (Test-Path $dirName) { - Remove-Item -Path $baseName -Force -Recurse - exit 1 + $ret = 1 } -exit 0 +Remove-Item -Path $dirName -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/100_volume/035_rmdir_nonempty/test.ps1 b/tests/cases/100_volume/035_rmdir_nonempty/test.ps1 index 5252042..a568083 100755 --- a/tests/cases/100_volume/035_rmdir_nonempty/test.ps1 +++ b/tests/cases/100_volume/035_rmdir_nonempty/test.ps1 @@ -4,9 +4,13 @@ Set-PSDebug -Trace 2 +$ret = 0 + $imageName = "rmdir-nonempty" $fileName = "output" +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore + docker build --platform linux -t $imageName . if ($lastexitcode -ne 0) { exit 1 @@ -15,12 +19,8 @@ if ($lastexitcode -ne 0) { $p = [string]$pwd.Path docker run --rm -v $p`:/test $imageName /rmdir_test.sh /test if ($lastexitcode -ne 0) { - if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force - } - exit 1 + $ret = 1 } -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force -} -exit 0 + +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/100_volume/050_symlink_volume/test.ps1 b/tests/cases/100_volume/050_symlink_volume/test.ps1 index d4922f5..b064443 100755 --- a/tests/cases/100_volume/050_symlink_volume/test.ps1 +++ b/tests/cases/100_volume/050_symlink_volume/test.ps1 @@ -4,16 +4,14 @@ Set-PSDebug -Trace 2 +$ret = 0 + $imageName = "symlink-container" $fileName = "foobar" $linkName = "barfoo" -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force -} -if (Test-Path $linkName) { - Remove-Item -Path $linkName -Force -} +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +Remove-Item -Path $linkName -Force -Recurse -ErrorAction Ignore docker build --platform linux -t $imageName . if ($lastexitcode -ne 0) { @@ -22,16 +20,11 @@ if ($lastexitcode -ne 0) { $p = [string]$pwd.Path docker run --rm -v $p`:/test $imageName /symlink_test.sh /test/$fileName /test/$linkName + if ($lastexitcode -ne 0) { - if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force - } - if (Test-Path $linkName) { - Remove-Item -Path $linkName -Force - } - exit 1 + $ret = 1 } -Remove-Item -Path $fileName -Force -Remove-Item -Path $linkName -Force -exit 0 +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +Remove-Item -Path $linkName -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/100_volume/055_hardlink_volume/test.ps1 b/tests/cases/100_volume/055_hardlink_volume/test.ps1 index 926ccff..302e9ef 100755 --- a/tests/cases/100_volume/055_hardlink_volume/test.ps1 +++ b/tests/cases/100_volume/055_hardlink_volume/test.ps1 @@ -4,16 +4,14 @@ Set-PSDebug -Trace 2 +$ret = 0 + $imageName = "hardlink-container" $fileName = "foobar" $linkName = "barfoo" -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force -} -if (Test-Path $linkName) { - Remove-Item -Path $linkName -Force -} +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +Remove-Item -Path $linkName -Force -Recurse -ErrorAction Ignore docker build --platform linux -t $imageName . if ($lastexitcode -ne 0) { @@ -23,15 +21,9 @@ if ($lastexitcode -ne 0) { $p = [string]$pwd.Path docker run --rm -v $p`:/test $imageName /hardlink_test.sh /test/$fileName /test/$linkName if ($lastexitcode -ne 0) { - if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force - } - if (Test-Path $linkName) { - Remove-Item -Path $linkName -Force - } - exit 1 + $ret = 1 } -Remove-Item -Path $fileName -Force -Remove-Item -Path $linkName -Force -exit 0 +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +Remove-Item -Path $linkName -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/100_volume/060_mkfifo_volume/test.ps1 b/tests/cases/100_volume/060_mkfifo_volume/test.ps1 index 56040c6..a8e71ee 100755 --- a/tests/cases/100_volume/060_mkfifo_volume/test.ps1 +++ b/tests/cases/100_volume/060_mkfifo_volume/test.ps1 @@ -4,12 +4,12 @@ Set-PSDebug -Trace 2 +$ret = 0 + $imageName = "mkfifo-container" $fileName = "foobar" -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force -} +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore docker build --platform linux -t $imageName . if ($lastexitcode -ne 0) { @@ -19,11 +19,8 @@ if ($lastexitcode -ne 0) { $p = [string]$pwd.Path docker run --rm -v $p`:/test $imageName /mkfifo_test.sh /test/$fileName if ($lastexitcode -ne 0) { - if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force - } - exit 1 + $ret = 1 } -Remove-Item -Path $fileName -Force -exit 0 +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/100_volume/070_socket_volume/test.ps1 b/tests/cases/100_volume/070_socket_volume/test.ps1 index 829e2b9..5607814 100755 --- a/tests/cases/100_volume/070_socket_volume/test.ps1 +++ b/tests/cases/100_volume/070_socket_volume/test.ps1 @@ -4,12 +4,12 @@ Set-PSDebug -Trace 2 +$ret = 0 + $imageName = "socket-container" $fileName = "foobar" -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force -} +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore docker build --platform linux -t $imageName . if ($lastexitcode -ne 0) { @@ -18,14 +18,10 @@ if ($lastexitcode -ne 0) { $p = [string]$pwd.Path docker run --rm -v $p`:/test $imageName /socket_test.sh /test/$fileName + if ($lastexitcode -ne 0) { - if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force - } - exit 1 + $ret = 1 } -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force -} -exit 0 +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/100_volume/090_file/test.ps1 b/tests/cases/100_volume/090_file/test.ps1 new file mode 100755 index 0000000..0094ade --- /dev/null +++ b/tests/cases/100_volume/090_file/test.ps1 @@ -0,0 +1,23 @@ +# SUMMARY: Volume mount a single file into container +# LABELS: +# REPEAT: +# See: +# https://github.com/moby/moby/issues/35425 +# https://github.com/docker/for-win/issues/1360 + +Set-PSDebug -Trace 2 + +$fileName = "foobar" + +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +Get-Date | Set-Content $fileName + +$p = [string]$pwd.Path +$p = Join-Path -Path $p -ChildPath $fileName +docker run --platform linux --rm -v $p`:/test alpine:3.7 sh -c "cat test" +if ($lastexitcode -ne 0) { + exit 1 +} + +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +exit 0 diff --git a/tests/cases/100_volume/095_docker_socket/socket-test.sh b/tests/cases/100_volume/095_docker_socket/socket-test.sh new file mode 100644 index 0000000..acd56d7 --- /dev/null +++ b/tests/cases/100_volume/095_docker_socket/socket-test.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +set -e +set -x + +apk add --no-cache curl +curl -XGET --unix-socket /var/run/docker.sock http://localhost/images/json diff --git a/tests/cases/100_volume/095_docker_socket/test.ps1 b/tests/cases/100_volume/095_docker_socket/test.ps1 new file mode 100755 index 0000000..ae4dd05 --- /dev/null +++ b/tests/cases/100_volume/095_docker_socket/test.ps1 @@ -0,0 +1,24 @@ +# SUMMARY: Volume mount a single file into container +# LABELS: +# REPEAT: +# See: +# https://github.com/moby/moby/issues/35425 + +Set-PSDebug -Trace 2 + +$fileName = "foobar" + +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +Get-Date | Set-Content $fileName + +$p = [string]$pwd.Path +docker run --platform linux --rm ` + -v /var/run/docker.sock:/var/run/docker.sock ` + -v $p`:/test ` + alpine:3.7 sh /test/socket-test.sh +if ($lastexitcode -ne 0) { + exit 1 +} + +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +exit 0 diff --git a/tests/cases/100_volume/100_chown_file_volume/test.ps1 b/tests/cases/100_volume/100_chown_file_volume/test.ps1 index a0f3ad9..99f8147 100644 --- a/tests/cases/100_volume/100_chown_file_volume/test.ps1 +++ b/tests/cases/100_volume/100_chown_file_volume/test.ps1 @@ -4,12 +4,12 @@ Set-PSDebug -Trace 2 +$ret = 0 + $imageName = "chown-container" $fileName = "foobar" -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force -} +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore docker build --platform linux -t $imageName . if ($lastexitcode -ne 0) { @@ -19,11 +19,8 @@ if ($lastexitcode -ne 0) { $p = [string]$pwd.Path docker run --rm -v $p`:/test $imageName /chown_test.sh /test/$fileName if ($lastexitcode -ne 0) { - if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force - } - exit 1 + $ret = 1 } -Remove-Item -Path $fileName -Force -exit 0 +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/100_volume/105_chown_symlink_volume/test.ps1 b/tests/cases/100_volume/105_chown_symlink_volume/test.ps1 index a7ff30e..64c1d97 100644 --- a/tests/cases/100_volume/105_chown_symlink_volume/test.ps1 +++ b/tests/cases/100_volume/105_chown_symlink_volume/test.ps1 @@ -4,13 +4,14 @@ Set-PSDebug -Trace 2 +$ret = 0 + $imageName = "chown-symlink-container" $fileName = "foobar" $linkName = "barfoo" -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force -} +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +Remove-Item -Path $linkName -Force -Recurse -ErrorAction Ignore docker build --platform linux -t $imageName . if ($lastexitcode -ne 0) { @@ -20,15 +21,9 @@ if ($lastexitcode -ne 0) { $p = [string]$pwd.Path docker run --rm -v $p`:/test $imageName /chown_test.sh /test/$fileName /test/$linkName if ($lastexitcode -ne 0) { - if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force - } - if (Test-Path $linkName) { - Remove-Item -Path $linkName -Force - } - exit 1 + $ret = 1 } -Remove-Item -Path $fileName -Force -Remove-Item -Path $linkName -Force -exit 0 +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +Remove-Item -Path $linkName -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/100_volume/110_chmod_file_mode_volume/test.ps1 b/tests/cases/100_volume/110_chmod_file_mode_volume/test.ps1 index 45de452..fdcc2d6 100644 --- a/tests/cases/100_volume/110_chmod_file_mode_volume/test.ps1 +++ b/tests/cases/100_volume/110_chmod_file_mode_volume/test.ps1 @@ -1,15 +1,17 @@ # SUMMARY: Check changes to a file mode (chmod) on a volume mount in a container # LABELS: # REPEAT: +# See: +# https://github.com/moby/moby/issues/35665 Set-PSDebug -Trace 2 +$ret = 0 + $imageName = "chmod-container" $fileName = "foobar" -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force -} +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore docker build --platform linux -t $imageName . if ($lastexitcode -ne 0) { @@ -19,11 +21,8 @@ if ($lastexitcode -ne 0) { $p = [string]$pwd.Path docker run --rm -v $p`:/test $imageName /chmod_test.sh /test/$fileName if ($lastexitcode -ne 0) { - if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force - } - exit 1 + $ret = 1 } -Remove-Item -Path $fileName -Force -exit 0 +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/100_volume/120_chmod_file_access_volume/test.ps1 b/tests/cases/100_volume/120_chmod_file_access_volume/test.ps1 index 881e8ba..fda9113 100644 --- a/tests/cases/100_volume/120_chmod_file_access_volume/test.ps1 +++ b/tests/cases/100_volume/120_chmod_file_access_volume/test.ps1 @@ -4,12 +4,12 @@ Set-PSDebug -Trace 2 +$ret = 0 + $imageName = "chmod-access-container" $fileName = "foobar" -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force -} +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore docker build --platform linux -t $imageName . if ($lastexitcode -ne 0) { @@ -19,11 +19,8 @@ if ($lastexitcode -ne 0) { $p = [string]$pwd.Path docker run --rm -v $p`:/test $imageName /chmod_test.sh /test/$fileName if ($lastexitcode -ne 0) { - if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force - } - exit 1 + $ret = 1 } -Remove-Item -Path $fileName -Force -exit 0 +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/100_volume/150_utime/test.ps1 b/tests/cases/100_volume/150_utime/test.ps1 index 9dde840..35dfa0c 100644 --- a/tests/cases/100_volume/150_utime/test.ps1 +++ b/tests/cases/100_volume/150_utime/test.ps1 @@ -4,11 +4,11 @@ Set-PSDebug -Trace 2 +$ret = 0 + $fileName = "foobar" -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force -} +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore # # Create a file in a container and check on the host @@ -20,12 +20,11 @@ docker run --rm -v $p`:/test -e TZ=UTC alpine touch -t 197002010000.00 /test/$f $expected = Get-Date -Date "1970-02-01 00:00:00Z" $result = [datetime](Get-ItemProperty -Path $fileName -Name LastWriteTime).lastwritetime if ($expected -ne $result) { + Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore exit 1 } -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force -} +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore # # Create a file on the host and check in a container @@ -36,13 +35,7 @@ Set-ItemProperty -Path $fileName -Name LastWriteTime -Value $ts # XXX This relies on the numeric time stamp being 0 docker run --rm -v $p`:/test -e TZ=UTC alpine sh /test/check_time.sh /test/$fileName if ($lastexitcode -ne 0) { - if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force - } - exit 1 -} - -if (Test-Path $fileName) { - Remove-Item -Path $fileName -Force + $ret = 1 } -exit 0 +Remove-Item -Path $fileName -Force -Recurse -ErrorAction Ignore +exit $ret diff --git a/tests/cases/110_network/010_localhost/test.ps1 b/tests/cases/110_network/010_localhost/test.ps1 index 66fea49..44fb814 100755 --- a/tests/cases/110_network/010_localhost/test.ps1 +++ b/tests/cases/110_network/010_localhost/test.ps1 @@ -6,7 +6,7 @@ Set-PSDebug -Trace 2 $ret = 0 -$containerID = (& docker run -d --rm -p 8080:80 nginx) +$containerID = (& docker run --platform linux -d --rm -p 8080:80 nginx) if ($lastexitcode -ne 0) { exit 1 } @@ -31,4 +31,4 @@ if ($tmp.length -eq 0) { } docker kill $containerID -exit $ret \ No newline at end of file +exit $ret