From 24b7e0b89406fbf8e9714fccc91527beb8b64db8 Mon Sep 17 00:00:00 2001 From: Ivan Kruglov Date: Thu, 24 Oct 2024 12:32:08 +0200 Subject: machine: tests for io.systemd.Machine.{CopyFrom, CopyTo} methods --- test/units/TEST-13-NSPAWN.machined.sh | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/units/TEST-13-NSPAWN.machined.sh b/test/units/TEST-13-NSPAWN.machined.sh index 11f6a6f483..eaa72e1daf 100755 --- a/test/units/TEST-13-NSPAWN.machined.sh +++ b/test/units/TEST-13-NSPAWN.machined.sh @@ -259,7 +259,7 @@ done #################### # varlinkctl tests # -# ################## +#################### long_running_machine_start @@ -403,7 +403,26 @@ grep -q "BAR" /tmp/none-existent-file # io.systemd.Machine.BindMount is covered by testcase_check_machinectl_bind() in nspawn tests -# terminate machines +# test io.systemd.Machine.CopyTo +rm -f /tmp/foo /var/lib/machines/long-running/root/foo +cp /etc/machine-id /tmp/foo +varlinkctl call /run/systemd/machine/io.systemd.Machine io.systemd.Machine.CopyTo '{"name": "long-running", "source": "/tmp/foo", "destination": "/root/foo"}' +diff /tmp/foo /var/lib/machines/long-running/root/foo +(! varlinkctl call /run/systemd/machine/io.systemd.Machine io.systemd.Machine.CopyTo '{"name": "long-running", "source": "/tmp/foo", "destination": "/root/foo"}') # FileExists +varlinkctl call /run/systemd/machine/io.systemd.Machine io.systemd.Machine.CopyTo '{"name": "long-running", "source": "/tmp/foo", "destination": "/root/foo", "replace": true}' + +echo "sample-test-output" > /tmp/foo +varlinkctl call /run/systemd/machine/io.systemd.Machine io.systemd.Machine.CopyTo '{"name": "long-running", "source": "/tmp/foo", "destination": "/root/foo", "replace": true}' +diff /tmp/foo /var/lib/machines/long-running/root/foo +rm -f /tmp/foo /var/lib/machines/long-running/root/foo + +# test io.systemd.Machine.CopyFrom +cp /etc/machine-id /var/lib/machines/long-running/foo +varlinkctl call /run/systemd/machine/io.systemd.Machine io.systemd.Machine.CopyFrom '{"name": "long-running", "source": "/foo"}' +diff /var/lib/machines/long-running/foo /foo +rm -f /var/lib/machines/long-running/root/foo /foo + +# Terminating machine, otherwise acquiring image metadata by io.systemd.MachineImage.List may fail in the below. machinectl terminate long-running # wait for the container being stopped, otherwise acquiring image metadata by io.systemd.MachineImage.List may fail in the below. timeout 10 bash -c "while machinectl status long-running &>/dev/null; do sleep .5; done" -- cgit v1.2.3 From 825fff7facb0e4d9ea4a8923639bf83c7bb02d3b Mon Sep 17 00:00:00 2001 From: Ivan Kruglov Date: Tue, 17 Dec 2024 19:03:05 +0100 Subject: machine: move io.systemd.Machine.Map* tests into right position --- test/units/TEST-13-NSPAWN.machined.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'test') diff --git a/test/units/TEST-13-NSPAWN.machined.sh b/test/units/TEST-13-NSPAWN.machined.sh index eaa72e1daf..f3d59722ea 100755 --- a/test/units/TEST-13-NSPAWN.machined.sh +++ b/test/units/TEST-13-NSPAWN.machined.sh @@ -387,6 +387,11 @@ varlinkctl call /run/systemd/machine/io.systemd.Machine io.systemd.Machine.Open varlinkctl call /run/systemd/machine/io.systemd.Machine io.systemd.Machine.Open '{"name": ".host", "mode": "login"}' varlinkctl call /run/systemd/machine/io.systemd.Machine io.systemd.Machine.Open '{"name": ".host", "mode": "shell"}' +rm -f /tmp/none-existent-file +varlinkctl call /run/systemd/machine/io.systemd.Machine io.systemd.Machine.Open '{"name": ".host", "mode": "shell", "user": "root", "path": "/bin/sh", "args": ["/bin/sh", "-c", "echo $FOO > /tmp/none-existent-file"], "environment": ["FOO=BAR"]}' +timeout 30 bash -c "until test -e /tmp/none-existent-file; do sleep .5; done" +grep -q "BAR" /tmp/none-existent-file + # test io.systemd.Machine.MapFrom varlinkctl call /run/systemd/machine/io.systemd.Machine io.systemd.Machine.MapFrom '{"name": "long-running", "uid":0, "gid": 0}' container_uid=$(varlinkctl call /run/systemd/machine/io.systemd.Machine io.systemd.Machine.MapFrom '{"name": "long-running", "uid":0}' | jq '.uid') @@ -396,11 +401,6 @@ varlinkctl call /run/systemd/machine/io.systemd.Machine io.systemd.Machine.MapTo (! varlinkctl call /run/systemd/machine/io.systemd.Machine io.systemd.Machine.MapTo '{"uid": 0}') (! varlinkctl call /run/systemd/machine/io.systemd.Machine io.systemd.Machine.MapTo '{"gid": 0}') -rm -f /tmp/none-existent-file -varlinkctl call /run/systemd/machine/io.systemd.Machine io.systemd.Machine.Open '{"name": ".host", "mode": "shell", "user": "root", "path": "/bin/sh", "args": ["/bin/sh", "-c", "echo $FOO > /tmp/none-existent-file"], "environment": ["FOO=BAR"]}' -timeout 30 bash -c "until test -e /tmp/none-existent-file; do sleep .5; done" -grep -q "BAR" /tmp/none-existent-file - # io.systemd.Machine.BindMount is covered by testcase_check_machinectl_bind() in nspawn tests # test io.systemd.Machine.CopyTo -- cgit v1.2.3