nuttx-apps/testing/libc
anjiahao 0b3049b6ca testing/libc/arch_libc: Add strchrnul test and sweep size boundaries.
Add test_strchrnul() and speed_strchrnul(), selected by the new
CONFIG_TESTING_ARCH_LIBC_STRCHRNUL option, covering the hit, miss and
NUL cases.

Sweep alignment 0..7 and the boundary sizes {0, 1, 7, 8, 9, 15, 16, 17,
31, 32, 33, 63, 64, 65, 127, 128, 129, 255, 256, 257} in the scan
function tests (memcmp, memchr, strlen, strcmp, strchr, strncmp,
strnlen, strrchr) and in memmove.  Those sizes sit on the 8 and 16 byte
chunk edges and on the sub-word tails, so vectorized (NEON/MVE) and
word-at-a-time implementations are stressed exactly at their alignment
and size boundaries instead of only at "nice" lengths.  memmove is
additionally exercised across four overlap layouts: forward, backward,
contained and adjacent.

Impact: test only, selected by CONFIG_TESTING_ARCH_LIBC (default n).

Testing: built and ran qemu-armv7a:nsh (Cortex-A7, generic C
implementation) and sim:nsh on Linux x86_64 (Ubuntu 24.04, gcc 13.3.0)
with CONFIG_TESTING_ARCH_LIBC=y.  All 16 enabled functions report
PASSED and "arch_libc_test Passed".  These tests pass against the
generic C routines, which establishes the correctness baseline before
architecture optimized assembly is introduced.

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2026-08-10 16:55:36 -03:00
..
arch_libc testing/libc/arch_libc: Add strchrnul test and sweep size boundaries. 2026-08-10 16:55:36 -03:00
atomic apps/testing:fix uclibc atomic make.defs error 2025-03-03 16:03:13 +01:00
crctest crctest: Test the CRC library that the E2E depends on. 2026-01-22 19:51:51 +08:00
fmemopen apps/testing:move arch_libc, fmemopen, scanftest folders to the new lib folder 2025-01-22 17:18:30 +08:00
fopencookie testing/libc/fopencookie/fopencookie.c: fix spellcheck 2026-06-29 12:29:42 +02:00
open_memstream testing: Move crypto/setest to drivers and open_memstream to libc 2025-01-26 07:32:53 +01:00
popen testing/libc/popen: add popen/dpopen test for shell and no-shell modes 2026-06-02 23:35:28 +08:00
scanftest !testing/libc/scanftest: drop CONFIG_LIBC_LONG_LONG from help text 2026-05-11 17:38:32 +08:00
stdbit testing/libc: add stdbit test 2026-06-27 19:28:34 +08:00
wcstombs testing/libc/wcstombs: Add testing application for wcstombs 2025-02-06 23:41:31 +01:00
.gitignore apps/testing:move arch_libc, fmemopen, scanftest folders to the new lib folder 2025-01-22 17:18:30 +08:00
CMakeLists.txt apps/testing:move arch_libc, fmemopen, scanftest folders to the new lib folder 2025-01-22 17:18:30 +08:00
Make.defs apps/testing:move arch_libc, fmemopen, scanftest folders to the new lib folder 2025-01-22 17:18:30 +08:00
Makefile apps/testing:move arch_libc, fmemopen, scanftest folders to the new lib folder 2025-01-22 17:18:30 +08:00