glibc/support
Xi Ruoyao bd0b58837c test-container: return UNSUPPORTED for ENOSPC on clone()
Since Linux 4.9, the kernel provides
/proc/sys/user/max_{mnt,pid,user}_namespace as a limitation of number of
namespaces.  Some distros (for example, Slint Linux 14.2.1) set them (or
only max_user_namespace) to zero as a "security policy" for disabling
namespaces.

The clone() call will set errno to ENOSPC under such a limitation.  We
didn't check ENOSPC in the code so the test will FAIL, and report:

    unable to unshare user/fs: No space left on device

This message is, unfortunately, very unhelpful.  It leads people to
check the memory or disk space, instead of finding the real issue.

To improve the situation, we should check for ENOSPC and return
UNSUPPORTED as the test result.  Also refactor check_for_unshare_hints()
to emit a proper message telling people how to make the test work, if
they really need to run the namespaced tests.

Reported-by: Philippe Delavalade <philippe.delavalade@orange.fr>
URL: https://lists.linuxfromscratch.org/sympa/arc/lfs-support/2022-06/msg00022.html
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
Reviewed-by: DJ Delorie <dj@redhat.com>
2022-07-05 22:34:51 -04:00
..
Depend elf: Testing infrastructure for ld.so DSO sorting (BZ #17645) 2021-10-21 11:23:53 -03:00
Makefile support: Add xmkfifo 2022-04-15 09:59:33 -03:00
README support: Add timespec.h 2019-05-09 14:33:53 -03:00
README-testing.c support: Introduce new subdirectory for test infrastructure 2016-12-09 08:18:27 +01:00
blob_repeat.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
blob_repeat.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
capture_subprocess.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
check.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
check.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
check_addrinfo.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
check_dns_packet.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
check_hostent.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
check_netent.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
check_nss.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
delayed_exit.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
descriptors.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
echo-container.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
format_nss.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
ignore_stderr.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
links-dso-program-c.c nss_db: fix endent wrt NULL mappings [BZ #24695] [BZ #24696] 2019-07-10 14:51:18 -04:00
links-dso-program.cc nss_db: fix endent wrt NULL mappings [BZ #24695] [BZ #24696] 2019-07-10 14:51:18 -04:00
namespace.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
next_to_fault.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
next_to_fault.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
oom_error.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
process_state.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
resolv_response_context_duplicate.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
resolv_response_context_free.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
resolv_test.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
resolv_test.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
run_diff.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
set_fortify_handler.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
shell-container.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
subprocess.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support-open-dev-null-range.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support-xfstat-time64.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support-xfstat.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support-xstat-time64.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support-xstat.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support.h Allow for unpriviledged nested containers 2022-04-04 14:17:08 -04:00
support_become_root.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_can_chroot.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_capture_subprocess.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_capture_subprocess_check.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_chroot.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_copy_file.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_copy_file_range.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_create_timer.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_descriptor_supports_holes.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_descriptors.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_enter_mount_namespace.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_enter_network_namespace.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_format_address_family.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_format_addrinfo.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_format_dns_packet.c support: Change non-address output format of support_format_dns_packet 2022-06-24 18:18:41 +02:00
support_format_herrno.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_format_hostent.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_format_netent.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_isolate_in_subprocess.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_mutex_pi_monotonic.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_need_proc.c Allow for unpriviledged nested containers 2022-04-04 14:17:08 -04:00
support_openpty.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_path_support_time64.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_paths.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_process_state.c support: Fix support_process_state_wait path size calculation 2022-03-23 15:28:18 -03:00
support_ptrace.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_quote_blob.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_quote_blob_main.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_quote_blob_wide.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_quote_string.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_record_failure.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_run_diff.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_select_modifies_timeout.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_select_normalizes_timeout.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_set_small_thread_stack_size.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_shared_allocate.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_small_stack_thread_attribute.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_socket_so_timestamp_time64.c support: Add support_socket_so_timestamp_time64 2022-01-28 17:46:43 -03:00
support_stack_alloc.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_stat_nanoseconds.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_subprocess.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_test_compare_blob.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_test_compare_failure.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_test_compare_string.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_test_compare_string_main.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_test_compare_string_wide.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_test_main.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_test_verify_impl.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_wait_for_thread_exit.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
support_write_file_string.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
temp_file-internal.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
temp_file.c support: Add helpers to create paths longer than PATH_MAX 2022-01-21 23:01:27 +05:30
temp_file.h support: Add helpers to create paths longer than PATH_MAX 2022-01-21 23:01:27 +05:30
test-container.c test-container: return UNSUPPORTED for ENOSPC on clone() 2022-07-05 22:34:51 -04:00
test-driver.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
test-driver.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
test-run-command.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
timespec-add-time64.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
timespec-add.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
timespec-sub-time64.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
timespec-sub.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
timespec-time64.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
timespec.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
timespec.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
true-container.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-support-namespace.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-support-open-dev-null-range.c Avoid -Wuse-after-free in tests [BZ #26779]. 2022-01-26 10:38:23 -07:00
tst-support-process_state.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-support_blob_repeat.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-support_capture_subprocess.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-support_descriptors.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-support_format_dns_packet.c support: Change non-address output format of support_format_dns_packet 2022-06-24 18:18:41 +02:00
tst-support_quote_blob.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-support_quote_blob_wide.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-support_quote_string.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-support_record_failure-2.sh Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-support_record_failure.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-test_compare.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-test_compare_blob.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-test_compare_string.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-test_compare_string_wide.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-timespec.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-xreadlink.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-xsigstack.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tty.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
write_message.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xaccept.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xaccept4.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xasprintf.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xbind.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xcalloc.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xchdir.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xchmod.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xchroot.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xclock_gettime.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xclock_gettime_time64.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xclock_settime.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xclock_settime_time64.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xclone.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xclose.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xconnect.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xcopy_file_range.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xdlfcn.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xdlfcn.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xdlmopen.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xdup2.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xfchmod.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xfclose.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xfopen.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xfork.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xftruncate.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xgetline.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xgetsockname.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xlisten.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xlseek.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xlstat-time64.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xlstat.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xmalloc.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xmemstream.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xmemstream.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xmkdir.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xmkdirp.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xmkfifo.c support: Add xmkfifo 2022-04-15 09:59:33 -03:00
xmmap.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xmprotect.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xmunmap.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xnewlocale.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xopen.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpipe.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpoll.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xposix_memalign.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xposix_spawn.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xposix_spawn_file_actions_addclose.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xposix_spawn_file_actions_adddup2.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_attr_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_attr_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_attr_setaffinity_np.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_attr_setdetachstate.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_attr_setguardsize.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_attr_setstack.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_attr_setstacksize.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_barrier_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_barrier_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_barrier_wait.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_barrierattr_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_barrierattr_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_barrierattr_setpshared.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_cancel.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_check_return.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_cond_wait.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_create.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_detach.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_join.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_key_create.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_key_delete.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_kill.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_mutex_consistent.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_mutex_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_mutex_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_mutex_lock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_mutex_unlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_mutexattr_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_mutexattr_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_mutexattr_setprotocol.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_mutexattr_setpshared.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_mutexattr_setrobust.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_mutexattr_settype.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_once.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_rwlock_destroy.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_rwlock_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_rwlock_rdlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_rwlock_unlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_rwlock_wrlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_rwlockattr_init.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_rwlockattr_setkind_np.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_sigmask.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_spin_lock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xpthread_spin_unlock.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xptrace.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xraise.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xreadlink.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xrealloc.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xrecvfrom.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xsched.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xsendto.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xsetlocale.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xsetsockopt.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xsigaction.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xsignal.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xsignal.h debug: Synchronize feature guards in fortified functions [BZ #28746] 2022-01-12 23:34:48 +05:30
xsigstack.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xsocket.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xsocket.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xspawn.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xstdio.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xstrdup.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xstrndup.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xsymlink.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xsysconf.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xthread.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xtime.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xunistd.h support: Add xmkfifo 2022-04-15 09:59:33 -03:00
xunlink.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xuselocale.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xwaitpid.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
xwrite.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -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 identifers 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