nuttx-apps/testing/libc
Xiang Xiao ed56c56d7b testing/libc/arch_libc: Add tests for all string/memory functions.
The arch_libc test only covered strcpy, so the architecture optimized
implementations of the remaining string and memory routines were never
exercised by the test suite.

Extend the test to also cover memcpy, memmove, memset, memcmp, memchr,
strlen, strcmp, strchr, strncmp, strnlen, strncpy, stpcpy, strcat and
strrchr:

* Every function gets a correctness test that sweeps the buffer
  alignment and the transfer size and compares the result against the
  expected value.
* Every function gets a speed test that reports the average cycle count
  measured with perf_gettime().
* Every individual test is selected by its own
  CONFIG_TESTING_ARCH_LIBC_<FUNC> option (default y), so a target can
  drop the ones it does not need.

Impact: test only.  Nothing is built unless CONFIG_TESTING_ARCH_LIBC
(default n) is selected, so no existing board configuration changes.

Testing: built and ran sim:nsh on Linux x86_64 (Ubuntu 24.04,
gcc 13.3.0) with CONFIG_TESTING_ARCH_LIBC=y.  All 15 enabled functions
report PASSED and "arch_libc_test Passed".

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2026-08-10 16:55:36 -03:00
..
arch_libc testing/libc/arch_libc: Add tests for all string/memory functions. 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