diff mbox series

[meta-filesystems,2/6] exfatprogs: add ptest support

Message ID 20251227065636.3144581-2-skandigraun@gmail.com
State New
Headers show
Series [meta-filesystems,1/6] physfs: upgrade 3.0.2 -> latest revision | expand

Commit Message

Gyorgy Sarvari Dec. 27, 2025, 6:56 a.m. UTC
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
diff mbox series

Patch

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<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
+}