summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtests/misc/date.pl48
1 files changed, 18 insertions, 30 deletions
diff --git a/tests/misc/date.pl b/tests/misc/date.pl
index 9f09c6924..2d1925496 100755
--- a/tests/misc/date.pl
+++ b/tests/misc/date.pl
@@ -42,20 +42,6 @@ my $dy = '1998-01-19'; # next month
my $fmt = "'+%Y-%m-%d %T'";
-# Determine a number of seconds that will provoke an invalid
-# time diagnostic from date. If possible, use a number that
-# is less than 2^64, yet so large that it would cause the resulting
-# tm_year value to be too large for a 32-bit int. But some systems
-# (Solaris 8) have a buggy localtime that mistakenly accepts such
-# invalid times and give garbage in tm_year. Other systems might
-# have an int type that is wider than 32. So if this localtime
-# call succeeds, use 2^64 as the number of seconds.
-my $n_seconds = 72057594037927935;
-my @d = localtime ($n_seconds);
-my $year = $d[5];
-defined $year
- and $n_seconds = '18446744073709551616';
-
my @Tests =
(
# test-name, [option, option, ...] {OUT=>"expected-output"}
@@ -255,22 +241,24 @@ my @Tests =
['neg-secs', '-d @-22 +%05s', {OUT=>"-0022"}],
['neg-secs2', '-d @-22 +%_5s', {OUT=>" -22"}],
- # Before today's fix, date would print uninitialized data
- # to standard output for an out-of-range date:
- # $ date -d @$(echo 2^56-1|bc) 2> /dev/null | od -a -N3
- # 0000000 p 4 6
- # 0000003
- ['uninit-64', "-d \@$n_seconds",
- {OUT=>''},
- # Use ERR_SUBST to get around fact that the diagnostic
- # you get on a system with 32-bit time_t is not the same as
- # the one you get for a system where it's 64 bits wide:
- # - date: time 72057594037927935 is out of range
- # + date: invalid date '@72057594037927935'
- {ERR_SUBST => 's/.*//'},
- {ERR => "\n"},
- {EXIT => 1},
- ],
+ # FIXME: Ensure date doesn't print uninitialized data
+ # for an out-of-range date. This test is currently
+ # disabled as various systems have different limits
+ # for localtime(), and we can't use perl for example
+ # to determine those limits as it doesn't always call
+ # down to the system localtime() as it has configure
+ # time checks and settings itself for these limits.
+ #['uninit-64', "-d \@72057594037927935",
+ # {OUT=>''},
+ # # Use ERR_SUBST to get around fact that the diagnostic
+ # # you get on a system with 32-bit time_t is not the same as
+ # # the one you get for a system where it's 64 bits wide:
+ # # - date: time 72057594037927935 is out of range
+ # # + date: invalid date '@72057594037927935'
+ # {ERR_SUBST => 's/.*//'},
+ # {ERR => "\n"},
+ # {EXIT => 1},
+ #],
['fill-1', '-d 1999-12-08 +%_3d', {OUT=>' 8'}],
['fill-2', '-d 1999-12-08 +%03d', {OUT=>'008'}],