nuttx-apps/testing
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 apps/testing: move himem_test,mtetest and x86-64-ABI folders to the new arhc folder 2025-01-20 17:48:48 +08:00
cmocka cmake: Use NUTTX(_DIR/_BINARY_DIR) instead of CMAKE(_SOURCE_DIR/BINARY_DIR) 2026-08-09 10:43:01 -03:00
crypto !fsutils/passwd: Replace TEA with PBKDF2-HMAC-SHA256 2026-07-22 17:21:22 +08:00
cxx apps: Fix minor issues for latest toolchains 2026-01-23 10:00:52 +08:00
cxx-oot-build testing/cxx-oot-build: Exclude cxx-oot-build in CMake projects. 2025-10-15 14:34:32 +08:00
drivers testing/drivers/crypto: Fix Kconfig style 2026-08-11 15:38:46 -04:00
enet apps/testing: add cmock_test for enet in order to test send and receive pkt 2025-12-29 22:30:56 +08:00
fff cmake: Use NUTTX(_DIR/_BINARY_DIR) instead of CMAKE(_SOURCE_DIR/BINARY_DIR) 2026-08-09 10:43:01 -03:00
fs testing/ostest: Split the fork test into vfork and fork. 2026-08-14 07:46:54 -03:00
libc testing/libc/arch_libc: Test strlcpy. 2026-08-18 15:27:07 -03:00
ltp testing/ostest: Split the fork test into vfork and fork. 2026-08-14 07:46:54 -03:00
mm cmake: Use NUTTX(_DIR/_BINARY_DIR) instead of CMAKE(_SOURCE_DIR/BINARY_DIR) 2026-08-09 10:43:01 -03:00
nettest testing: nettest: Fix TCP server terminator bounds 2026-07-09 09:27:28 +08:00
nuts testing/nuts: NuttX Unit Test Selection (NUTS) application. 2025-12-28 10:28:14 +08:00
ostest system/sudo: add setuid privilege helper 2026-08-17 09:06:13 -03:00
sched testing/sched: fix off-by-one sample count in timerjitter 2026-07-11 12:31:24 -03:00
sig_sp_test testing/sig_sp_test: add test for SP context restore on signal return 2026-06-22 10:21:40 -03:00
testsuites apps: Fix O_ACCMODE bitmask checks after Linux flag alignment 2026-06-30 12:19:58 -04:00
unity cmake: Use NUTTX(_DIR/_BINARY_DIR) instead of CMAKE(_SOURCE_DIR/BINARY_DIR) 2026-08-09 10:43:01 -03:00
.gitignore Ensure all source code end with one and only one newline 2020-02-09 08:14:49 -06:00
CMakeLists.txt testing/cxx-oot-build: Exclude cxx-oot-build in CMake projects. 2025-10-15 14:34:32 +08:00
Make.defs testing: migrate to SPDX identifier 2024-12-30 18:02:50 +08:00
Makefile testing: migrate to SPDX identifier 2024-12-30 18:02:50 +08:00