From 2bfce2fa2c20fcf9c3fdb7a694a9f9b57acdb428 Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Tue, 12 Apr 2022 17:28:00 +0200 Subject: [PATCH] main/busybox-initscripts: add basic tests start with ptpdev script which was relatively simple --- main/busybox-initscripts/APKBUILD | 12 +++++-- main/busybox-initscripts/ptpdev | 2 +- main/busybox-initscripts/ptpdev.bats | 49 ++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 3 deletions(-) create mode 100644 main/busybox-initscripts/ptpdev.bats diff --git a/main/busybox-initscripts/APKBUILD b/main/busybox-initscripts/APKBUILD index d336e2919436..ca5aa8c09b35 100644 --- a/main/busybox-initscripts/APKBUILD +++ b/main/busybox-initscripts/APKBUILD @@ -11,15 +11,22 @@ depends="busybox openrc>=0.24.1-r6" makedepends="" install="$pkgname.post-install $pkgname.post-upgrade" subpackages="" -options="!check" +checkdepends="bats" replaces="alpine-baselayout openntpd" source="acpid.initd crond.initd dnsd.initd httpd.initd inetd.initd klogd.initd mdev.initd ntpd.initd rdate.initd syslog.initd udhcpd.initd loadkmap.initd watchdog.initd crond.confd klogd.confd ntpd.confd rdate.confd syslog.confd watchdog.confd loadkmap.confd mdev.conf dvbdev usbdev persistent-storage ptpdev + ptpdev.bats " +check() { + cd "$srcdir" + msg "running tests" + bats *.bats +} + package() { local i cd "$srcdir" @@ -69,5 +76,6 @@ b5c299d5dcd854eb23717aab6938e2e1c9572d10ed667595b4a98f9cddca9f81c3f8f7ae508b62db ebd82f935da2ca89097234dd8a8f47e179a423652c151123a1f3343f3e1e7bfaba2b8800380e988d4e8f4294545d3a9ab6708ae2e77c5b108b5f091bbce8f94a dvbdev b2dcf0ded9264334d79fbbb05dd12d649dc3119a060db5893f0e8aeca2141323961c3ba4c822a0ffb00dba848742d5cb374dc77e776b57cecde352a3e8e30f8a usbdev 0f54666072a8ee32965cc1b5205a6d35bc2ba6655f298c37ba9ccd72949fa7c41b1e540ec91f41b11f4b261ace614cdcc42dccf390bf0a22698d0ba499feae39 persistent-storage -d1d6ba7fd19ef2ce2f9edaeda5b1dc57b34678a0057f8f331bbebff3185b8856f5c5276381b4ea7b42c980a74362e2dd3963ce5c344285e73d03e4b7ac2cda0d ptpdev +46b9379a5def08ce0afffae546693c19be158ca4fa4ce3c619ec81e0adbaa087ea5dd6df10abbfcd59bfdaf351d7170a7d24c2b403eceeb80f4f04f090630227 ptpdev +5e1f6fabd7845f9cd6f90477f10a0b428b4414caed18a6dfe8e86e2ce3d373521d593aa6a9ee475b138a18b15c7a403a2bb0e1987b1dbdb6d465ebd7d5836a86 ptpdev.bats " diff --git a/main/busybox-initscripts/ptpdev b/main/busybox-initscripts/ptpdev index 63431b627d3b..56757fba2825 100755 --- a/main/busybox-initscripts/ptpdev +++ b/main/busybox-initscripts/ptpdev @@ -7,7 +7,7 @@ symlink_action() { esac } -clock_name=$(cat /sys/class/ptp/$MDEV/clock_name 2>/dev/null | sed -e 's/ /_/g') +clock_name=$(cat ${SYSFS:-/sys}/class/ptp/$MDEV/clock_name 2>/dev/null | sed -e 's/ /_/g') case "$clock_name" in KVM_virtual_PTP) symlink_action $MDEV ptp_kvm ;; ptp_vmw) symlink_action $MDEV ptp_vmw ;; diff --git a/main/busybox-initscripts/ptpdev.bats b/main/busybox-initscripts/ptpdev.bats new file mode 100644 index 000000000000..7c43c482d0e5 --- /dev/null +++ b/main/busybox-initscripts/ptpdev.bats @@ -0,0 +1,49 @@ +setup() { + mdevscript=${BATS_TEST_FILENAME%.bats} + root="$BATS_FILE_TMPDIR" + mkdir -p "$root"/dev "$root"/sys "$root"/bin + PATH="$root/bin:$PATH" + export SYSFS="$root/sys" + + mkdir -p "$root"/sys/class/ptp/ptp0 \ + "$root"/sys/class/ptp/ptp1 \ + "$root"/sys/class/ptp/ptp2 + + echo "KVM virtual PTP" > "$root"/sys/class/ptp/ptp0/clock_name + echo "ptp vmw" > "$root"/sys/class/ptp/ptp1/clock_name + echo hyperv > "$root"/sys/class/ptp/ptp2/clock_name + + cd "$root"/dev +} + +teardown() { + rm -r "$root" +} + +@test "ptpdev kvm" { + MDEV=ptp0 ACTION=add sh $mdevscript + [ $(readlink ptp_kvm) = ptp0 ] + + MDEV=ptp0 ACTION=remove sh $mdevscript + run readlink ptp_kvm + [ "$status" -ne 0 ] +} + +@test "ptpdev vmw" { + MDEV=ptp1 ACTION=add sh $mdevscript + [ $(readlink ptp_vmw) = ptp1 ] + + MDEV=ptp1 ACTION=remove sh $mdevscript + run readlink ptp_vmw + [ "$status" -ne 0 ] +} + +@test "ptpdev hyperv" { + MDEV=ptp2 ACTION=add sh $mdevscript + run readlink ptp_hyperv + [ $(readlink ptp_hyperv) = ptp2 ] + + MDEV=ptp2 ACTION=remove sh $mdevscript + run readlink ptp_hyperv + [ "$status" -ne 0 ] +} -- GitLab