glibc/support
Arjun Shankar bd0e88f05c support: Add support for running tests in a multi-threaded environment
It can be useful to be able to write a single-threaded test but run it
as part of a multi-threaded program simply to exercise glibc
synchronization code paths, e.g. the malloc implementation.

This commit adds support to enable this kind of testing.  Tests that
define TEST_IN_THREAD, either as TEST_THREAD_MAIN or TEST_THREAD_WORKER,
and then use support infrastructure (by including test-driver.c) will be
accordingly run in either the main thread, or in a second "worker"
thread while the other thread waits.

This can be used in new tests, or to easily make and run copies of
existing tests without modifying the tests themselves.

Reviewed-by: Florian Weimer <fweimer@redhat.com>
2025-11-24 16:47:52 +01:00
..
bundled Fix license typo induced by update-copyrighyt 2025-01-01 11:22:09 -08:00
Depend
Makefile support: Add support for running tests in a multi-threaded environment 2025-11-24 16:47:52 +01:00
README
README-testing.c
blob_repeat.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
blob_repeat.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
capture_subprocess.h Fix error reporting (false negatives) in SGID tests 2025-05-22 14:36:37 +02:00
check.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
check.h support: Add support_accept_oom to heuristically support OOM errors 2025-09-18 19:11:38 +02:00
check_addrinfo.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
check_dns_packet.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
check_hostent.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
check_mem_access.h support: fix build failure due to lack of stdbool.h 2025-09-17 13:02:01 +01:00
check_netent.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
check_nss.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
delayed_exit.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
descriptors.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dtotimespec-time64.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
dtotimespec.c support: Handle clang support/dtotimespec.c on dtotimespec 2025-10-21 09:26:04 -03:00
echo-container.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
file_contents.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
format_nss.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
fuse.h support: Handle COPY_FILE_RANGE events with FUSE 2025-08-03 11:22:44 +02:00
ignore_stderr.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
links-dso-program-c.c support: Link links-dso-program-c against libgcc_s 2025-03-21 11:45:00 +01:00
links-dso-program.cc
namespace.h nss: Improve network number parsers (bz 32573, 32575) 2025-02-13 16:31:28 -03:00
next_to_fault.c support: Add support_next_to_fault_before support function 2025-02-24 14:19:36 +01:00
next_to_fault.h support: Add support_next_to_fault_before support function 2025-02-24 14:19:36 +01:00
oom_error.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
process_state.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
readdir.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
resolv_response_context_duplicate.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
resolv_response_context_free.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
resolv_test.c support: Exit on consistency check failure in resolv_response_add_name 2025-11-07 08:50:44 +01:00
resolv_test.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
run_diff.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
set_fortify_handler.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
shell-container.c Tests: Create files with mode 0666, not 0777 (bug 33171) 2025-09-01 15:12:28 +02:00
subprocess.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support-open-dev-null-range.c Fix incorrect setrlimit return value checks in tests 2025-10-28 18:51:51 -07:00
support.h support: Add support_accept_oom to heuristically support OOM errors 2025-09-18 19:11:38 +02:00
support_become_root.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_can_chroot.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_capture_subprocess.c hurd: support: Fix running SGID tests 2025-08-03 23:59:55 +02:00
support_capture_subprocess_check.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_check_stat_fd.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_check_stat_path.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_chroot.c nss: Improve network number parsers (bz 32573, 32575) 2025-02-13 16:31:28 -03:00
support_compare_file_bytes.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_compare_file_string.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_copy_file.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_copy_file_range.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_create_timer.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_descriptor_supports_holes.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_descriptors.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_enter_mount_namespace.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_enter_network_namespace.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_format_address_family.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_format_addrinfo.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_format_dns_packet.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_format_herrno.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_format_hostent.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_format_netent.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_fuse.c support: Handle FUSE_GETXATTR during FUSE FS mount 2025-08-19 09:54:38 +02:00
support_isolate_in_subprocess.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_mem_access.c support: fix build failure due to lack of stdbool.h 2025-09-17 13:02:01 +01:00
support_mutex_pi_monotonic.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_need_proc.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_open_and_compare_file_bytes.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_open_and_compare_file_string.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_openpty.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_path_support_time64.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_paths.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_process_state.c support: Use CHAR_MAX as maximum value 2025-10-21 09:24:29 -03:00
support_ptrace.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_quote_blob.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_quote_blob_main.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_quote_blob_wide.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_quote_string.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_readdir.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_readdir_check.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_readdir_r_check.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_record_failure.c support: Add support_accept_oom to heuristically support OOM errors 2025-09-18 19:11:38 +02:00
support_run_diff.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_select_modifies_timeout.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_select_normalizes_timeout.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_set_small_thread_stack_size.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_set_vma_name_supported.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_shared_allocate.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_small_stack_thread_attribute.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_socket_so_timestamp_time64.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_stack_alloc.c elf: early conversion of elf p_flags to mprotect flags 2025-08-27 10:45:45 -03:00
support_stat_nanoseconds.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_subprocess.c Delete temporary files in support_subprocess 2025-08-04 14:41:29 -07:00
support_test_compare_blob.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_test_compare_failure.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_test_compare_string.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_test_compare_string_main.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_test_compare_string_wide.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_test_in_thread_wrapper.c support: Add support for running tests in a multi-threaded environment 2025-11-24 16:47:52 +01:00
support_test_main.c support: Add support for running tests in a multi-threaded environment 2025-11-24 16:47:52 +01:00
support_test_verify_impl.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_wait_for_thread_exit.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
support_write_file_string.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
temp_file-internal.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
temp_file.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
temp_file.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
test-container.c support: Fix FILE * leak in check_for_unshare_hints in test-container 2025-11-06 16:27:51 +01:00
test-driver.c support: Add support for running tests in a multi-threaded environment 2025-11-24 16:47:52 +01:00
test-driver.h support: Add support for running tests in a multi-threaded environment 2025-11-24 16:47:52 +01:00
test-run-command.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
timespec-add-time64.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
timespec-add.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
timespec-sub-time64.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
timespec-sub.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
timespec-time64.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
timespec.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
timespec.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
true-container.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-glibcpp.py Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-support-namespace.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-support-open-dev-null-range.c Fix incorrect setrlimit return value checks in tests 2025-10-28 18:51:51 -07:00
tst-support-openpty-c.c add ptmx support to test-container 2025-04-01 15:20:40 -04:00
tst-support-openpty.c add ptmx support to test-container 2025-04-01 15:20:40 -04:00
tst-support-process_state.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-support_accept_oom.c support: Add support_accept_oom to heuristically support OOM errors 2025-09-18 19:11:38 +02:00
tst-support_blob_repeat.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-support_capture_subprocess.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-support_descriptors.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-support_format_dns_packet.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-support_fuse.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-support_quote_blob.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-support_quote_blob_wide.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-support_quote_string.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-support_readdir.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-support_record_failure-2.sh Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-support_record_failure.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-test_compare.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-test_compare_blob.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-test_compare_string.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-test_compare_string_wide.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-timespec.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-xdirent.c tst-xdirent: Fix allocating dirent for readdir_r call 2025-01-07 01:56:41 +01:00
tst-xreadlink.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tst-xsigstack.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
tty.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
write_message.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xaccept.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xaccept4.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xasprintf.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xbind.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xcalloc.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xchdir.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xchmod.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xchroot.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xclock_gettime.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xclock_gettime_time64.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xclock_settime.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xclock_settime_time64.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xclone.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xclose.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xclosedir.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xconnect.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xcopy_file_range.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xdirent.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xdlfcn.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xdlfcn.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xdlmopen.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xdup.c
xdup2.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xfchmod.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xfclose.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xfdopendir.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xfgets.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xfmemopen.c support: Implement 'xfmemopen' for seamless 'fmemopen' use 2025-09-05 11:53:31 +01:00
xfopen.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xfork.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xfread.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xfreopen.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xftruncate.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xgetline.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xgetpeername.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xgetsockname.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xlisten.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xlseek.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xmalloc.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xmemstream.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xmemstream.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xmkdir.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xmkdirp.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xmkfifo.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xmmap.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xmprotect.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xmunmap.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xnewlocale.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xopen.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xopendir.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpipe.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpoll.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xposix_memalign.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xposix_spawn.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xposix_spawn_file_actions_addclose.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xposix_spawn_file_actions_adddup2.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_attr_destroy.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_attr_init.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_attr_setaffinity_np.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_attr_setdetachstate.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_attr_setguardsize.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_attr_setstack.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_attr_setstacksize.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_barrier_destroy.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_barrier_init.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_barrier_wait.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_barrierattr_destroy.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_barrierattr_init.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_barrierattr_setpshared.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_cancel.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_check_return.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_cond_signal.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_cond_wait.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_create.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_detach.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_join.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_key_create.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_key_delete.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_kill.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_mutex_consistent.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_mutex_destroy.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_mutex_init.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_mutex_lock.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_mutex_unlock.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_mutexattr_destroy.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_mutexattr_init.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_mutexattr_setprotocol.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_mutexattr_setpshared.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_mutexattr_setrobust.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_mutexattr_settype.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_once.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_rwlock_destroy.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_rwlock_init.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_rwlock_rdlock.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_rwlock_unlock.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_rwlock_wrlock.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_rwlockattr_init.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_rwlockattr_setkind_np.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_sigmask.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_spin_lock.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpthread_spin_unlock.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xptrace.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xraise.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xread.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xreadlink.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xrealloc.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xrecvfrom.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xsched.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xsendto.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xsetlocale.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xsetsockopt.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xsigaction.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xsignal.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xsignal.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xsigstack.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xsocket.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xsocket.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xspawn.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xstatx.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xstdio.h support: Implement 'xfmemopen' for seamless 'fmemopen' use 2025-09-05 11:53:31 +01:00
xstdlib.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xstrdup.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xstrndup.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xsymlink.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xsysconf.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xsystem.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xthread.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xtime.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xunistd.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xunlink.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xuselocale.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xwaitpid.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xwrite.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00

README

This subdirectory contains infrastructure which is not put into
installed libraries, but may be linked into programs (installed or
not) and tests.

# Error-checking wrappers

These wrappers test for error return codes an terminate the process on
error.  They are declared in these header files:

* support.h
* xsignal.h
* xthread.h
* xtime.h

In general, new wrappers should be added to support.h if possible.
However, support.h must remain fully compatible with C90 and therefore
cannot include headers which use identifiers not reserved in C90.  If
the wrappers need additional types, additional headers such as
signal.h need to be introduced.

# Test framework

The test framework provides a main program for tests, including a
timeout for hanging tests.  See README-testing.c for a minimal
example, and test-driver.c for details how to use it.  The following
header files provide related declarations:

* check.h
* temp_file.h
* test-driver.h

For tests that make use of struct timespec, the following header files
contain additional macros and helper functions:

* timespec.h