Skip to content

Commit 3d9f1a2

Browse files
committed
update datetime tests
1 parent 8ec0eca commit 3d9f1a2

File tree

2 files changed

+40
-51
lines changed

2 files changed

+40
-51
lines changed

Lib/test/datetimetester.py

Lines changed: 38 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -2706,24 +2706,20 @@ def utcfromtimestamp(*args, **kwargs):
27062706
self.assertEqual(zero.second, 0)
27072707
self.assertEqual(zero.microsecond, 0)
27082708
one = fts(1e-6)
2709-
try:
2710-
minus_one = fts(-1e-6)
2711-
except OSError:
2712-
# localtime(-1) and gmtime(-1) is not supported on Windows
2713-
pass
2714-
else:
2715-
self.assertEqual(minus_one.second, 59)
2716-
self.assertEqual(minus_one.microsecond, 999999)
2717-
2718-
t = fts(-1e-8)
2719-
self.assertEqual(t, zero)
2720-
t = fts(-9e-7)
2721-
self.assertEqual(t, minus_one)
2722-
t = fts(-1e-7)
2723-
self.assertEqual(t, zero)
2724-
t = fts(-1/2**7)
2725-
self.assertEqual(t.second, 59)
2726-
self.assertEqual(t.microsecond, 992188)
2709+
minus_one = fts(-1e-6)
2710+
2711+
self.assertEqual(minus_one.second, 59)
2712+
self.assertEqual(minus_one.microsecond, 999999)
2713+
2714+
t = fts(-1e-8)
2715+
self.assertEqual(t, zero)
2716+
t = fts(-9e-7)
2717+
self.assertEqual(t, minus_one)
2718+
t = fts(-1e-7)
2719+
self.assertEqual(t, zero)
2720+
t = fts(-1/2**7)
2721+
self.assertEqual(t.second, 59)
2722+
self.assertEqual(t.microsecond, 992188)
27272723

27282724
t = fts(1e-7)
27292725
self.assertEqual(t, zero)
@@ -2752,22 +2748,18 @@ def utcfromtimestamp(*args, **kwargs):
27522748
self.assertEqual(zero.second, 0)
27532749
self.assertEqual(zero.microsecond, 0)
27542750
one = fts(D('0.000_001'))
2755-
try:
2756-
minus_one = fts(D('-0.000_001'))
2757-
except OSError:
2758-
# localtime(-1) and gmtime(-1) is not supported on Windows
2759-
pass
2760-
else:
2761-
self.assertEqual(minus_one.second, 59)
2762-
self.assertEqual(minus_one.microsecond, 999_999)
2751+
minus_one = fts(D('-0.000_001'))
2752+
2753+
self.assertEqual(minus_one.second, 59)
2754+
self.assertEqual(minus_one.microsecond, 999_999)
27632755

2764-
t = fts(D('-0.000_000_1'))
2765-
self.assertEqual(t, zero)
2766-
t = fts(D('-0.000_000_9'))
2767-
self.assertEqual(t, minus_one)
2768-
t = fts(D(-1)/2**7)
2769-
self.assertEqual(t.second, 59)
2770-
self.assertEqual(t.microsecond, 992188)
2756+
t = fts(D('-0.000_000_1'))
2757+
self.assertEqual(t, zero)
2758+
t = fts(D('-0.000_000_9'))
2759+
self.assertEqual(t, minus_one)
2760+
t = fts(D(-1)/2**7)
2761+
self.assertEqual(t.second, 59)
2762+
self.assertEqual(t.microsecond, 992188)
27712763

27722764
t = fts(D('0.000_000_1'))
27732765
self.assertEqual(t, zero)
@@ -2803,22 +2795,18 @@ def utcfromtimestamp(*args, **kwargs):
28032795
self.assertEqual(zero.second, 0)
28042796
self.assertEqual(zero.microsecond, 0)
28052797
one = fts(F(1, 1_000_000))
2806-
try:
2807-
minus_one = fts(F(-1, 1_000_000))
2808-
except OSError:
2809-
# localtime(-1) and gmtime(-1) is not supported on Windows
2810-
pass
2811-
else:
2812-
self.assertEqual(minus_one.second, 59)
2813-
self.assertEqual(minus_one.microsecond, 999_999)
2798+
minus_one = fts(F(-1, 1_000_000))
28142799

2815-
t = fts(F(-1, 10_000_000))
2816-
self.assertEqual(t, zero)
2817-
t = fts(F(-9, 10_000_000))
2818-
self.assertEqual(t, minus_one)
2819-
t = fts(F(-1, 2**7))
2820-
self.assertEqual(t.second, 59)
2821-
self.assertEqual(t.microsecond, 992188)
2800+
self.assertEqual(minus_one.second, 59)
2801+
self.assertEqual(minus_one.microsecond, 999_999)
2802+
2803+
t = fts(F(-1, 10_000_000))
2804+
self.assertEqual(t, zero)
2805+
t = fts(F(-9, 10_000_000))
2806+
self.assertEqual(t, minus_one)
2807+
t = fts(F(-1, 2**7))
2808+
self.assertEqual(t.second, 59)
2809+
self.assertEqual(t.microsecond, 992188)
28222810

28232811
t = fts(F(1, 10_000_000))
28242812
self.assertEqual(t, zero)
@@ -2860,6 +2848,7 @@ def test_timestamp_limits(self):
28602848
# If that assumption changes, this value can change as well
28612849
self.assertEqual(max_ts, 253402300799.0)
28622850

2851+
@unittest.skipIf(sys.platform == "win32", "Windows doesn't support min timestamp")
28632852
def test_fromtimestamp_limits(self):
28642853
try:
28652854
self.theclass.fromtimestamp(-2**32 - 1)
@@ -2899,6 +2888,7 @@ def test_fromtimestamp_limits(self):
28992888
# OverflowError, especially on 32-bit platforms.
29002889
self.theclass.fromtimestamp(ts)
29012890

2891+
@unittest.skipIf(sys.platform == "win32", "Windows doesn't support min timestamp")
29022892
def test_utcfromtimestamp_limits(self):
29032893
with self.assertWarns(DeprecationWarning):
29042894
try:
@@ -2960,13 +2950,11 @@ def test_insane_utcfromtimestamp(self):
29602950
self.assertRaises(OverflowError, self.theclass.utcfromtimestamp,
29612951
insane)
29622952

2963-
@unittest.skipIf(sys.platform == "win32", "Windows doesn't accept negative timestamps")
29642953
def test_negative_float_fromtimestamp(self):
29652954
# The result is tz-dependent; at least test that this doesn't
29662955
# fail (like it did before bug 1646728 was fixed).
29672956
self.theclass.fromtimestamp(-1.05)
29682957

2969-
@unittest.skipIf(sys.platform == "win32", "Windows doesn't accept negative timestamps")
29702958
def test_negative_float_utcfromtimestamp(self):
29712959
with self.assertWarns(DeprecationWarning):
29722960
d = self.theclass.utcfromtimestamp(-1.05)

Lib/test/test_time.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -503,10 +503,11 @@ def test_mktime(self):
503503
for t in (-2, -1, 0, 1):
504504
try:
505505
tt = time.localtime(t)
506+
ts = time.mktime(tt)
506507
except (OverflowError, OSError):
507508
pass
508509
else:
509-
self.assertEqual(time.mktime(tt), t)
510+
self.assertEqual(ts, t)
510511

511512
# Issue #13309: passing extreme values to mktime() or localtime()
512513
# borks the glibc's internal timezone data.

0 commit comments

Comments
 (0)