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>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
It takes about a second to execute.
Added two patches:
- One adapts the testuite to ptest, to test the installed binary instead of
testing the one from the build folder.
- Another that fixes a bug in unionfsctl, which made the test fail. This
patch is submitted upstream.
Sample output:
root@qemux86-64:~# ptest-runner
START: ptest-runner
2025-12-26T19:03
BEGIN: /usr/lib/unionfs-fuse/ptest
ptestuser:!:20448:0:99999:7:::
PASS: test_all.IOCTL_TestCase.test_debug
PASS: test_all.IOCTL_TestCase.test_wrong_args
PASS: test_all.UnionFS_Help.test_help
[...many lines...]
PASS: test_all.UnionFS_RW_RW_PreserveBranch_TestCase.test_permissions_after_creating_directories
PASS: test_all.UnionFS_Sync.test_sync
PASS: test_all.UnionFS_Version.test_help
============================================================================
Testsuite summary
DURATION: 0
END: /usr/lib/unionfs-fuse/ptest
2025-12-26T19:03
STOP: ptest-runner
TOTAL: 1 FAIL: 0
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The current include file that stores the known non-reproducible packages
is layer dependent and that forces the user of the layers to maintain
the list of the files (for example, see AB config[0]).
By moving the exclude list to each layer.conf and extending the common
OEQA_REPRODUCIBLE_EXCLUDED_PACKAGES variable, the known non-reproducible
packages will be automatically excluded for each layer used in the
reproducibility test without any special knowledge in the test
environment.
NB: the empty list for meta-initramfs was just removed not moved.
[0]: https://git.yoctoproject.org/yocto-autobuilder-helper/tree/config.json?id=7d8933e75bdf7fb821a25617cb2dcabf1f3f8700#n322
Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
Co-Developed-by: Guillaume Swaenepoel <guillaume.swaenepoel@smile.fr>
Signed-off-by: Guillaume Swaenepoel <guillaume.swaenepoel@smile.fr>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
For now, the known non-reproducible packages list is stored inside the
autobuilder config.json file. This is not ideal. Let's move this list
into each layers of meta-openembedded.
These lists can be used with, in local.conf:
include conf/include/non-repro-meta-oe.inc
OEQA_REPRODUCIBLE_EXCLUDED_PACKAGES = "${KNOWN_NON_REPRO_META_OE}"
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Acked-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This will help in running ptests like core layer, right now there are
just 3 but I hope to get more contributions now that infra is in place
to run all ptests
bitbake meta-filesystems-image-ptest-all
to run a single recipe ptests
bitbake meta-filesystems-image-ptest-fuse3
Signed-off-by: Khem Raj <raj.khem@gmail.com>