mirror of
https://github.com/systemd/systemd.git
synced 2024-11-30 13:53:39 +08:00
86 lines
3.0 KiB
Bash
Executable File
86 lines
3.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
# shellcheck disable=SC2016
|
|
set -eux
|
|
set -o pipefail
|
|
|
|
# shellcheck source=test/units/util.sh
|
|
. "$(dirname "$0")"/util.sh
|
|
|
|
export PAGER=
|
|
|
|
TEST_CMDLINE="/tmp/proc-cmdline.$RANDOM"
|
|
|
|
at_exit() {
|
|
set +e
|
|
umount -l -R /var/lib/confexts
|
|
rm -f /var/tmp/importtest /var/tmp/importtest2 /var/tmp/importtest.tar.gz /var/tmp/importtest2.tar.gz "$TEST_CMDLINE"
|
|
mountpoint -q /proc/cmdline && umount /proc/cmdline
|
|
}
|
|
|
|
trap at_exit EXIT
|
|
|
|
systemctl service-log-level systemd-importd debug
|
|
|
|
# Mount tmpfs over /var/lib/confexts to not pollute the image
|
|
mkdir -p /var/lib/confexts
|
|
mount -t tmpfs tmpfs /var/lib/confexts -o mode=755
|
|
|
|
importctl
|
|
importctl --no-pager --help
|
|
importctl --version
|
|
importctl list-transfers
|
|
importctl list-transfers --no-legend --no-ask-password
|
|
importctl list-transfers -j
|
|
importctl list-images
|
|
importctl list-images --no-legend --no-ask-password
|
|
importctl list-images -j
|
|
|
|
(! importctl cancel-transfer 4711)
|
|
|
|
dd if=/dev/urandom of=/var/tmp/importtest bs=4096 count=10
|
|
|
|
importctl import-raw --class=confext /var/tmp/importtest
|
|
cmp /var/tmp/importtest /var/lib/confexts/importtest.raw
|
|
importctl export-raw --class=confext importtest /var/tmp/importtest2
|
|
cmp /var/tmp/importtest /var/tmp/importtest2
|
|
|
|
(! importctl pull-raw --class=confext file:///var/tmp/importtest)
|
|
importctl pull-raw --verify=no --class=confext file:///var/tmp/importtest importtest3
|
|
cmp /var/tmp/importtest /var/lib/confexts/importtest3.raw
|
|
|
|
tar czf /var/tmp/importtest.tar.gz -C /var/tmp importtest
|
|
|
|
importctl import-tar --class=confext /var/tmp/importtest.tar.gz importtest4
|
|
cmp /var/tmp/importtest /var/lib/confexts/importtest4/importtest
|
|
|
|
importctl export-tar --class=confext importtest4 /var/tmp/importtest2.tar.gz
|
|
importctl import-tar --class=confext /var/tmp/importtest2.tar.gz importtest5
|
|
cmp /var/tmp/importtest /var/lib/confexts/importtest5/importtest
|
|
|
|
importctl import-fs --class=confext /var/lib/confexts/importtest5 importtest6
|
|
cmp /var/tmp/importtest /var/lib/confexts/importtest6/importtest
|
|
|
|
(! importctl pull-tar --class=confext file:///var/tmp/importtest.tar.gz importtest7)
|
|
importctl pull-tar --class=confext --verify=no file:///var/tmp/importtest.tar.gz importtest7
|
|
cmp /var/tmp/importtest /var/lib/confexts/importtest7/importtest
|
|
|
|
importctl list-images
|
|
importctl list-images -j
|
|
|
|
varlinkctl call --more /run/systemd/io.systemd.Import io.systemd.Import.ListTransfers '{}' --graceful=io.systemd.Import.NoTransfers
|
|
|
|
varlinkctl call --more /run/systemd/io.systemd.Import io.systemd.Import.Pull '{"class":"confext","remote":"file:///var/tmp/importtest.tar.gz","local":"importtest8","type":"tar","verify":"no"}'
|
|
cmp /var/tmp/importtest /var/lib/confexts/importtest8/importtest
|
|
|
|
echo -n "systemd.pull=tar,confext,verify=no:importtest9:file:///var/tmp/importtest.tar.gz " > "$TEST_CMDLINE"
|
|
cat /proc/cmdline >> "$TEST_CMDLINE"
|
|
mount --bind "$TEST_CMDLINE" /proc/cmdline
|
|
|
|
cat /proc/cmdline
|
|
|
|
systemctl daemon-reload
|
|
|
|
systemctl start import0.service
|
|
cmp /var/tmp/importtest /var/lib/confexts/importtest9/importtest
|