glibc/support
Simon Chopin 59e0441d4a tests: gracefully handle AppArmor userns containment
Recent AppArmor containment allows restricting unprivileged user
namespaces, which is enabled by default on recent Ubuntu systems.
When this happens, as is common with Linux Security Modules, the syscall
will fail with -EACCESS.

When that happens, the affected tests will now be considered unsupported
rather than simply failing.

Further information:

* https://gitlab.com/apparmor/apparmor/-/wikis/unprivileged_userns_restriction
* https://ubuntu.com/blog/ubuntu-23-10-restricted-unprivileged-user-namespaces
* https://manpages.ubuntu.com/manpages/jammy/man5/apparmor.d.5.html (for
  the return code)

V2:
* Fix duplicated line in check_unshare_hints
* Also handle similar failure in tst-pidfd_getpid

V3:
* Comment formatting
* Aded some more documentation on syscall return value

Signed-off-by: Simon Chopin <simon.chopin@canonical.com>
2024-02-23 08:50:00 -03:00
..
blob_repeat.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
blob_repeat.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
capture_subprocess.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
check_addrinfo.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
check_dns_packet.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
check_hostent.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
check_netent.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
check_nss.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
check.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
check.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
delayed_exit.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
Depend
descriptors.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dtotimespec-time64.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dtotimespec.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
echo-container.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
format_nss.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
ignore_stderr.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
links-dso-program-c.c
links-dso-program.cc
Makefile Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
namespace.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
next_to_fault.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
next_to_fault.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
oom_error.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
process_state.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
README Fix all the remaining misspellings -- BZ 25337 2023-06-02 01:39:48 +00:00
README-testing.c
resolv_response_context_duplicate.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
resolv_response_context_free.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
resolv_test.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
resolv_test.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
run_diff.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
set_fortify_handler.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
shell-container.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
subprocess.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_become_root.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_can_chroot.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_capture_subprocess_check.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_capture_subprocess.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_chroot.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_copy_file_range.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_copy_file.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_create_timer.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_descriptor_supports_holes.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_descriptors.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_enter_mount_namespace.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_enter_network_namespace.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_format_address_family.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_format_addrinfo.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_format_dns_packet.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_format_herrno.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_format_hostent.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_format_netent.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_isolate_in_subprocess.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_mutex_pi_monotonic.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_need_proc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_openpty.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_path_support_time64.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_paths.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_process_state.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_ptrace.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_quote_blob_main.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_quote_blob_wide.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_quote_blob.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_quote_string.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_record_failure.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_run_diff.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_select_modifies_timeout.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_select_normalizes_timeout.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_set_small_thread_stack_size.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_set_vma_name_supported.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_shared_allocate.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_small_stack_thread_attribute.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_socket_so_timestamp_time64.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_stack_alloc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_stat_nanoseconds.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_subprocess.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_test_compare_blob.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_test_compare_failure.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_test_compare_string_main.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_test_compare_string_wide.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_test_compare_string.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_test_main.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_test_verify_impl.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_wait_for_thread_exit.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support_write_file_string.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support-open-dev-null-range.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support-xfstat-time64.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support-xfstat.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support-xstat-time64.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support-xstat.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
support.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
temp_file-internal.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
temp_file.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
temp_file.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-container.c tests: gracefully handle AppArmor userns containment 2024-02-23 08:50:00 -03:00
test-driver.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-driver.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
test-run-command.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
timespec-add-time64.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
timespec-add.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
timespec-sub-time64.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
timespec-sub.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
timespec-time64.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
timespec.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
timespec.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
true-container.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-glibcpp.py Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-support_blob_repeat.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-support_capture_subprocess.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-support_descriptors.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-support_format_dns_packet.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-support_quote_blob_wide.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-support_quote_blob.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-support_quote_string.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-support_record_failure-2.sh Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-support_record_failure.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-support-namespace.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-support-open-dev-null-range.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-support-process_state.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-test_compare_blob.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-test_compare_string_wide.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-test_compare_string.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-test_compare.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-timespec.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-xreadlink.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-xsigstack.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tty.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
write_message.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xaccept4.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xaccept.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xasprintf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xbind.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xcalloc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xchdir.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xchmod.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xchroot.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xclock_gettime_time64.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xclock_gettime.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xclock_settime_time64.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xclock_settime.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xclone.c Remove ia64-linux-gnu 2024-01-08 17:09:36 -03:00
xclose.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xconnect.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xcopy_file_range.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xdlfcn.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xdlfcn.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xdlmopen.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xdup2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xfchmod.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xfclose.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xfgets.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xfopen.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xfork.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xfread.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xfreopen.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xftruncate.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xgetline.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xgetsockname.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xlisten.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xlseek.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xlstat-time64.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xlstat.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xmalloc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xmemstream.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xmemstream.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xmkdir.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xmkdirp.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xmkfifo.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xmmap.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xmprotect.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xmunmap.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xnewlocale.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xopen.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpipe.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpoll.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xposix_memalign.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xposix_spawn_file_actions_addclose.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xposix_spawn_file_actions_adddup2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xposix_spawn.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_attr_destroy.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_attr_init.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_attr_setaffinity_np.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_attr_setdetachstate.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_attr_setguardsize.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_attr_setstack.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_attr_setstacksize.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_barrier_destroy.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_barrier_init.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_barrier_wait.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_barrierattr_destroy.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_barrierattr_init.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_barrierattr_setpshared.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_cancel.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_check_return.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_cond_signal.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_cond_wait.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_create.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_detach.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_join.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_key_create.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_key_delete.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_kill.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_mutex_consistent.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_mutex_destroy.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_mutex_init.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_mutex_lock.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_mutex_unlock.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_mutexattr_destroy.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_mutexattr_init.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_mutexattr_setprotocol.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_mutexattr_setpshared.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_mutexattr_setrobust.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_mutexattr_settype.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_once.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_rwlock_destroy.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_rwlock_init.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_rwlock_rdlock.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_rwlock_unlock.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_rwlock_wrlock.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_rwlockattr_init.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_rwlockattr_setkind_np.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_sigmask.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_spin_lock.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xpthread_spin_unlock.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xptrace.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xraise.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xread.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xreadlink.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xrealloc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xrecvfrom.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xsched.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xsendto.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xsetlocale.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xsetsockopt.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xsigaction.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xsignal.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xsignal.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xsigstack.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xsocket.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xsocket.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xspawn.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xstdio.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xstdlib.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xstrdup.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xstrndup.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xsymlink.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xsysconf.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xsystem.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xthread.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xtime.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xunistd.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xunlink.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xuselocale.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xwaitpid.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
xwrite.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00

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