glibc/support
Adhemerval Zanella b2970919ba io: Return UNSUPPORTED if filesystem do not support 64 bit timestamps
Some Linux filesystems might not fully support 64 bit timestamps [1],
which make some Linux specific tests to fail when they check for the
functionality.

This patch adds a new libsupport function, support_path_support_time64,
that returns whether the target file supports or not 64 bit timestamps.
The support is checked by issuing a utimensat and verifying both the
last access and last modification time against a statx call.

The tests that might fail are also adjusted to check the file support
as well:

  $ dd if=/dev/zero of=loopbackfile.img bs=100M count=1
  1+0 records in
  1+0 records out
  104857600 bytes (105 MB, 100 MiB) copied, 0,0589568 s, 1,8 GB/s
  $ sudo losetup -fP loopbackfile.img
  $ mkfs.xfs loopbackfile.img
  meta-data=loopbackfile.img       isize=512    agcount=4, agsize=6400 blks
           =                       sectsz=512   attr=2, projid32bit=1
           =                       crc=1        finobt=1, sparse=1, rmapbt=0
           =                       reflink=1
  data     =                       bsize=4096   blocks=25600, imaxpct=25
           =                       sunit=0      swidth=0 blks
  naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
  log      =internal log           bsize=4096   blocks=1368, version=2
           =                       sectsz=512   sunit=0 blks, lazy-count=1
  realtime =none                   extsz=4096   blocks=0, rtextents=0
  $ mkdir loopfs
  $ sudo mount -o loop /dev/loop0 loopfs/
  $ sudo chown -R azanella:azanella loopfs
  $ TMPDIR=loopfs/ ./testrun.sh misc/tst-utimes
  error: ../sysdeps/unix/sysv/linux/tst-utimes.c:55: File loopfs//utimesfECsK1 does not support 64-bit timestamps

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1795576
2021-03-12 10:17:31 -03:00
..
blob_repeat.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
blob_repeat.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
capture_subprocess.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
check_addrinfo.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
check_dns_packet.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
check_hostent.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
check_netent.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
check_nss.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
check.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
check.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
delayed_exit.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
descriptors.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
echo-container.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
format_nss.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ignore_stderr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -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
Makefile io: Return UNSUPPORTED if filesystem do not support 64 bit timestamps 2021-03-12 10:17:31 -03:00
namespace.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
next_to_fault.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
next_to_fault.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
oom_error.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
process_state.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08: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
resolv_response_context_duplicate.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
resolv_response_context_free.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
resolv_test.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
resolv_test.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
run_diff.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
set_fortify_handler.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
shell-container.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
subprocess.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_become_root.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_can_chroot.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_capture_subprocess_check.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_capture_subprocess.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_chroot.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_copy_file_range.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_copy_file.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_descriptor_supports_holes.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_descriptors.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_enter_mount_namespace.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_enter_network_namespace.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_format_address_family.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_format_addrinfo.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_format_dns_packet.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_format_herrno.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_format_hostent.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_format_netent.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_isolate_in_subprocess.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_openpty.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_path_support_time64.c io: Return UNSUPPORTED if filesystem do not support 64 bit timestamps 2021-03-12 10:17:31 -03:00
support_paths.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_process_state.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_ptrace.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_quote_blob.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_quote_string.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_record_failure.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_run_diff.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_set_small_thread_stack_size.c support: Add support_small_thread_stack_size 2021-01-05 11:33:16 -03:00
support_shared_allocate.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_small_stack_thread_attribute.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_subprocess.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_test_compare_blob.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_test_compare_failure.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_test_compare_string.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_test_main.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_test_verify_impl.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support_write_file_string.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support-xfstat.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support-xstat.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
support.h io: Return UNSUPPORTED if filesystem do not support 64 bit timestamps 2021-03-12 10:17:31 -03:00
temp_file-internal.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
temp_file.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
temp_file.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-container.c test-container: Always copy test-specific support files [BZ #27537] 2021-03-11 17:04:12 -05:00
test-driver.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-driver.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
timespec-add.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
timespec-sub.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
timespec.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
timespec.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
true-container.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-support_blob_repeat.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-support_capture_subprocess.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-support_descriptors.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-support_format_dns_packet.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-support_quote_blob.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-support_quote_string.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-support_record_failure-2.sh Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-support_record_failure.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-support-namespace.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-support-process_state.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-test_compare_blob.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-test_compare_string.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-test_compare.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-timespec.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-xreadlink.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-xsigstack.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tty.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
write_message.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xaccept4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xaccept.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xasprintf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xbind.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xcalloc.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xchdir.c Add xchdir to libsupport. 2021-01-09 17:47:50 +01:00
xchmod.c support: Add xchmod wrapper 2021-01-11 12:26:58 -03:00
xchroot.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xclock_gettime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xclock_settime.c support: Provide xclock_settime test helper function 2021-03-08 22:41:28 +01:00
xclose.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xconnect.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xcopy_file_range.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xdlfcn.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xdlfcn.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xdlmopen.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xdup2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xfchmod.c Add xfchmod to libsupport 2021-01-10 18:55:47 +01:00
xfclose.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xfopen.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xfork.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xftruncate.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xgetline.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xgetsockname.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xlisten.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xlseek.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xlstat.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xmalloc.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xmemstream.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xmemstream.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xmkdir.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xmkdirp.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xmmap.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xmprotect.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xmunmap.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xnewlocale.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xopen.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpipe.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpoll.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xposix_memalign.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xposix_spawn_file_actions_addclose.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xposix_spawn_file_actions_adddup2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xposix_spawn.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_attr_destroy.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_attr_init.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_attr_setdetachstate.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_attr_setguardsize.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_attr_setstack.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_attr_setstacksize.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_barrier_destroy.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_barrier_init.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_barrier_wait.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_barrierattr_destroy.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_barrierattr_init.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_barrierattr_setpshared.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_cancel.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_check_return.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_cond_wait.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_create.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_detach.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_join.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_key_create.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_key_delete.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_mutex_consistent.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_mutex_destroy.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_mutex_init.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_mutex_lock.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_mutex_unlock.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_mutexattr_destroy.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_mutexattr_init.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_mutexattr_setprotocol.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_mutexattr_setpshared.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_mutexattr_setrobust.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_mutexattr_settype.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_once.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_rwlock_destroy.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_rwlock_init.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_rwlock_rdlock.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_rwlock_unlock.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_rwlock_wrlock.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_rwlockattr_init.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_rwlockattr_setkind_np.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_sigmask.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_spin_lock.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xpthread_spin_unlock.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xptrace.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xraise.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xreadlink.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xrealloc.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xrecvfrom.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xsendto.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xsetlocale.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xsetsockopt.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xsigaction.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xsignal.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xsignal.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xsigstack.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xsocket.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xsocket.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xspawn.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xstdio.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xstrdup.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xstrndup.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xsymlink.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xsysconf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xthread.h support: Add support_small_thread_stack_size 2021-01-05 11:33:16 -03:00
xtime.h support: Provide xclock_settime test helper function 2021-03-08 22:41:28 +01:00
xunistd.h support: Add xchmod wrapper 2021-01-11 12:26:58 -03:00
xunlink.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xuselocale.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xwaitpid.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
xwrite.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -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 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