summaryrefslogtreecommitdiff
path: root/test/system/250-generate-systemd.bats
diff options
context:
space:
mode:
authorDanila Kiver <danila.kiver@mail.ru>2019-07-04 03:58:37 +0300
committerDanila Kiver <danila.kiver@mail.ru>2019-07-04 03:58:37 +0300
commita54429cf877e899eb1516e3ee71ae9c6eedd7c5a (patch)
treefe676086d21daefe2f1650efbbe7bd2cd7fa1217 /test/system/250-generate-systemd.bats
parentf5593d305f68409cf093ea6b66a9d1f121ec0fd6 (diff)
downloadpodman-a54429cf877e899eb1516e3ee71ae9c6eedd7c5a.tar.gz
podman-a54429cf877e899eb1516e3ee71ae9c6eedd7c5a.tar.bz2
podman-a54429cf877e899eb1516e3ee71ae9c6eedd7c5a.zip
Use conmon pidfile in generated systemd unit as PIDFile.
By default, podman points PIDFile in generated unit file to non-existent location. As a result, the unit file, generated by podman, is broken: an attempt to start this unit without prior modification results in a crash, because systemd can not find the pidfile of service's main process. Fix the value of "PIDFile" and add a system test for this case. Signed-off-by: Danila Kiver <danila.kiver@mail.ru>
Diffstat (limited to 'test/system/250-generate-systemd.bats')
-rw-r--r--test/system/250-generate-systemd.bats42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/system/250-generate-systemd.bats b/test/system/250-generate-systemd.bats
new file mode 100644
index 000000000..87ad69774
--- /dev/null
+++ b/test/system/250-generate-systemd.bats
@@ -0,0 +1,42 @@
+#!/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"
+
+function setup() {
+ basic_setup
+ mkdir -p "$UNIT_DIR"
+}
+
+function teardown() {
+ rm -f "$UNIT_FILE"
+ systemctl --user stop "$SERVICE_NAME"
+ basic_teardown
+}
+
+@test "podman generate - systemd - basic" {
+ skip_if_not_systemd
+ skip_if_remote
+
+ 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!"
+ fi
+
+ run_podman logs $cid
+ is "$output" "I'm alive!" "Container output"
+}
+
+# vim: filetype=sh