nuttx-apps/testing/libc
Justin Hammond f4bb54e4d1 testing/libc/arch_libc: Test strlcpy.
strlcpy is the one function in this directory's reach that nothing here
covers, and a machine directory may override it like any other.

Sweep every source and destination alignment pair against sizes 1 to 64,
and for each of those every capacity from zero to one past the length.
Check the return value, which is the length of src whether or not the
copy fit, the truncation point, the content, that a capacity of zero
writes nothing at all, and that nothing lands past the terminator.

The alignment pairs are the point.  An implementation that walks one of
the two pointers to a boundary and then copies a register at a time is
correct whenever the two agree, so a test that only ever passes matching
alignments says nothing about it.

The timing half is guarded.  perf_gettime() is not a system call, so an
application reaches it only where the C library builds its own copy or
where the application and the kernel are one image; calling it
unconditionally leaves the test unbuildable on a kernel build, which is
where the correctness half is still wanted.

Assisted-by: Claude:claude-opus-5
Signed-off-by: Justin Hammond <justin@dynam.ac>
2026-08-18 15:27:07 -03:00
..
arch_libc testing/libc/arch_libc: Test strlcpy. 2026-08-18 15:27:07 -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