Issue #7150: Raise OverflowError if the result of adding or subtracting
timedelta from date or datetime falls outside of the MINYEAR:MAXYEAR range.
diff --git a/Lib/test/test_datetime.py b/Lib/test/test_datetime.py
index 671c259..905f7ef 100644
--- a/Lib/test/test_datetime.py
+++ b/Lib/test/test_datetime.py
@@ -720,15 +720,16 @@
def test_overflow(self):
tiny = self.theclass.resolution
- dt = self.theclass.min + tiny
- dt -= tiny # no problem
- self.assertRaises(OverflowError, dt.__sub__, tiny)
- self.assertRaises(OverflowError, dt.__add__, -tiny)
+ for delta in [tiny, timedelta(1), timedelta(2)]:
+ dt = self.theclass.min + delta
+ dt -= delta # no problem
+ self.assertRaises(OverflowError, dt.__sub__, delta)
+ self.assertRaises(OverflowError, dt.__add__, -delta)
- dt = self.theclass.max - tiny
- dt += tiny # no problem
- self.assertRaises(OverflowError, dt.__add__, tiny)
- self.assertRaises(OverflowError, dt.__sub__, -tiny)
+ dt = self.theclass.max - delta
+ dt += delta # no problem
+ self.assertRaises(OverflowError, dt.__add__, delta)
+ self.assertRaises(OverflowError, dt.__sub__, -delta)
def test_fromtimestamp(self):
import time