glibc/support
H.J. Lu 81b9d87bae test-container: Use xcopy_file_range for cross-device copy [BZ #23597]
copy_file_range can't be used to copy a file from glibc source directory
to glibc build directory since they may be on different filesystems.
This patch adds xcopy_file_range for cross-device copy.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>

	[BZ #23597]
	* support/Makefile (libsupport-routines): Add
	support_copy_file_range and xcopy_file_range.
	* support/support.h: Include <sys/types.h>.
	(support_copy_file_range): New prototype.
	* support/support_copy_file_range.c: New file.  Copied and
	modified from io/copy_file_range-compat.c.
	* support/test-container.c (copy_one_file): Call xcopy_file_rang
	instead of copy_file_range.
	* support/xcopy_file_range.c: New file.
	* support/xunistd.h (xcopy_file_range): New prototype.
2018-08-31 13:08:02 -07:00
..
capture_subprocess.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
check_addrinfo.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
check_dns_packet.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
check_hostent.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
check_netent.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
check_nss.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
check.c support: Preserve errno in write_message, TEST_VERIFY and other checks 2018-01-12 13:35:01 +01:00
check.h support: Add TEST_COMPARE_BLOB, support_quote_blob 2018-05-16 17:00:36 +02:00
delayed_exit.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
echo-container.c Add test-in-container infrastructure. 2018-08-22 21:20:37 -04:00
format_nss.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ignore_stderr.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +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 test-container: Use xcopy_file_range for cross-device copy [BZ #23597] 2018-08-31 13:08:02 -07:00
namespace.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
next_to_fault.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
next_to_fault.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oom_error.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
README
README-testing.c
resolv_test.c resolv: Support binary labels in test framework 2018-01-08 20:07:24 +01:00
resolv_test.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
run_diff.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
set_fortify_handler.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
shell-container.c Add test-in-container infrastructure. 2018-08-22 21:20:37 -04:00
support_become_root.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support_can_chroot.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support_capture_subprocess_check.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support_capture_subprocess.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support_chroot.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support_copy_file_range.c test-container: Use xcopy_file_range for cross-device copy [BZ #23597] 2018-08-31 13:08:02 -07:00
support_descriptor_supports_holes.c Avoid running some tests if the file system does not support holes 2018-08-21 12:56:53 +02:00
support_enter_mount_namespace.c support_enter_mount_namespace: Fix indentation 2018-01-04 15:11:41 +01:00
support_enter_network_namespace.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support_format_address_family.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support_format_addrinfo.c Switch IDNA implementation to libidn2 [BZ #19728] [BZ #19729] [BZ #22247] 2018-05-23 15:27:24 +02:00
support_format_dns_packet.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support_format_herrno.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support_format_hostent.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support_format_netent.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support_isolate_in_subprocess.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support_openpty.c [BZ 1190] Make EOF sticky in stdio. 2018-03-13 08:31:56 -04:00
support_paths.c Add test-in-container infrastructure. 2018-08-22 21:20:37 -04:00
support_quote_blob.c support: Add TEST_COMPARE_BLOB, support_quote_blob 2018-05-16 17:00:36 +02:00
support_record_failure.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support_run_diff.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support_shared_allocate.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support_test_compare_blob.c support: Add TEST_COMPARE_BLOB, support_quote_blob 2018-05-16 17:00:36 +02:00
support_test_compare_failure.c support: Preserve errno in write_message, TEST_VERIFY and other checks 2018-01-12 13:35:01 +01:00
support_test_main.c support: Add TEST_NO_SETVBUF 2018-06-26 12:30:50 +02:00
support_test_verify_impl.c support: Preserve errno in write_message, TEST_VERIFY and other checks 2018-01-12 13:35:01 +01:00
support_write_file_string.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support-xfstat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support-xstat.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
support.h test-container: Use xcopy_file_range for cross-device copy [BZ #23597] 2018-08-31 13:08:02 -07:00
temp_file-internal.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
temp_file.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
temp_file.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-container.c test-container: Use xcopy_file_range for cross-device copy [BZ #23597] 2018-08-31 13:08:02 -07:00
test-driver.c support: Add TEST_NO_SETVBUF 2018-06-26 12:30:50 +02:00
test-driver.h support: Add TEST_NO_SETVBUF 2018-06-26 12:30:50 +02:00
true-container.c Add test-in-container infrastructure. 2018-08-22 21:20:37 -04:00
tst-support_capture_subprocess.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-support_format_dns_packet.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-support_quote_blob.c support: Add TEST_COMPARE_BLOB, support_quote_blob 2018-05-16 17:00:36 +02:00
tst-support_record_failure-2.sh Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-support_record_failure.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-support-namespace.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-test_compare_blob.c support: Add TEST_COMPARE_BLOB, support_quote_blob 2018-05-16 17:00:36 +02:00
tst-test_compare.c support: Increase usability of TEST_COMPARE 2018-01-08 20:07:24 +01:00
tst-xreadlink.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tty.h [BZ 1190] Make EOF sticky in stdio. 2018-03-13 08:31:56 -04:00
write_message.c support: Preserve errno in write_message, TEST_VERIFY and other checks 2018-01-12 13:35:01 +01:00
xaccept4.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xaccept.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xasprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xbind.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xcalloc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xchroot.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xclose.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xconnect.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xcopy_file_range.c test-container: Use xcopy_file_range for cross-device copy [BZ #23597] 2018-08-31 13:08:02 -07:00
xdlfcn.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xdlfcn.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xdup2.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xfclose.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xfopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xfork.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xftruncate.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xgetsockname.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xlisten.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xlseek.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xmalloc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xmemstream.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xmemstream.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xmkdir.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xmkdirp.c Add test-in-container infrastructure. 2018-08-22 21:20:37 -04:00
xmmap.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xmprotect.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xmunmap.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpipe.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpoll.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_attr_destroy.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_attr_init.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_attr_setdetachstate.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_attr_setguardsize.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_attr_setstacksize.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_barrier_destroy.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_barrier_init.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_barrier_wait.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_barrierattr_destroy.c support: Add wrappers for pthread_barrierattr_t 2018-05-29 15:37:00 +02:00
xpthread_barrierattr_init.c support: Add wrappers for pthread_barrierattr_t 2018-05-29 15:37:00 +02:00
xpthread_barrierattr_setpshared.c support: Add wrappers for pthread_barrierattr_t 2018-05-29 15:37:00 +02:00
xpthread_cancel.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_check_return.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_cond_wait.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_create.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_detach.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_join.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_mutex_consistent.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_mutex_destroy.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_mutex_init.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_mutex_lock.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_mutex_unlock.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_mutexattr_destroy.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_mutexattr_init.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_mutexattr_setprotocol.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_mutexattr_setpshared.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_mutexattr_setrobust.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_mutexattr_settype.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_once.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_rwlock_init.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_rwlock_rdlock.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_rwlock_unlock.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_rwlock_wrlock.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_rwlockattr_init.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_rwlockattr_setkind_np.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_sigmask.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_spin_lock.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xpthread_spin_unlock.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xraise.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xreadlink.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xrealloc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xrecvfrom.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xsendto.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xsetsockopt.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xsigaction.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xsignal.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xsignal.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xsocket.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xsocket.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xstdio.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xstrdup.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xstrndup.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xsymlink.c Add test-in-container infrastructure. 2018-08-22 21:20:37 -04:00
xsysconf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xthread.h support: Add wrappers for pthread_barrierattr_t 2018-05-29 15:37:00 +02:00
xunistd.h test-container: Use xcopy_file_range for cross-device copy [BZ #23597] 2018-08-31 13:08:02 -07:00
xunlink.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xwaitpid.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
xwrite.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +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