@@ -8,6 +8,7 @@
PTESTS_FAST_META_FILESYSTEMS = "\
e2tools \
+ exfatprogs \
unionfs-fuse \
"
new file mode 100644
@@ -0,0 +1,3 @@
+#!/bin/sh
+cd tests
+./test_fsck.sh
@@ -11,14 +11,22 @@ SECTION = "universe/otherosfs"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \
+ file://run-ptest"
SRC_URI[sha256sum] = "89d05b7a9537f2413079b724ec8d02d7a2e291c29c52e7256303e9456200fb0f"
UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
UPSTREAM_CHECK_REGEX = "${BPN}-(?P<pver>\d+(\.\d+)+)"
-inherit autotools
+inherit autotools ptest
RPROVIDES:${PN} = "exfat-utils"
RCONFLICTS:${PN} = "exfat-utils"
RREPLACES:${PN} = "exfat-utils"
+RDEPENDS:${PN}-ptest += "bash xz"
+
+do_install_ptest(){
+ cp -r ${S}/tests ${D}${PTEST_PATH}
+ sed -i "s,Passed,PASS:," ${D}${PTEST_PATH}/tests/test_fsck.sh
+ sed -i "s,Failed,FAIL:," ${D}${PTEST_PATH}/tests/test_fsck.sh
+}
It takes about a second to execute the suite. Sample output (the "ERRORs" are coming from negative tests): root@qemux86-64:~# ptest-runner START: ptest-runner 2025-12-26T20:19 BEGIN: /usr/lib/exfatprogs/ptest Running ./bad_file_size ----------------------------------- exfatprogs version : 1.2.6 ERROR: /dir_01/bad_child_01: less clusters are allocated. truncates to 8192 bytes at 0x206060. Truncate (y/N)? y ERROR: /dir_02/bad_child_02: more clusters are allocated. truncate to 8192 bytes at 0x209060. Truncate (y/N)? y exfat.img: clean. directories 3, files 9 exfat.img: files corrupted 0, files fixed 1 exfatprogs version : 1.2.6 exfat.img: clean. directories 4, files 10 PASS: ./bad_file_size [...many lines...] PASS: ./bad_num_chain Running ./loop_chain ----------------------------------- exfatprogs version : 1.2.6 ERROR: /dir_01/bad_child_01: more clusters are allocated. truncate to 16384 bytes at 0x206060. Truncate (y/N)? y ERROR: /dir_02/bad_child_02: cluster is already allocated for the other file. truncated to 8192 bytes at 0x209060. Truncate (y/N)? y exfat.img: clean. directories 3, files 9 exfat.img: files corrupted 0, files fixed 1 exfatprogs version : 1.2.6 exfat.img: clean. directories 4, files 10 PASS: ./loop_chain PASS: 17 of 17 DURATION: 1 END: /usr/lib/exfatprogs/ptest 2025-12-26T20:21 STOP: ptest-runner TOTAL: 1 FAIL: 0 Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> --- .../include/ptest-packagelists-meta-filesystems.inc | 1 + .../recipes-utils/exfatprogs/exfatprogs/run-ptest | 3 +++ .../recipes-utils/exfatprogs/exfatprogs_1.2.6.bb | 12 ++++++++++-- 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 meta-filesystems/recipes-utils/exfatprogs/exfatprogs/run-ptest