From: Ivan Kruglov Date: Thu, 24 Oct 2024 10:32:08 +0000 (+0200) Subject: machine: tests for io.systemd.Machine.{CopyFrom, CopyTo} methods X-Git-Tag: v258-rc1~1692^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=24b7e0b89406fbf8e9714fccc91527beb8b64db8;p=thirdparty%2Fsystemd.git machine: tests for io.systemd.Machine.{CopyFrom, CopyTo} methods --- diff --git a/test/units/TEST-13-NSPAWN.machined.sh b/test/units/TEST-13-NSPAWN.machined.sh index 11f6a6f483d..eaa72e1daf8 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"