diff options
author | Oliver Smith <osmith@sysmocom.de> | 2021-01-18 17:32:15 +0100 |
---|---|---|
committer | Oliver Smith <osmith@sysmocom.de> | 2021-01-20 14:26:52 +0100 |
commit | 14c04c4296e05d902b8d239de87302f278ed3a66 (patch) | |
tree | 6a7932c9be7b28a619afae4d22e3a12688d60945 | |
parent | 9733e2e4d5adeac653cad48baad2a19c7a5a9291 (diff) |
repo-install-test: add TESTS variable
Allow to enable only certain tests during development.
Related: OS#4733
Change-Id: I8d817f47d790e4cdc25c5182a0e91b66a00fbf52
-rwxr-xr-x | scripts/repo-install-test.sh | 10 | ||||
-rwxr-xr-x | scripts/repo-install-test/run-inside-docker.sh | 35 |
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 |