bpo-34229: Check start and stop of slice object to be long when they are not int in PySlice_GetIndices (GH-8480)
diff --git a/Lib/test/test_capi.py b/Lib/test/test_capi.py
index d281be6..6f4a5b3 100644
--- a/Lib/test/test_capi.py
+++ b/Lib/test/test_capi.py
@@ -108,6 +108,20 @@
self.assertEqual(_testcapi.argparsing("Hello", "World"), 1)
+class TestGetIndices(unittest.TestCase):
+
+ def test_get_indices(self):
+ self.assertEqual(_testcapi.get_indices(slice(10L, 20, 1), 100), (0, 10, 20, 1))
+ self.assertEqual(_testcapi.get_indices(slice(10.1, 20, 1), 100), None)
+ self.assertEqual(_testcapi.get_indices(slice(10, 20L, 1), 100), (0, 10, 20, 1))
+ self.assertEqual(_testcapi.get_indices(slice(10, 20.1, 1), 100), None)
+
+ self.assertEqual(_testcapi.get_indices(slice(10L, 20, 1L), 100), (0, 10, 20, 1))
+ self.assertEqual(_testcapi.get_indices(slice(10.1, 20, 1L), 100), None)
+ self.assertEqual(_testcapi.get_indices(slice(10, 20L, 1L), 100), (0, 10, 20, 1))
+ self.assertEqual(_testcapi.get_indices(slice(10, 20.1, 1L), 100), None)
+
+
class SkipitemTest(unittest.TestCase):
def test_skipitem(self):
@@ -266,7 +280,7 @@
raise support.TestFailed, sys.exc_info()[1]
support.run_unittest(CAPITest, TestPendingCalls, SkipitemTest,
- TestThreadState)
+ TestThreadState, TestGetIndices)
if __name__ == "__main__":
test_main()