glibc/support
Joseph Myers 86140c6223 Avoid fall-through in test-container if execlp fails.
One of the implicit-fallthrough warnings from compiling glibc with
-Wextra appears to indicate an actual bug: the test-container code
could fall through inappropriately if execlp returns (which only
occurs on error).  This patch adds appropriate error handling in this
case to avoid that fall-through.

Tested for x86_64.

	* support/test-container.c (recursive_remove): Use FAIL_EXIT1 if
	execlp returns.
2019-02-13 13:34:24 +00:00
..
blob_repeat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
blob_repeat.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
capture_subprocess.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
check_addrinfo.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
check_dns_packet.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
check_hostent.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
check_netent.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
check_nss.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
check.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
check.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
delayed_exit.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
descriptors.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
echo-container.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
format_nss.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ignore_stderr.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
links-dso-program-c.c Add test-in-container infrastructure. 2018-08-22 21:20:37 -04:00
links-dso-program.cc Add test-in-container infrastructure. 2018-08-22 21:20:37 -04:00
Makefile support: Implement xdlmopen 2019-02-07 09:02:01 +01:00
namespace.h nss_files: Fix /etc/aliases null pointer dereference [BZ #24059] 2019-01-31 18:49:58 +01:00
next_to_fault.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
next_to_fault.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
oom_error.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
README
README-testing.c
resolv_test.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
resolv_test.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
run_diff.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
set_fortify_handler.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
shell-container.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_become_root.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_can_chroot.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_capture_subprocess_check.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_capture_subprocess.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_chroot.c nss_files: Fix /etc/aliases null pointer dereference [BZ #24059] 2019-01-31 18:49:58 +01:00
support_copy_file_range.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_descriptor_supports_holes.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_descriptors.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_enter_mount_namespace.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_enter_network_namespace.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_format_address_family.c support: Handle AF_LOCAL, AF_UNSPEC in support_format_address_family 2019-02-01 14:15:50 +01:00
support_format_addrinfo.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_format_dns_packet.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_format_herrno.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_format_hostent.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_format_netent.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_isolate_in_subprocess.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_openpty.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_paths.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_quote_blob.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_quote_string.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_record_failure.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_run_diff.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_shared_allocate.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_test_compare_blob.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_test_compare_failure.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_test_compare_string.c support: Correct error message for TEST_COMPARE_STRING 2019-02-01 14:15:50 +01:00
support_test_main.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_test_verify_impl.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support_write_file_string.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support-xfstat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support-xstat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
support.h Fix alignment of TLS variables for tls variant TLS_TCB_AT_TP [BZ #23403] 2019-02-06 09:06:34 +01:00
temp_file-internal.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
temp_file.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
temp_file.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
test-container.c Avoid fall-through in test-container if execlp fails. 2019-02-13 13:34:24 +00:00
test-driver.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
test-driver.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
true-container.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-support_blob_repeat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-support_capture_subprocess.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-support_descriptors.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-support_format_dns_packet.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-support_quote_blob.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-support_quote_string.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-support_record_failure-2.sh Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-support_record_failure.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-support-namespace.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-test_compare_blob.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-test_compare_string.c support: Correct error message for TEST_COMPARE_STRING 2019-02-01 14:15:50 +01:00
tst-test_compare.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-xreadlink.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-xsigstack.c Tests for minimal signal handler functionality in MINSIGSTKSZ space. 2019-01-16 09:04:10 -05:00
tty.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
write_message.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xaccept4.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xaccept.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xasprintf.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xbind.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xcalloc.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xchroot.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xclose.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xconnect.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xcopy_file_range.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xdlfcn.c support: Use dlerror to detect NULL symbols in xdlsym 2019-02-06 16:45:25 +01:00
xdlfcn.h support: Implement xdlmopen 2019-02-07 09:02:01 +01:00
xdlmopen.c support: Implement xdlmopen 2019-02-07 09:02:01 +01:00
xdup2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xfclose.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xfopen.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xfork.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xftruncate.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xgetsockname.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xlisten.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xlseek.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xmalloc.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xmemstream.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xmemstream.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xmkdir.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xmkdirp.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xmmap.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xmprotect.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xmunmap.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xopen.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpipe.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpoll.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xposix_memalign.c Fix alignment of TLS variables for tls variant TLS_TCB_AT_TP [BZ #23403] 2019-02-06 09:06:34 +01:00
xpthread_attr_destroy.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_attr_init.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_attr_setdetachstate.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_attr_setguardsize.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_attr_setstack.c Fix alignment of TLS variables for tls variant TLS_TCB_AT_TP [BZ #23403] 2019-02-06 09:06:34 +01:00
xpthread_attr_setstacksize.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_barrier_destroy.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_barrier_init.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_barrier_wait.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_barrierattr_destroy.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_barrierattr_init.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_barrierattr_setpshared.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_cancel.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_check_return.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_cond_wait.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_create.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_detach.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_join.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_mutex_consistent.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_mutex_destroy.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_mutex_init.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_mutex_lock.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_mutex_unlock.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_mutexattr_destroy.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_mutexattr_init.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_mutexattr_setprotocol.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_mutexattr_setpshared.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_mutexattr_setrobust.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_mutexattr_settype.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_once.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_rwlock_destroy.c nptl: Fix pthread_rwlock_try*lock stalls (Bug 23844) 2019-01-31 20:47:55 -05:00
xpthread_rwlock_init.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_rwlock_rdlock.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_rwlock_unlock.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_rwlock_wrlock.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_rwlockattr_init.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_rwlockattr_setkind_np.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_sigmask.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_spin_lock.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xpthread_spin_unlock.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xraise.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xreadlink.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xrealloc.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xrecvfrom.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xsendto.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xsetsockopt.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xsigaction.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xsignal.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xsignal.h Tests for minimal signal handler functionality in MINSIGSTKSZ space. 2019-01-16 09:04:10 -05:00
xsigstack.c hurd: Fix libsupport xsigstack build 2019-01-24 09:38:49 -02:00
xsocket.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xsocket.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xstdio.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xstrdup.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xstrndup.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xsymlink.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xsysconf.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xthread.h Fix alignment of TLS variables for tls variant TLS_TCB_AT_TP [BZ #23403] 2019-02-06 09:06:34 +01:00
xunistd.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xunlink.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xwaitpid.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
xwrite.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00: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

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