aboutsummaryrefslogtreecommitdiffstats
path: root/debian-repo-install-test
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2020-05-26 14:56:47 +0200
committerOliver Smith <osmith@sysmocom.de>2020-05-27 11:41:47 +0200
commit9d7b8fd5f9269e01bb2187b1f04d0292e4434259 (patch)
treedc6208b20554a68356e5243c1cbd0182a5ee39ce /debian-repo-install-test
parentf8d5ed55f180a494c7f1914ebdb6cbf57d49f45e (diff)
debian-repo-install-test: move scripts to osmo-ci
Diffstat (limited to 'debian-repo-install-test')
-rwxr-xr-xdebian-repo-install-test/jenkins.sh58
-rw-r--r--debian-repo-install-test/testdata/blacklist.txt27
-rwxr-xr-xdebian-repo-install-test/testdata/repo-install-test.sh146
3 files changed, 0 insertions, 231 deletions
diff --git a/debian-repo-install-test/jenkins.sh b/debian-repo-install-test/jenkins.sh
deleted file mode 100755
index c0c38c5..0000000
--- a/debian-repo-install-test/jenkins.sh
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/bin/sh
-. ../jenkins-common.sh
-docker_images_require "debian-repo-install-test"
-
-[ -z "$FEED" ] && FEED="nightly"
-CONTAINER="repo-install-test-$FEED"
-
-# Try to run "systemctl status" 10 times, kill the container on failure
-check_if_systemd_is_running() {
- for i in $(seq 1 10); do
- sleep 1
- if docker exec "$CONTAINER" systemctl status; then
- return
- fi
- done
-
- echo "ERROR: systemd is not running properly."
- docker container kill "$CONTAINER"
- exit 1
-}
-
-# Kill already running container
-if [ "$(docker inspect -f '{{.State.Running}}' "$CONTAINER" 2> /dev/null)" = "true" ]; then
- docker container kill "$CONTAINER"
- sleep 1
-fi
-
-# Run the container
-# * This does not output anything, for debugging add -it and remove &.
-# * /run, /tmp, cgroups, SYS_ADMIN: needed for systemd
-# * SYS_NICE: needed for changing CPUScheduling{Policy,Priority} (osmo-bts systemd service files)
-docker run --rm \
- -v "$PWD/testdata:/testdata:ro" \
- -v "$VOL_BASE_DIR:/data" \
- --name "$CONTAINER" \
- -e FEED="$FEED" \
- -e container=docker \
- --tmpfs /run \
- --tmpfs /tmp \
- -v /sys/fs/cgroup:/sys/fs/cgroup:ro \
- --cap-add SYS_ADMIN \
- --cap-add SYS_NICE \
- "$REPO_USER/debian-repo-install-test" \
- /lib/systemd/systemd &
-check_if_systemd_is_running
-
-# Run the test script
-docker exec "$CONTAINER" /testdata/repo-install-test.sh
-ret="$?"
-
-# Interactive shell
-if [ -n "$INTERACTIVE" ]; then
- docker exec -it "$CONTAINER" bash
-fi
-
-docker container kill "$CONTAINER"
-
-exit $ret
diff --git a/debian-repo-install-test/testdata/blacklist.txt b/debian-repo-install-test/testdata/blacklist.txt
deleted file mode 100644
index cb7db6a..0000000
--- a/debian-repo-install-test/testdata/blacklist.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-# These packages will not get explicitly installed in this test.
-# Package lines must have nothing but the package (no comment,
-# no additional space etc).
-
-# OpenBSC
-# This is legacy, we aren't really interested in testing openbsc.git
-# derived packages. Packages are found in openbsc/debian/control.
-openbsc-dev
-osmo-bsc-mgcp
-osmo-bsc-mgcp-dbg
-osmocom-bs11-utils
-osmocom-bs11-utils-dbg
-osmocom-bsc-nat
-osmocom-bsc-nat-dbg
-osmocom-bsc-sccplite
-osmocom-bsc-sccplite-dbg
-osmocom-ipaccess-utils
-osmocom-ipaccess-utils-dbg
-osmocom-nitb
-osmocom-nitb-dbg
-
-# SoapySDR is not used anymore (see OS#3542)
-soapysdr-module-lms7
-soapysdr0.6-module-lms7
-soapysdr0.6-module-lms7-dbgsym
-soapysdr0.7-module-lms7
-soapysdr0.7-module-lms7-dbgsym
diff --git a/debian-repo-install-test/testdata/repo-install-test.sh b/debian-repo-install-test/testdata/repo-install-test.sh
deleted file mode 100755
index 63e1819..0000000
--- a/debian-repo-install-test/testdata/repo-install-test.sh
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/bin/sh -ex
-
-# Systemd services that must start up successfully after installing all packages (OS#3369)
-# Disabled services:
-# * osmo-ctrl2cgi (missing config: /etc/osmocom/ctrl2cgi.ini, OS#4108)
-# * osmo-trap2cgi (missing config: /etc/osmocom/%N.ini, OS#4108)
-# * osmo-ggsn (no tun device in docker)
-SERVICES="
- osmo-bsc
- osmo-gbproxy
- osmo-gtphub
- osmo-hlr
- osmo-mgw
- osmo-msc
- osmo-pcap-client
- osmo-sip-connector
- osmo-stp
-"
-# Services working in nightly, but not yet in latest
-# * osmo-pcap-server: service not included in osmo-pcap 0.0.11
-# * osmo-sgsn: conflicts with osmo-gtphub config in osmo-sgsn 1.4.0
-# * osmo-pcu: needs osmo-bts-virtual to start up properly
-# * osmo-hnbgw: tries to listen on 10.23.24.1 in osmo-iuh 0.4.0
-# * osmo-bts-virtual: unit id not matching osmo-bsc's config in osmo-bsc 1.4.0
-SERVICES_NIGHTLY="
- osmo-pcap-server
- osmo-sgsn
- osmo-pcu
- osmo-hnbgw
- osmo-bts-virtual
-"
-
-HTTP="http://download.opensuse.org/repositories/network:/osmocom:/$FEED/Debian_9.0/"
-OBS="obs://build.opensuse.org/network:osmocom:$FEED/Debian_9.0"
-
-check_env() {
- if [ -n "$FEED" ]; then
- echo "Checking feed: $FEED"
- else
- echo "ERROR: missing environment variable \$FEED!"
- exit 1
- fi
-}
-
-configure_osmocom_repo() {
- echo "Configuring Osmocom repository"
- echo "deb $HTTP ./" \
- > /etc/apt/sources.list.d/osmocom-latest.list
- apt-get update
-}
-
-install_repo_packages() {
- echo "Installing all repository packages"
-
- # Get a list of all packages from the repository. Reference:
- # https://www.debian.org/doc/manuals/aptitude/ch02s04s05.en.html
- aptitude search -F%p \
- "?origin($OBS) ?architecture(native)" | sort \
- > /data/osmocom_packages_all.txt
-
- # Remove comments from blacklist.txt (and sort it)
- grep -v "^#" /testdata/blacklist.txt | sort -u > /data/blacklist.txt
-
- # Install all repo packages which are not on the blacklist
- comm -23 /data/osmocom_packages_all.txt \
- /data/blacklist.txt > /data/osmocom_packages.txt
- apt install -y $(cat /data/osmocom_packages.txt)
-}
-
-test_binaries_version() {
- # Make sure --version runs and does not output UNKNOWN
- failed=""
- for program in $@; do
- # Make sure it runs at all
- $program --version
-
- # Check for UNKNOWN
- if $program --version | grep -q UNKNOWN; then
- failed="$failed $program"
- echo "ERROR: this program prints UNKNOWN in --version!"
- fi
- done
-
- if [ -n "$failed" ]; then
- echo "ERROR: the following program(s) print UNKNOWN in --version:"
- echo "$failed"
- return 1
- fi
-}
-
-test_binaries() {
- # Make sure that binares run at all and output a proper version
- test_binaries_version \
- osmo-bsc \
- osmo-bts-trx \
- osmo-bts-virtual \
- osmo-gbproxy \
- osmo-gtphub \
- osmo-ggsn \
- osmo-hlr \
- osmo-hlr-db-tool \
- osmo-hnbgw \
- osmo-mgw \
- osmo-msc \
- osmo-pcu \
- osmo-sgsn \
- osmo-sip-connector \
- osmo-stp \
- osmo-trx-uhd \
- osmo-trx-usrp1
-}
-
-services_check() {
- local service
- local services_feed="$SERVICES"
- local failed=""
-
- if [ "$FEED" = "nightly" ]; then
- services_feed="$services_feed $SERVICES_NIGHTLY"
- fi
-
- systemctl start $services_feed
- sleep 2
-
- for service in $services_feed; do
- if ! systemctl --no-pager -l -n 200 status $service; then
- failed="$failed $service"
- fi
- done
-
- systemctl stop $services_feed
-
- if [ -n "$failed" ]; then
- set +x
- echo
- echo "ERROR: services failed to start: $failed"
- echo
- exit 1
- fi
-}
-
-check_env
-configure_osmocom_repo
-install_repo_packages
-test_binaries
-services_check