Issue #1726687: time.mktime() will now correctly compute value one
second before epoch.  Original patch by Peter Wang, reported by Martin
Blais.
diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py
index baabfbb..d649232 100644
--- a/Lib/test/test_time.py
+++ b/Lib/test/test_time.py
@@ -339,6 +339,19 @@
         self.assertEqual(self.yearstr(-1234), '-1234')
         self.assertEqual(self.yearstr(-123456), '-123456')
 
+
+    def test_mktime(self):
+        # Issue #1726687
+        for t in (-2, -1, 0, 1):
+            try:
+                tt = time.localtime(t)
+            except (OverflowError, ValueError):
+                pass
+            self.assertEqual(time.mktime(tt), t)
+        # Hopefully year = -1 is enough to make OS mktime fail
+        self.assertRaises(OverflowError, time.mktime,
+                          (-1, 1, 1, 0, 0, 0, -1, -1, -1))
+
 class TestAsctimeAccept2dYear(_TestAsctimeYear, _Test2dYear):
     pass