aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2021-01-18 17:32:15 +0100
committerOliver Smith <osmith@sysmocom.de>2021-01-20 14:26:52 +0100
commit14c04c4296e05d902b8d239de87302f278ed3a66 (patch)
tree6a7932c9be7b28a619afae4d22e3a12688d60945
parent9733e2e4d5adeac653cad48baad2a19c7a5a9291 (diff)
repo-install-test: add TESTS variable
Allow to enable only certain tests during development. Related: OS#4733 Change-Id: I8d817f47d790e4cdc25c5182a0e91b66a00fbf52
-rwxr-xr-xscripts/repo-install-test.sh10
-rwxr-xr-xscripts/repo-install-test/run-inside-docker.sh35
2 files changed, 42 insertions, 3 deletions
diff --git a/scripts/repo-install-test.sh b/scripts/repo-install-test.sh
index a785b74..71e55d7 100755
--- a/scripts/repo-install-test.sh
+++ b/scripts/repo-install-test.sh
@@ -4,6 +4,7 @@
# * FEED: binary package feed (e.g. "latest", "nightly")
# * PROJ: OBS project namespace (e.g. "network:osmocom:latest")
# * KEEP_CACHE: set to 1 to keep downloaded binary packages (for development)
+# * TESTS: which tests to run (all by default, see below for possible values)
. "$(dirname "$0")/common.sh"
# Show usage
@@ -20,6 +21,14 @@ FEED="${FEED:-nightly}"
PROJ="${PROJ:-network:osmocom:$FEED}"
CONTAINER="$DISTRO-repo-install-test-$FEED"
+if [ -z "$TESTS" ]; then
+ TESTS="
+ install_repo_packages
+ test_binaries
+ services_check
+ "
+fi
+
# Try to run "systemctl status" 10 times, kill the container on failure
check_if_systemd_is_running() {
for i in $(seq 1 10); do
@@ -58,6 +67,7 @@ docker run --rm \
-e FEED="$FEED" \
-e PROJ="$PROJ" \
-e DISTRO="$DISTRO" \
+ -e TESTS="$TESTS" \
-e container=docker \
--tmpfs /run \
--tmpfs /run/lock \
diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh
index b10c97d..79dd3cf 100755
--- a/scripts/repo-install-test/run-inside-docker.sh
+++ b/scripts/repo-install-test/run-inside-docker.sh
@@ -4,6 +4,7 @@
# * PROJ: OBS project namespace (e.g. "network:osmocom:latest")
# * KEEP_CACHE: set to 1 to keep downloaded binary packages (for development)
# * DISTRO: linux distribution name (e.g. "debian", "centos")
+# * TESTS: which tests to run (see repo-install-test.sh)
# Systemd services that must start up successfully after installing all packages (OS#3369)
# Disabled services:
@@ -64,6 +65,11 @@ check_env() {
echo "ERROR: missing environment variable \$DISTRO!"
exit 1
fi
+ if [ -n "$TESTS" ]; then
+ echo "Enabled tests: $TESTS"
+ else
+ echo "ERROR: missing environment variable \$TESTS!"
+ fi
}
# $1: OBS project (e.g. "network:osmocom:nightly")
@@ -244,6 +250,29 @@ services_check() {
check_env
configure_keep_cache_${DISTRO}
configure_osmocom_repo_${DISTRO} "$PROJ"
-install_repo_packages_${DISTRO}
-test_binaries
-services_check
+
+for test in $TESTS; do
+ set +x
+ echo
+ echo "### Running test: $test ###"
+ echo
+ set -x
+
+ case "$test" in
+ install_repo_packages)
+ install_repo_packages_${DISTRO}
+ ;;
+ test_binaries)
+ # install_repo_packages must run first!
+ test_binaries
+ ;;
+ services_check)
+ # install_repo_packages must run first!
+ services_check
+ ;;
+ *)
+ echo "ERROR: unknown test: $test"
+ exit 1
+ ;;
+ esac
+done