diff --git a/debian/gitlab-ci.yml b/debian/gitlab-ci.yml
index eba6f0e0e3da93e514a581a68c4c2681b1c5cc21..918b7378afe6e9afd7c43b5957bac8fdaba00c6d 100644
--- a/debian/gitlab-ci.yml
+++ b/debian/gitlab-ci.yml
@@ -321,36 +321,6 @@ relocatable-install:production:
             - _build/production/pressure-vessel-bin+src.tar.gz
         when: on_success
 
-.prepare_test: &prepare_test
-    - |
-        set -eux
-
-        PRESSURE_VESSEL=_build/production/pressure-vessel-bin.tar.gz
-        mkdir -p _build/depot-template/common
-
-        if [ -n "${IMAGES_DOWNLOAD_URL}" ] && [ -n "${IMAGES_DOWNLOAD_CREDENTIAL}" ]; then
-            python3 ./pressure-vessel/populate-depot.py \
-            --depot=_build/depot \
-            --source-dir=_build/depot-template \
-            --include-sdk \
-            --unpack-runtimes \
-            --credential-env IMAGES_DOWNLOAD_CREDENTIAL \
-            --images-uri "${IMAGES_DOWNLOAD_URL}"/steamrt-SUITE/snapshots \
-            --pressure-vessel "${PRESSURE_VESSEL}" \
-            scout \
-            soldier \
-            ${NULL+}
-        else
-            python3 ./pressure-vessel/populate-depot.py \
-            --depot=_build/depot \
-            --source-dir=_build/depot-template \
-            --unpack-runtimes \
-            --pressure-vessel "${PRESSURE_VESSEL}" \
-            --version latest-steam-client-public-beta \
-            scout \
-            ${NULL+}
-        fi
-
 .i386_dependencies: &i386_dependencies
     - |
         set -eux
@@ -384,7 +354,7 @@ test:debian-10:
     extends: .test_template
     image: debian:buster-slim
     script:
-        - *prepare_test
+        - ./tests/pressure-vessel/prepare-test-depots.sh
         - *i386_dependencies
         - |
             set -eux
@@ -397,7 +367,7 @@ test:ubuntu-18.04:
     extends: .test_template
     image: ubuntu:18.04
     script:
-        - *prepare_test
+        - ./tests/pressure-vessel/prepare-test-depots.sh
         - *i386_dependencies
         - |
             set -eux
@@ -410,7 +380,7 @@ test:ubuntu-20.04:
     extends: .test_template
     image: ubuntu:20.04
     script:
-        - *prepare_test
+        - ./tests/pressure-vessel/prepare-test-depots.sh
         - *i386_dependencies
         - |
             set -eux
@@ -448,7 +418,7 @@ test:archlinux:
             export PYTHONPATH="$tempdir/python-debian/lib"
 
     script:
-        - *prepare_test
+        - ./tests/pressure-vessel/prepare-test-depots.sh
         - |
             set -eux
 
diff --git a/tests/pressure-vessel/prepare-test-depots.sh b/tests/pressure-vessel/prepare-test-depots.sh
new file mode 100755
index 0000000000000000000000000000000000000000..b8c9fbcd6a91456d7cef1ecdd4058428c66caf5d
--- /dev/null
+++ b/tests/pressure-vessel/prepare-test-depots.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+set -eux
+
+builddir="${1:-_build}"
+PRESSURE_VESSEL="${2:-_build/production/pressure-vessel-bin.tar.gz}"
+
+rm -fr "$builddir/depot"
+rm -fr "$builddir/depot-template"
+mkdir -p "$builddir/depot"
+mkdir -p "$builddir/depot-template/common"
+
+if [ -n "${IMAGES_DOWNLOAD_URL-}" ] && [ -n "${IMAGES_DOWNLOAD_CREDENTIAL-}" ]; then
+    suites="scout soldier"
+    set -- \
+        --include-sdk \
+        --credential-env IMAGES_DOWNLOAD_CREDENTIAL \
+        --images-uri "${IMAGES_DOWNLOAD_URL}"/steamrt-SUITE/snapshots \
+        ${NULL+}
+else
+    suites="scout"
+    set -- \
+        --version latest-steam-client-public-beta \
+        ${NULL+}
+fi
+
+for suite in $suites; do
+    python3 ./pressure-vessel/populate-depot.py \
+        --depot="$builddir/depots/$suite" \
+        --pressure-vessel "${PRESSURE_VESSEL}" \
+        --source-dir="$builddir/depot-template" \
+        --unpack-runtimes \
+        "$@" \
+        "${suite}"
+    for member in "$builddir/depots/$suite"/*; do
+        rm -fr "$builddir/depot/${member##*/}"
+    done
+    mv "$builddir/depots/$suite"/* "$builddir/depot/"
+done
+
+# vim:set sw=4 sts=4 et: