From db15c84a0657b452f05d898b0c879a78d9d54d12 Mon Sep 17 00:00:00 2001 From: Gyorgy Sarvari Date: Sat, 27 Dec 2025 07:56:32 +0100 Subject: [PATCH] exfatprogs: add ptest support 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 Signed-off-by: Khem Raj --- .../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 diff --git a/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc b/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc index 3dc6986d6f..26917a93c9 100644 --- a/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc +++ b/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc @@ -8,6 +8,7 @@ PTESTS_FAST_META_FILESYSTEMS = "\ e2tools \ + exfatprogs \ unionfs-fuse \ " diff --git a/meta-filesystems/recipes-utils/exfatprogs/exfatprogs/run-ptest b/meta-filesystems/recipes-utils/exfatprogs/exfatprogs/run-ptest new file mode 100644 index 0000000000..337f2029dd --- /dev/null +++ b/meta-filesystems/recipes-utils/exfatprogs/exfatprogs/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh +cd tests +./test_fsck.sh diff --git a/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.6.bb b/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.6.bb index 39411b4cee..8e7d86f307 100644 --- a/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.6.bb +++ b/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.6.bb @@ -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\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 +}