From 2cdf857aace56c5a50fa9fcdf7a3afa842396843 Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Thu, 1 Mar 2018 14:24:57 +0000 Subject: [PATCH 01/17] tests: Fix localhost network tests It was missing a --platform Signed-off-by: Rolf Neugebauer --- tests/cases/110_network/010_localhost/test.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 From e2c340aa5a5eb0f1d632e6cd06bfcebda5b3f30c Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Thu, 1 Mar 2018 15:47:26 +0000 Subject: [PATCH 02/17] tests: Add a build test for various COPY operations Signed-off-by: Rolf Neugebauer --- .../020_image/020_build/100_copy/Dockerfile | 38 ++++++++++++++++ .../020_image/020_build/100_copy/test.ps1 | 44 +++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 tests/cases/020_image/020_build/100_copy/Dockerfile create mode 100755 tests/cases/020_image/020_build/100_copy/test.ps1 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 From fc7f100fc08d772b9ee99cbce28a785c4cd82566 Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Thu, 1 Mar 2018 16:04:31 +0000 Subject: [PATCH 03/17] tests: Add test to pull from a different public registry (gcr.io) Signed-off-by: Rolf Neugebauer --- tests/cases/020_image/010_pull/030_pub-registry/test.ps1 | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100755 tests/cases/020_image/010_pull/030_pub-registry/test.ps1 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 From 130022c0b56e02a776e0da3b01a778c322cab05d Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Thu, 1 Mar 2018 16:15:13 +0000 Subject: [PATCH 04/17] tests: Better clean up for image build tests Signed-off-by: Rolf Neugebauer --- tests/cases/020_image/020_build/014_iid/test.ps1 | 13 +++++++++---- .../020_image/020_build/020_build_arg/test.ps1 | 10 ++++++---- .../020_image/020_build/022_from_scratch/test.ps1 | 8 +++++--- .../020_image/020_build/024_from_build_arg/test.ps1 | 8 +++++--- .../cases/020_image/020_build/026_workdir/test.ps1 | 8 +++++--- .../020_image/020_build/030_multistage/test.ps1 | 8 +++++--- .../020_build/032_multistage_scratch/test.ps1 | 8 +++++--- 7 files changed, 40 insertions(+), 23 deletions(-) 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..0debca1 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 @@ -9,6 +9,8 @@ Set-PSDebug -Trace 2 +$ret = 0 + $imageName = "build-multi-stage-scratch" docker build --platform linux -t $imageName . @@ -18,11 +20,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 From ec6cb1241f859079018f9445f6a9d989f8c8818a Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Thu, 1 Mar 2018 16:18:10 +0000 Subject: [PATCH 05/17] tests: Add another moby/moby issue to multistage build test Signed-off-by: Rolf Neugebauer --- tests/cases/020_image/020_build/032_multistage_scratch/test.ps1 | 1 + 1 file changed, 1 insertion(+) 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 0debca1..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,6 +4,7 @@ # 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 From 50416fd05d63a75693032f217b691a87f6a2e122 Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Thu, 1 Mar 2018 16:20:43 +0000 Subject: [PATCH 06/17] tests: Clean up error path in image save test Signed-off-by: Rolf Neugebauer --- tests/cases/020_image/030_save/test.ps1 | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) 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 From eab571d86e46d92b1dfadf9b3de067fda1620f2a Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Thu, 1 Mar 2018 16:56:17 +0000 Subject: [PATCH 07/17] tests: Simplify the cleanup for the volume tests Signed-off-by: Rolf Neugebauer --- tests/cases/100_volume/010_touch/test.ps1 | 15 +++++------ tests/cases/100_volume/015_echo/test.ps1 | 18 +++++++------ tests/cases/100_volume/020_mkdir/test.ps1 | 15 +++++------ .../cases/100_volume/022_mkdir_host/test.ps1 | 16 ++++++------ .../cases/100_volume/030_rmdir_host/test.ps1 | 13 +++++----- .../100_volume/035_rmdir_nonempty/test.ps1 | 16 ++++++------ .../100_volume/050_symlink_volume/test.ps1 | 25 +++++++------------ .../100_volume/055_hardlink_volume/test.ps1 | 24 ++++++------------ .../100_volume/060_mkfifo_volume/test.ps1 | 15 +++++------ .../100_volume/070_socket_volume/test.ps1 | 18 ++++++------- .../100_volume/100_chown_file_volume/test.ps1 | 15 +++++------ .../105_chown_symlink_volume/test.ps1 | 21 ++++++---------- .../110_chmod_file_mode_volume/test.ps1 | 15 +++++------ .../120_chmod_file_access_volume/test.ps1 | 15 +++++------ tests/cases/100_volume/150_utime/test.ps1 | 23 ++++++----------- 15 files changed, 112 insertions(+), 152 deletions(-) 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/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..b4cfb69 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 @@ -4,12 +4,12 @@ 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 +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/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 From bdd679037a3ff15e20aec8d20987eb6be1d4bd85 Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Thu, 1 Mar 2018 17:49:58 +0000 Subject: [PATCH 08/17] tests: Add ticket to volume chmod test for reference Signed-off-by: Rolf Neugebauer --- tests/cases/100_volume/110_chmod_file_mode_volume/test.ps1 | 2 ++ 1 file changed, 2 insertions(+) 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 b4cfb69..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,6 +1,8 @@ # 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 From 8105bf4b35a231d598f798be3645156dbdddd5ba Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Thu, 1 Mar 2018 18:02:56 +0000 Subject: [PATCH 09/17] tests: Volume mount test of a single file Signed-off-by: Rolf Neugebauer --- tests/cases/100_volume/090_file/test.ps1 | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 tests/cases/100_volume/090_file/test.ps1 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 From 495f2b5498aa6d627fafc375f0edf85062b655f3 Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Thu, 1 Mar 2018 18:30:49 +0000 Subject: [PATCH 10/17] tests: Add test of bind mounting the docker socket Signed-off-by: Rolf Neugebauer --- .../095_docker_socket/socket-test.sh | 7 ++++++ .../100_volume/095_docker_socket/test.ps1 | 24 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 tests/cases/100_volume/095_docker_socket/socket-test.sh create mode 100755 tests/cases/100_volume/095_docker_socket/test.ps1 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 From 4d8c4134ddd2ffbce1485397da18ec9d2521c607 Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Fri, 2 Mar 2018 13:18:23 +0000 Subject: [PATCH 11/17] tests: Verify docker run --read-only works Also remove the placeholder as we now have a run test Signed-off-by: Rolf Neugebauer --- .../030_container/030_run/050_read-only/test.ps1 | 11 +++++++++++ tests/cases/030_container/030_run/placeholder | 0 2 files changed, 11 insertions(+) create mode 100755 tests/cases/030_container/030_run/050_read-only/test.ps1 delete mode 100644 tests/cases/030_container/030_run/placeholder 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/placeholder b/tests/cases/030_container/030_run/placeholder deleted file mode 100644 index e69de29..0000000 From 46298e0a48a1377b3b1348a10667458f35be80e6 Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Fri, 2 Mar 2018 13:23:19 +0000 Subject: [PATCH 12/17] tests: Verify that docker container run --workdir works Signed-off-by: Rolf Neugebauer --- .../030_container/030_run/040_workdir/test.ps1 | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100755 tests/cases/030_container/030_run/040_workdir/test.ps1 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 From 1113d1a30a44ae243a54618e1941a587777e8b5c Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Fri, 2 Mar 2018 13:51:10 +0000 Subject: [PATCH 13/17] tests: Verify that docker container run --user works Signed-off-by: Rolf Neugebauer --- .../030_container/030_run/030_user/test.ps1 | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100755 tests/cases/030_container/030_run/030_user/test.ps1 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 From 1af1cdd864bfcd233f429182b4b686b94571e61a Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Fri, 2 Mar 2018 14:23:53 +0000 Subject: [PATCH 14/17] tests: Verify that docker container run --env works Signed-off-by: Rolf Neugebauer --- .../030_container/030_run/035_env/test.ps1 | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100755 tests/cases/030_container/030_run/035_env/test.ps1 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 From 639f8099ecba5d7468bd736e55a8d6345ecf31eb Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Fri, 2 Mar 2018 14:26:43 +0000 Subject: [PATCH 15/17] tests: Verify that docker container run --privileged works Signed-off-by: Rolf Neugebauer --- .../030_container/030_run/100_privileged/test.ps1 | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100755 tests/cases/030_container/030_run/100_privileged/test.ps1 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 From 1447251ecda91b416544368508502cee03ff0545 Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Fri, 2 Mar 2018 15:15:35 +0000 Subject: [PATCH 16/17] tests: Verify that docker container run --shm-size works Signed-off-by: Rolf Neugebauer --- .../030_container/030_run/150_shm-size/test.ps1 | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100755 tests/cases/030_container/030_run/150_shm-size/test.ps1 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 From 68bb8548326da366c2a1209e7c9897b3a210a4ca Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Fri, 2 Mar 2018 15:40:49 +0000 Subject: [PATCH 17/17] tests: Verify that docker container run --memory works Signed-off-by: Rolf Neugebauer --- .../030_container/030_run/200_memory/test.ps1 | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100755 tests/cases/030_container/030_run/200_memory/test.ps1 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