diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2021-02-17 15:59:34 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2021-02-18 20:42:42 -0300 |
commit | 19da88bb9209c7495f272a8d41d0ab9e804b1f76 (patch) | |
tree | cad7c2c1f8438da10110e7a097aec03aeaa81742 | |
parent | 904cb172e7e49e4d36e9e22897ea3a081055fa72 (diff) | |
download | glibc-19da88bb9209c7495f272a8d41d0ab9e804b1f76.tar.gz |
y2038: Add test coverageazanella/y2038-work
A new 'tests-y2038' rule is added, which adds the required 64 bit
time flags and included in the 'tests' rule.
The current coverage is:
* libc:
- adjtime
- adjtimex
- clock_adjtime
- clock_getres tst-clock, tst-cpuclock1
- clock_gettime tst-clock, tst-clock2, tst-cpuclock1
- clock_nanosleep tst-clock_nanosleep, tst-cpuclock1
- clock_settime tst-clock2
- ctime tst-ctime
- ctime_r
- difftime tst-difftime
- fstat
- fstatat
- futimens
- futimes
- futimesat
- getitimer
- getrusage
- gettimeofday tst-clock_nanosleep
- gmtime
- gmtime_r
- lstat
- lutimes
- mktime
- mq_timedreceive tst-mqueue{1248}
- mq_timedsend tst-mqueue{1248}
- nanosleep tst-cpuclock2, tst-mqueue8, tst-clock, tst-cpuclock1
- ntp_adjtime
- ntp_gettime
- ntp_gettimex
- ppoll64
- pselect
- recvmmsg tst-cancel4_2
- sched_rr_get_interval
- select
- semtimedop
- setitimer
- settimeofday
- sigtimedwait
- stat
- time tst-mqueue1, tst-mqueue2, tst-mqueue4, tst-mqueue8
- timegm
- timer_gettime tst-timer4
- timer_settime
- timerfd_gettime
- timerfd_settime
- timespec_get
- utime
- utimensat
- utimes
- wait3
- wait4_time64
* libpthread:
- cnd_timedwait
- mtx_timedlock
- pthread_clockjoin_np
- pthread_cond_clockwait
- pthread_cond_timedwait
- pthread_mutex_clocklock
- pthread_mutex_timedlock
- pthread_rwlock_clockrdlock
- pthread_rwlock_clockwrlock
- pthread_rwlock_timedrdlock
- pthread_rwlock_timedwrlock
- pthread_timedjoin_np
- sem_clockwait
- sem_timedwait
- thrd_sleep
* librt:
- aio_suspend
- mq_timedreceive tst-mqueue{1248}
- mq_timedsend tst-mqueue{1248}
- timer_gettime tst-timer4
- timer_settime tst-timer4
* libanl:
- gai_suspend_time
-rw-r--r-- | Makerules | 13 | ||||
-rw-r--r-- | nptl/Makefile | 3 | ||||
-rw-r--r-- | nptl/tst-cancel4_2-y2038.c | 1 | ||||
-rw-r--r-- | rt/Makefile | 8 | ||||
-rw-r--r-- | rt/tst-cpuclock2-y2038.c | 1 | ||||
-rw-r--r-- | rt/tst-cpuclock2.c | 9 | ||||
-rw-r--r-- | rt/tst-mqueue1-y2038.c | 1 | ||||
-rw-r--r-- | rt/tst-mqueue2-y2038.c | 1 | ||||
-rw-r--r-- | rt/tst-mqueue4-y2038.c | 1 | ||||
-rw-r--r-- | rt/tst-mqueue8-y2038.c | 1 | ||||
-rw-r--r-- | rt/tst-timer4-y2038.c | 1 | ||||
-rw-r--r-- | time/Makefile | 9 | ||||
-rw-r--r-- | time/tst-clock-y2038.c | 1 | ||||
-rw-r--r-- | time/tst-clock2-y2038.c | 1 | ||||
-rw-r--r-- | time/tst-clock_nanosleep-y2038.c | 1 | ||||
-rw-r--r-- | time/tst-cpuclock1-y2038.c | 1 | ||||
-rw-r--r-- | time/tst-ctime-y2038.c | 1 | ||||
-rw-r--r-- | time/tst-difftime-y2038.c | 1 | ||||
-rw-r--r-- | time/tst-mktime4-y2038.c | 1 |
19 files changed, 52 insertions, 4 deletions
@@ -771,7 +771,7 @@ endif $(patsubst %.o,%.d,$(filter %.o,$(extra-objs:.os=.o))) \ $(patsubst %.oS,%.d,$(filter %.oS,$(extra-objs))) \ $(patsubst %.o,%.d,$(filter %.o,$(extra-test-objs:.os=.o))) \ - $(addsuffix .d,$(tests) $(tests-internal) $(xtests) $(test-srcs)) + $(addsuffix .d,$(tests) $(tests-internal) $(xtests) $(test-srcs) $(tests-y2038)) ifeq ($(build-programs),yes) +depfiles += $(addsuffix .d,$(others) $(sysdep-others)) endif @@ -1286,6 +1286,17 @@ check: tests .PHONY: xcheck xcheck: xtests +# Handle tests-y2038 tests they should be built with LFS and 64-bit time +# support. +include $(o-iterator) +define o-iterator-doit +$(foreach f,$(tests-y2038),$(objpfx)$(f)$(o)): CFLAGS += -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 +endef +object-suffixes-left := $(all-object-suffixes) +include $(o-iterator) + +tests += $(foreach t,$(tests-y2038),$(t)) + # The only difference between MODULE_NAME=testsuite and MODULE_NAME=nonlib is # that almost all internal declarations from config.h, libc-symbols.h, and # include/*.h are not available to 'testsuite' code, but are to 'nonlib' code. diff --git a/nptl/Makefile b/nptl/Makefile index 8fb7fee6db..ea7e706a35 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -307,6 +307,9 @@ xtests = tst-setuid1 tst-setuid1-static tst-setuid2 \ tst-mutexpp1 tst-mutexpp6 tst-mutexpp10 tst-setgroups \ tst-mutexpp5 tst-mutexpp9 +tests-y2038 := \ + tst-cancel4_2-y2038 + # This test can run into task limits because of a linux kernel bug # and then cause the make process to fail too, see bug 24537. xtests += tst-eintr1 diff --git a/nptl/tst-cancel4_2-y2038.c b/nptl/tst-cancel4_2-y2038.c new file mode 100644 index 0000000000..4ac086a312 --- /dev/null +++ b/nptl/tst-cancel4_2-y2038.c @@ -0,0 +1 @@ +#include "tst-cancel4_2.c" diff --git a/rt/Makefile b/rt/Makefile index 7b374f2073..5d037ea368 100644 --- a/rt/Makefile +++ b/rt/Makefile @@ -49,6 +49,14 @@ tests := tst-shm tst-timer tst-timer2 \ tst-shm-cancel tests-internal := tst-timer-sigmask +tests-y2038 := \ + tst-cpuclock2-y2038 \ + tst-mqueue1-y2038 \ + tst-mqueue2-y2038 \ + tst-mqueue4-y2038 \ + tst-mqueue8-y2038 \ + tst-timer4-y2038 + extra-libs := librt extra-libs-others := $(extra-libs) diff --git a/rt/tst-cpuclock2-y2038.c b/rt/tst-cpuclock2-y2038.c new file mode 100644 index 0000000000..05775522bb --- /dev/null +++ b/rt/tst-cpuclock2-y2038.c @@ -0,0 +1 @@ +#include "tst-cpuclock2.c" diff --git a/rt/tst-cpuclock2.c b/rt/tst-cpuclock2.c index c1c7ed2ad8..eebc3609d0 100644 --- a/rt/tst-cpuclock2.c +++ b/rt/tst-cpuclock2.c @@ -21,7 +21,11 @@ #if (_POSIX_THREADS - 0) <= 0 -# define TEST_FUNCTION 0 +static int +do_test () +{ + return 0; +} #else @@ -330,7 +334,6 @@ do_test (void) return result; } -# define TEST_FUNCTION do_test () #endif -#include "../test-skeleton.c" +#include <support/test-driver.c> diff --git a/rt/tst-mqueue1-y2038.c b/rt/tst-mqueue1-y2038.c new file mode 100644 index 0000000000..9c600a9a97 --- /dev/null +++ b/rt/tst-mqueue1-y2038.c @@ -0,0 +1 @@ +#include "tst-mqueue1.c" diff --git a/rt/tst-mqueue2-y2038.c b/rt/tst-mqueue2-y2038.c new file mode 100644 index 0000000000..9d49f0b196 --- /dev/null +++ b/rt/tst-mqueue2-y2038.c @@ -0,0 +1 @@ +#include "tst-mqueue2.c" diff --git a/rt/tst-mqueue4-y2038.c b/rt/tst-mqueue4-y2038.c new file mode 100644 index 0000000000..c23a228dc4 --- /dev/null +++ b/rt/tst-mqueue4-y2038.c @@ -0,0 +1 @@ +#include "tst-mqueue4.c" diff --git a/rt/tst-mqueue8-y2038.c b/rt/tst-mqueue8-y2038.c new file mode 100644 index 0000000000..972637f7f5 --- /dev/null +++ b/rt/tst-mqueue8-y2038.c @@ -0,0 +1 @@ +#include "tst-mqueue8.c" diff --git a/rt/tst-timer4-y2038.c b/rt/tst-timer4-y2038.c new file mode 100644 index 0000000000..e47a593f10 --- /dev/null +++ b/rt/tst-timer4-y2038.c @@ -0,0 +1 @@ +#include "tst-timer4.c" diff --git a/time/Makefile b/time/Makefile index 0d571fb777..8b397d8c66 100644 --- a/time/Makefile +++ b/time/Makefile @@ -51,6 +51,15 @@ tests := test_time clocktest tst-posixtz tst-strptime tst_wcsftime \ tst-adjtime tst-ctime tst-difftime tst-mktime4 tst-clock_settime \ tst-clock_adjtime +tests-y2038 := \ + tst-clock-y2038 \ + tst-clock2-y2038 \ + tst-clock_nanosleep-y2038 \ + tst-cpuclock1-y2038 \ + tst-ctime-y2038 \ + tst-difftime-y2038 \ + tst-mktime4-y2038 + include ../Rules ifeq ($(run-built-tests),yes) diff --git a/time/tst-clock-y2038.c b/time/tst-clock-y2038.c new file mode 100644 index 0000000000..a1349678c8 --- /dev/null +++ b/time/tst-clock-y2038.c @@ -0,0 +1 @@ +#include "tst-clock.c" diff --git a/time/tst-clock2-y2038.c b/time/tst-clock2-y2038.c new file mode 100644 index 0000000000..897f47b287 --- /dev/null +++ b/time/tst-clock2-y2038.c @@ -0,0 +1 @@ +#include "tst-clock2.c" diff --git a/time/tst-clock_nanosleep-y2038.c b/time/tst-clock_nanosleep-y2038.c new file mode 100644 index 0000000000..c8638aa3d2 --- /dev/null +++ b/time/tst-clock_nanosleep-y2038.c @@ -0,0 +1 @@ +#include "tst-clock_nanosleep.c" diff --git a/time/tst-cpuclock1-y2038.c b/time/tst-cpuclock1-y2038.c new file mode 100644 index 0000000000..5a7ffa27ac --- /dev/null +++ b/time/tst-cpuclock1-y2038.c @@ -0,0 +1 @@ +#include "tst-cpuclock1.c" diff --git a/time/tst-ctime-y2038.c b/time/tst-ctime-y2038.c new file mode 100644 index 0000000000..24a5ae98ed --- /dev/null +++ b/time/tst-ctime-y2038.c @@ -0,0 +1 @@ +#include "tst-ctime.c" diff --git a/time/tst-difftime-y2038.c b/time/tst-difftime-y2038.c new file mode 100644 index 0000000000..751ce6c483 --- /dev/null +++ b/time/tst-difftime-y2038.c @@ -0,0 +1 @@ +#include "tst-difftime.c" diff --git a/time/tst-mktime4-y2038.c b/time/tst-mktime4-y2038.c new file mode 100644 index 0000000000..bf5197c6f3 --- /dev/null +++ b/time/tst-mktime4-y2038.c @@ -0,0 +1 @@ +#include "tst-mktime4.c" |