summaryrefslogtreecommitdiff
path: root/test/system
diff options
context:
space:
mode:
authorBoaz Shuster <boaz.shuster.github@gmail.com>2021-10-28 13:31:54 +0300
committerBoaz Shuster <boaz.shuster.github@gmail.com>2021-10-29 09:37:15 +0300
commit7494876000daa3f2a58d07f89561fd3ea447819a (patch)
treed0a61f66dde9ee9ca2b4eae9a3f1d5932e0e34b7 /test/system
parentece0c7e5d31a6ae97274a7db80dbabb7564fdc72 (diff)
downloadpodman-7494876000daa3f2a58d07f89561fd3ea447819a.tar.gz
podman-7494876000daa3f2a58d07f89561fd3ea447819a.tar.bz2
podman-7494876000daa3f2a58d07f89561fd3ea447819a.zip
Use systemctl in local system test
Signed-off-by: Boaz Shuster <boaz.shuster.github@gmail.com>
Diffstat (limited to 'test/system')
-rw-r--r--test/system/250-systemd.bats34
1 files changed, 32 insertions, 2 deletions
diff --git a/test/system/250-systemd.bats b/test/system/250-systemd.bats
index d4fb7ab08..28e28b30c 100644
--- a/test/system/250-systemd.bats
+++ b/test/system/250-systemd.bats
@@ -9,6 +9,7 @@ load helpers.systemd
SERVICE_NAME="podman_test_$(random_string)"
UNIT_FILE="$UNIT_DIR/$SERVICE_NAME.service"
+TEMPLATE_FILE_PREFIX="$UNIT_DIR/$SERVICE_NAME"
function setup() {
skip_if_remote "systemd tests are meaningless over remote"
@@ -206,8 +207,37 @@ LISTEN_FDNAMES=listen_fdnames" "LISTEN Environment passed: $context"
run_podman run -dt --name $cname $IMAGE top
run_podman generate systemd --template -n $cname
- is "$output" ".*%I.*" "%I indentifiers in template"
- is "$output" ".*%i.*" "%i indentifiers in template"
+ echo "$output" > "$TEMPLATE_FILE_PREFIX@.service"
+ run_podman rm -f $cname
+
+ systemctl daemon-reload
+
+ INSTANCE="$SERVICE_NAME@1.service"
+ run systemctl start "$INSTANCE"
+ if [ $status -ne 0 ]; then
+ die "Error starting systemd unit $INSTANCE, output: $output"
+ fi
+
+ run systemctl status "$INSTANCE"
+ if [ $status -ne 0 ]; then
+ die "Non-zero status of systemd unit $INSTANCE, output: $output"
+ fi
+
+ run systemctl stop "$INSTANCE"
+ if [ $status -ne 0 ]; then
+ die "Error stopping systemd unit $INSTANCE, output: $output"
+ fi
+
+ if [[ -z "$status" ]]; then
+ run systemctl is-active "$INSTANCE"
+ if [ $status -ne 0 ]; then
+ die "Error checking stauts of systemd unit $INSTANCE, output: $output"
+ fi
+ is "$output" "$status" "$INSTANCE not in expected state"
+ fi
+
+ rm -f "$TEMPLATE_FILE_PREFIX@.service"
+ systemctl daemon-reload
}
@test "podman generate - systemd template no support for pod" {