mirror of
https://github.com/systemd/systemd.git
synced 2024-11-27 12:13:33 +08:00
test: test new systemd-dissect --attach/--detach/--loop-ref= and /dev/loop/* symlinks
Let's test that everything we just added works in combination.
This commit is contained in:
parent
5ac52d1f7b
commit
f5e46b9e09
@ -430,6 +430,28 @@ mount -t ddi "${image}.gpt" "$T" -o ro,X-mount.mkdir,discard
|
||||
umount -R "$T"
|
||||
rmdir "$T"
|
||||
|
||||
LOOP="$(systemd-dissect --attach --loop-ref=waldo "${image}.raw")"
|
||||
|
||||
# Wait until the symlinks we want to test are established
|
||||
udevadm trigger -w "$LOOP"
|
||||
|
||||
# Check if the /dev/loop/* symlinks really reference the right device
|
||||
test /dev/loop/by-ref/waldo -ef "$LOOP"
|
||||
|
||||
if [ "$(stat -c '%Hd:%Ld' "${image}.raw")" != '?d:?d' ] ; then
|
||||
# Old stat didn't know the %Hd and %Ld specifiers and turned them into ?d
|
||||
# instead. Let's simply skip the test on such old systems.
|
||||
test "$(stat -c '/dev/loop/by-inode/%Hd:%Ld-%i' "${image}.raw")" -ef "$LOOP"
|
||||
fi
|
||||
|
||||
# Detach by loopback device
|
||||
systemd-dissect --detach "$LOOP"
|
||||
|
||||
# Detach by backing inode
|
||||
systemd-dissect --attach --loop-ref=waldo "${image}.raw"
|
||||
systemd-dissect --detach "${image}.raw"
|
||||
(! systemd-dissect --detach "${image}.raw")
|
||||
|
||||
echo OK >/testok
|
||||
|
||||
exit 0
|
||||
|
Loading…
Reference in New Issue
Block a user