mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-09 14:28:23 +02:00
main/busybox-initscripts: tests for persistent-storage
add tests that verifies current behavior (cherry picked from commit bc5f3b6987eb2fddfa86ec2db35350ca070cd28e)
This commit is contained in:
parent
ed22835b9c
commit
5df3afdec0
@ -20,6 +20,7 @@ source="acpid.initd crond.initd dnsd.initd httpd.initd inetd.initd klogd.initd
|
||||
ptpdev
|
||||
test_env.sh
|
||||
ptpdev_test
|
||||
persistent-storage_test
|
||||
Kyuafile
|
||||
"
|
||||
|
||||
@ -83,9 +84,10 @@ acbba3385fb2c416362eb9176f24146b617a2e394ee0e00b9eff89350f82468a5ab8396f4f52b0aa
|
||||
b5c299d5dcd854eb23717aab6938e2e1c9572d10ed667595b4a98f9cddca9f81c3f8f7ae508b62db5fe203c45c696d3c2a9ce62761aa329b2bcfcc5e5a3a9224 mdev.conf
|
||||
ebd82f935da2ca89097234dd8a8f47e179a423652c151123a1f3343f3e1e7bfaba2b8800380e988d4e8f4294545d3a9ab6708ae2e77c5b108b5f091bbce8f94a dvbdev
|
||||
b2dcf0ded9264334d79fbbb05dd12d649dc3119a060db5893f0e8aeca2141323961c3ba4c822a0ffb00dba848742d5cb374dc77e776b57cecde352a3e8e30f8a usbdev
|
||||
0f54666072a8ee32965cc1b5205a6d35bc2ba6655f298c37ba9ccd72949fa7c41b1e540ec91f41b11f4b261ace614cdcc42dccf390bf0a22698d0ba499feae39 persistent-storage
|
||||
1e5efd37081ed513912dece5ca9e82bf2f8b192e432d872f1758962469e0548223ddf1f43049973e853373b5c08494f1787e41e3b9d2d2fe15ab835e9a09e6ea persistent-storage
|
||||
46b9379a5def08ce0afffae546693c19be158ca4fa4ce3c619ec81e0adbaa087ea5dd6df10abbfcd59bfdaf351d7170a7d24c2b403eceeb80f4f04f090630227 ptpdev
|
||||
0a23323849ba531ac9b56bb7f60a8cdd2b94a0e366e87120c20a53fe6e79b6da3a3fb4320c6cd14fb89ac933a98c2d9d84512713c42042fa2a9a2a80e0d467a9 test_env.sh
|
||||
fd6bb18753f6367f75cd03febe76280d041a24880ec4dc315fe644d838d10098ecb9d7cfaf154e465bda1c90df14d613700c9910960ee78f0941c5442db93624 ptpdev_test
|
||||
e32e2240bce04c81df3bdb0cd818636bdac58d15233e3811dadc3704d16908bf15471d45b32cabfdffd012c33835d09ff40682564a3e5077050d7d29c08ef5f6 Kyuafile
|
||||
9af204b2a1daee60b9be409340a5a4f05e41102939831418a0dd36efaa4c9fdd62cb0ebb1f6a7bc7fccb350be5da307dcf0e236b760c3c737f7257476b8c0b24 persistent-storage_test
|
||||
ea40b39c2cfe96d81fbc91fb9b38f503024127737c7d7bdefc79b5e1eb387214258b3d849b0e35b27e2897847150e2cc09edfaa246d9f30d7cec6655a887a81e Kyuafile
|
||||
"
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
syntax(2)
|
||||
test_suite("mdev-scripts")
|
||||
atf_test_program{name='ptpdev_test',timeout=1}
|
||||
atf_test_program{name='persistent-storage_test',timeout=1}
|
||||
|
||||
@ -7,10 +7,12 @@ symlink_action() {
|
||||
esac
|
||||
}
|
||||
|
||||
: ${SYSFS:=/sys}
|
||||
|
||||
# cdrom symlink
|
||||
case "$MDEV" in
|
||||
sr*|xvd*)
|
||||
caps="$(cat /sys/block/$MDEV/capability 2>/dev/null)"
|
||||
caps="$(cat $SYSFS/block/$MDEV/capability 2>/dev/null)"
|
||||
if [ $(( 0x${caps:-0} & 8 )) -gt 0 ]; then
|
||||
symlink_action $MDEV cdrom
|
||||
fi
|
||||
@ -19,13 +21,13 @@ esac
|
||||
# by-id symlinks
|
||||
mkdir -p disk/by-id
|
||||
|
||||
partition=$(cat /sys/class/block/$MDEV/partition 2>/dev/null)
|
||||
partition=$(cat $SYSFS/class/block/$MDEV/partition 2>/dev/null)
|
||||
case "$partition" in
|
||||
[0-9]*) partsuffix="-part$partition";;
|
||||
esac
|
||||
|
||||
wwid=$(cat /sys/class/block/$MDEV/wwid 2>/dev/null)
|
||||
: ${wwid:=$(cat /sys/class/block/$MDEV/device/wwid 2>/dev/null)}
|
||||
wwid=$(cat $SYSFS/class/block/$MDEV/wwid 2>/dev/null)
|
||||
: ${wwid:=$(cat $SYSFS/class/block/$MDEV/device/wwid 2>/dev/null)}
|
||||
|
||||
if [ -n "$wwid" ]; then
|
||||
case "$MDEV" in
|
||||
@ -37,10 +39,10 @@ if [ -n "$wwid" ]; then
|
||||
fi
|
||||
|
||||
serial=$(sed -E -e 's/^\s+//' -e 's/\s+$//' -e 's/ /_/g' \
|
||||
/sys/class/block/$MDEV/device/serial 2>/dev/null)
|
||||
$SYSFS/class/block/$MDEV/device/serial 2>/dev/null)
|
||||
|
||||
model=$(sed -E -e 's/^\s+//' -e 's/\s+$//' -e 's/ /_/g' \
|
||||
/sys/class/block/$MDEV/device/model 2>/dev/null)
|
||||
$SYSFS/class/block/$MDEV/device/model 2>/dev/null)
|
||||
|
||||
if [ -n "$serial" ] && [ -n "$model" ]; then
|
||||
case "$MDEV" in
|
||||
|
||||
124
main/busybox-initscripts/persistent-storage_test
Executable file
124
main/busybox-initscripts/persistent-storage_test
Executable file
@ -0,0 +1,124 @@
|
||||
#!/usr/bin/env atf-sh
|
||||
|
||||
. $(atf_get_srcdir)/test_env.sh
|
||||
init_tests \
|
||||
persistent_storage_cdrom \
|
||||
persistent_storage_nvme_wwid \
|
||||
persistent_storage_sda_wwid \
|
||||
persistent_storage_nvme_model_serial \
|
||||
persistent_storage_virtio_serial \
|
||||
persistent_storage_by_uuid \
|
||||
persistent_storage_by_partuuid
|
||||
|
||||
mdevscript=$(atf_get_srcdir)/persistent-storage
|
||||
export SYSFS=sys
|
||||
|
||||
persistent_storage_cdrom_body() {
|
||||
for dev in sr0 xvdc; do
|
||||
mkdir -p sys/block/$dev
|
||||
echo 109 > sys/block/$dev/capability
|
||||
|
||||
MDEV=$dev ACTION=add atf_check \
|
||||
sh $mdevscript
|
||||
atf_check -o match:"$dev" \
|
||||
readlink cdrom
|
||||
|
||||
MDEV=$dev ACTION=remove atf_check \
|
||||
sh $mdevscript
|
||||
atf_check -s not-exit:0 -o not-match:"$dev" \
|
||||
readlink cdrom
|
||||
done
|
||||
}
|
||||
|
||||
persistent_storage_nvme_wwid_body() {
|
||||
mkdir -p sys/class/block/nvme0n1
|
||||
echo eui.0025386b61b01dcd > sys/class/block/nvme0n1/wwid
|
||||
|
||||
MDEV=nvme0n1 ACTION=add atf_check \
|
||||
sh $mdevscript
|
||||
atf_check -o match:"nvme0n1" \
|
||||
readlink disk/by-id/nvme-eui.0025386b61b01dcd
|
||||
|
||||
MDEV=nvme0n1 ACTION=remove atf_check \
|
||||
sh $mdevscript
|
||||
atf_check -s not-exit:0 \
|
||||
readlink disk/by-id/nvme-eui.0025386b61b01dcd
|
||||
}
|
||||
|
||||
persistent_storage_sda_wwid_body() {
|
||||
mkdir -p sys/class/block/sda/device
|
||||
echo naa.5002538f4158fd7b > sys/class/block/sda/device/wwid
|
||||
|
||||
MDEV=sda ACTION=add atf_check \
|
||||
sh $mdevscript
|
||||
atf_check -o match:"sda" \
|
||||
readlink disk/by-id/wwn-0x5002538f4158fd7b
|
||||
|
||||
MDEV=sda ACTION=remove atf_check \
|
||||
sh $mdevscript
|
||||
atf_check -s not-exit:0 \
|
||||
readlink disk/by-id/wwn-0x5002538f4158fd7b
|
||||
}
|
||||
|
||||
persistent_storage_nvme_model_serial_body() {
|
||||
mkdir -p sys/class/block/nvme0n1/device
|
||||
echo 'Samsung SSD 960 EVO 500GB ' > sys/class/block/nvme0n1/device/model
|
||||
echo 'S3EUNX0HB01245Y ' > sys/class/block/nvme0n1/device/serial
|
||||
|
||||
MDEV=nvme0n1 ACTION=add atf_check \
|
||||
sh $mdevscript
|
||||
atf_check -o match:"nvme0n1" \
|
||||
readlink disk/by-id/nvme-Samsung_SSD_960_EVO_500GB_S3EUNX0HB01245Y
|
||||
}
|
||||
|
||||
persistent_storage_virtio_serial_body() {
|
||||
mkdir -p sys/class/block/vda/device
|
||||
echo 'foobar' > sys/class/block/vda/device/serial
|
||||
|
||||
MDEV=vda ACTION=add atf_check \
|
||||
sh $mdevscript
|
||||
atf_check -o match:"vda" \
|
||||
readlink disk/by-id/virtio-foobar
|
||||
}
|
||||
|
||||
persistent_storage_by_uuid_body() {
|
||||
local fs_uuid="2022-05-15-22-31-31-00"
|
||||
|
||||
cat <<-EOF > blkid
|
||||
#!/bin/sh
|
||||
# blkid mock
|
||||
case \$1 in
|
||||
/dev/sr0)
|
||||
echo "/dev/sr0: BLOCK_SIZE=\"2048\" UUID=\"$fs_uuid\" LABEL=\"cidata\" TYPE=\"iso9660\""
|
||||
;;
|
||||
esac
|
||||
EOF
|
||||
chmod +x blkid
|
||||
export PATH="$PWD:$PATH"
|
||||
|
||||
MDEV=sr0 ACTION=add atf_check \
|
||||
sh $mdevscript
|
||||
atf_check -o match:"sr0" \
|
||||
readlink disk/by-uuid/"$fs_uuid"
|
||||
}
|
||||
|
||||
persistent_storage_by_partuuid_body() {
|
||||
local partuuid="f6daa453-3150-46a2-b6f9-863e38fcd2aa"
|
||||
|
||||
cat <<-EOF > blkid
|
||||
#!/bin/sh
|
||||
# blkid mock
|
||||
case \$1 in
|
||||
/dev/vda1)
|
||||
echo '/dev/vda1: LABEL="testlabel" UUID="9850e420-fecd-4d61-bf8e-50c8babebbb2" BLOCK_SIZE="512" TYPE="xfs" PARTLABEL="Linux filesystem" PARTUUID="$partuuid"'
|
||||
;;
|
||||
esac
|
||||
EOF
|
||||
chmod +x blkid
|
||||
export PATH="$PWD:$PATH"
|
||||
|
||||
MDEV=vda1 ACTION=add atf_check \
|
||||
sh $mdevscript
|
||||
atf_check -o match:"vda1" \
|
||||
readlink disk/by-partuuid/"$partuuid"
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user