public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc/azanella/y2038-work] y2038: Add test coverage
@ 2021-02-18 23:59 Adhemerval Zanella
0 siblings, 0 replies; only message in thread
From: Adhemerval Zanella @ 2021-02-18 23:59 UTC (permalink / raw)
To: glibc-cvs
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=19da88bb9209c7495f272a8d41d0ab9e804b1f76
commit 19da88bb9209c7495f272a8d41d0ab9e804b1f76
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Wed Feb 17 15:59:34 2021 -0300
y2038: Add test coverage
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
Diff:
---
Makerules | 13 ++++++++++++-
nptl/Makefile | 3 +++
nptl/tst-cancel4_2-y2038.c | 1 +
rt/Makefile | 8 ++++++++
rt/tst-cpuclock2-y2038.c | 1 +
rt/tst-cpuclock2.c | 9 ++++++---
rt/tst-mqueue1-y2038.c | 1 +
rt/tst-mqueue2-y2038.c | 1 +
rt/tst-mqueue4-y2038.c | 1 +
rt/tst-mqueue8-y2038.c | 1 +
rt/tst-timer4-y2038.c | 1 +
time/Makefile | 9 +++++++++
time/tst-clock-y2038.c | 1 +
time/tst-clock2-y2038.c | 1 +
time/tst-clock_nanosleep-y2038.c | 1 +
time/tst-cpuclock1-y2038.c | 1 +
time/tst-ctime-y2038.c | 1 +
time/tst-difftime-y2038.c | 1 +
time/tst-mktime4-y2038.c | 1 +
19 files changed, 52 insertions(+), 4 deletions(-)
diff --git a/Makerules b/Makerules
index ca9885436e..0a14d01160 100644
--- a/Makerules
+++ b/Makerules
@@ -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"
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-02-18 23:59 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-18 23:59 [glibc/azanella/y2038-work] y2038: Add test coverage Adhemerval Zanella
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).