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>
When compressing docs, do not save the original file name and
timestamp by default (gzip -n). Make archives be reproducible
at each build
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.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>
Many users are reluctant to use libgpiod instead of the deprecated
/sys/class/gpio interface. The gpiod-sysfs-proxy project aims at making
the transition easier by implementing a compatibility layer in
user-space using FUSE and python3-gpiod. This way we can eat the cookie
by disabling the sysfs ABI and have the users have it too by sticking to
their existing scripts.
The project itself is a very simple setuptools-based python package but
the recipe is quite complex due to comprehensive distro integration.
By default we use /run/gpio as mountpoint. For full backward
compatibility with the kernel interface, the user must explicitly add
the 'sys-class-mount' switch to PACKAGECONFIG. We do this because,
depending on whether CONFIG_GPIO_SYSFS Kconfig option is enabled,
/sys/class/gpio will either be non-empty or not exist at all. In the
latter case, we need to somehow create the /sys/class/gpio and, since
user-space is not allowed to mkdir() inside sysfs, we use overlayfs for
that. As this is rather non-standard, we want the user to be aware of
this.
We support both systemd and sys V init managers.
We also provide a ptest package which uses an external
gpio-sysfs-compat-tests script.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
With the UNPACKDIR changes in place the layers are no longer compatible
with the scarthgap release. Drop it from LAYERSERIES_COMPAT and limit
compatibility to styhead only.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
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>
Recipe smbnetfs depends on samba, which is in meta-networking.
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Layer priority is the ultimate decider of what recipe is used: if layer
A has recipe foo_1 and layer B has recipe foo_2, if layer A's priority
is higher than B then foo_1 will be used, even though the version in B
is higher, and even if PREFERRED_VERSION_foo is set to 2.
This complicates recipes moving between layers, for example when a newer
version of a recipe (say, python3-wheel) is taken from a layer with a
higher priority (say, meta-python) and moved to a layer with a lower
priority (say, oe-core) then it has to be removed before it is added:
there is no way to have it in both layers and work correctly.
Higher priorities are useful in distribution layers where you may want
to override specific recipes without any other fuss. However as all of
the layers in meta-oe simply add more recipes in defined areas, there's
no need to have a higher layer priority.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
I have no idea if this is the right thing to do, but without the patch I
can't actually buil OE because none of these layers are compatible
with the change in openembedded-core to move to zeus.
Fixes: a5c9709b8d ("layer.conf: Update for zeus series") # openembedded-core
Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
According to README, it depends on oe-core and openembedded-layer
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>