diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-05-08 16:13:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-08 16:13:13 +0200 |
commit | f4e3ec5fd69a6cc831b63619c5772dbf5c6a11a6 (patch) | |
tree | 63b33c45a319edfc5dc2de549a765eba89c90ae9 /test | |
parent | db9940fb42fb199d335dcd549ac24972ef89d5c0 (diff) | |
parent | 42c6aa1a4281d0ac1fc70fc95cca97506b25477e (diff) | |
download | podman-f4e3ec5fd69a6cc831b63619c5772dbf5c6a11a6.tar.gz podman-f4e3ec5fd69a6cc831b63619c5772dbf5c6a11a6.tar.bz2 podman-f4e3ec5fd69a6cc831b63619c5772dbf5c6a11a6.zip |
Merge pull request #6134 from vrothberg/systemd-unit-tests
fix and enable systemd system tests
Diffstat (limited to 'test')
-rw-r--r-- | test/system/250-generate-systemd.bats | 48 | ||||
-rw-r--r-- | test/system/250-systemd.bats | 49 | ||||
-rw-r--r-- | test/system/helpers.bash | 11 |
3 files changed, 49 insertions, 59 deletions
diff --git a/test/system/250-generate-systemd.bats b/test/system/250-generate-systemd.bats deleted file mode 100644 index 6155d6ace..000000000 --- a/test/system/250-generate-systemd.bats +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env bats -*- bats -*- -# -# Tests generated configurations for systemd. -# - -load helpers - -# Be extra paranoid in naming to avoid collisions. -SERVICE_NAME="podman_test_$(random_string)" -UNIT_DIR="$HOME/.config/systemd/user" -UNIT_FILE="$UNIT_DIR/$SERVICE_NAME.service" - -# FIXME: the must run as root (because of CI). It's also broken... - -function setup() { - skip_if_not_systemd - skip_if_remote - - basic_setup - - if [ ! -d "$UNIT_DIR" ]; then - mkdir -p "$UNIT_DIR" - systemctl --user daemon-reload - fi -} - -function teardown() { - rm -f "$UNIT_FILE" - systemctl --user stop "$SERVICE_NAME" - basic_teardown -} - -@test "podman generate - systemd - basic" { - run_podman create $IMAGE echo "I'm alive!" - cid="$output" - - run_podman generate systemd $cid > "$UNIT_FILE" - - run systemctl --user start "$SERVICE_NAME" - if [ $status -ne 0 ]; then - die "The systemd service $SERVICE_NAME did not start correctly, output: $output" - fi - - run_podman logs $cid - is "$output" "I'm alive!" "Container output" -} - -# vim: filetype=sh diff --git a/test/system/250-systemd.bats b/test/system/250-systemd.bats new file mode 100644 index 000000000..902a7cad8 --- /dev/null +++ b/test/system/250-systemd.bats @@ -0,0 +1,49 @@ +#!/usr/bin/env bats -*- bats -*- +# +# Tests generated configurations for systemd. +# + +load helpers + +SERVICE_NAME="podman_test_$(random_string)" +UNIT_DIR="/usr/lib/systemd/system" +UNIT_FILE="$UNIT_DIR/$SERVICE_NAME.service" + +function setup() { + skip_if_remote + skip_if_rootless "systemd tests are root-only for now" + + basic_setup +} + +function teardown() { + rm -f "$UNIT_FILE" + systemctl daemon-reload + basic_teardown +} + +@test "podman generate - systemd - basic" { + run_podman create --name keepme --detach busybox:latest top + + run_podman generate systemd --new keepme > "$UNIT_FILE" + run_podman rm keepme + + systemctl daemon-reload + + run systemctl start "$SERVICE_NAME" + if [ $status -ne 0 ]; then + die "Error starting systemd unit $SERVICE_NAME, output: $output" + fi + + run systemctl status "$SERVICE_NAME" + if [ $status -ne 0 ]; then + die "Non-zero status of systemd unit $SERVICE_NAME, output: $output" + fi + + run systemctl stop "$SERVICE_NAME" + if [ $status -ne 0 ]; then + die "Error stopping systemd unit $SERVICE_NAME, output: $output" + fi +} + +# vim: filetype=sh diff --git a/test/system/helpers.bash b/test/system/helpers.bash index 51240edc9..7ec2105d1 100644 --- a/test/system/helpers.bash +++ b/test/system/helpers.bash @@ -252,17 +252,6 @@ function skip_if_remote() { fi } -######################### -# skip_if_not_systemd # ...with an optional message -######################### -function skip_if_not_systemd() { - if systemctl --user >/dev/null 2>&1; then - return - fi - - skip "${1:-no systemd or daemon does not respond}" -} - ######### # die # Abort with helpful message ######### |