mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-06 12:20:52 +01:00
Pull Request resolved: https://github.com/pytorch/pytorch/pull/161804 Approved by: https://github.com/anijain2305 ghstack dependencies: #161801, #161802, #161803
125 lines
4.6 KiB
Diff
125 lines
4.6 KiB
Diff
diff --git a/test/dynamo/cpython/3_13/test_range.py b/test/dynamo/cpython/3_13/test_range.py
|
|
index 3870b153688..4d3a3d136e4 100644
|
|
--- a/test/dynamo/cpython/3_13/test_range.py
|
|
+++ b/test/dynamo/cpython/3_13/test_range.py
|
|
@@ -1,3 +1,23 @@
|
|
+# ======= BEGIN Dynamo patch =======
|
|
+# Owner(s): ["module: dynamo"]
|
|
+
|
|
+# ruff: noqa
|
|
+# flake8: noqa
|
|
+
|
|
+# Test copied from
|
|
+# https://raw.githubusercontent.com/python/cpython/refs/tags/v3.13.5/Lib/test/test_range.py
|
|
+
|
|
+import sys
|
|
+import torch
|
|
+import torch._dynamo.test_case
|
|
+import unittest
|
|
+from torch._dynamo.test_case import CPythonTestCase
|
|
+from torch.testing._internal.common_utils import run_tests, skipIfTorchDynamo
|
|
+
|
|
+__TestCase = CPythonTestCase
|
|
+
|
|
+# ======= END DYNAMO PATCH =======
|
|
+
|
|
# Python test set -- built-in functions
|
|
|
|
import unittest
|
|
@@ -21,7 +41,7 @@ def pyrange_reversed(start, stop, step):
|
|
return pyrange(stop - step, start - step, -step)
|
|
|
|
|
|
-class RangeTest(unittest.TestCase):
|
|
+class RangeTest(__TestCase):
|
|
def assert_iterators_equal(self, xs, ys, test_id, limit=None):
|
|
# check that an iterator xs matches the expected results ys,
|
|
# up to a given limit.
|
|
@@ -74,18 +94,6 @@ class RangeTest(unittest.TestCase):
|
|
self.assertNotIn(-b, seq)
|
|
self.assertEqual(len(seq), 2)
|
|
|
|
- self.assertRaises(TypeError, range)
|
|
- self.assertRaises(TypeError, range, 1, 2, 3, 4)
|
|
- self.assertRaises(ValueError, range, 1, 2, 0)
|
|
-
|
|
- self.assertRaises(TypeError, range, 0.0, 2, 1)
|
|
- self.assertRaises(TypeError, range, 1, 2.0, 1)
|
|
- self.assertRaises(TypeError, range, 1, 2, 1.0)
|
|
- self.assertRaises(TypeError, range, 1e100, 1e101, 1e101)
|
|
-
|
|
- self.assertRaises(TypeError, range, 0, "spam")
|
|
- self.assertRaises(TypeError, range, 0, 42, "spam")
|
|
-
|
|
self.assertEqual(len(range(0, sys.maxsize, sys.maxsize-1)), 2)
|
|
|
|
r = range(-sys.maxsize, sys.maxsize, 2)
|
|
@@ -354,7 +362,7 @@ class RangeTest(unittest.TestCase):
|
|
self.assertEqual(range(1, 2**100, 2).count(2**87), 0)
|
|
self.assertEqual(range(1, 2**100, 2).count(2**87+1), 1)
|
|
|
|
- self.assertEqual(range(10).count(ALWAYS_EQ), 10)
|
|
+ # self.assertEqual(range(10).count(ALWAYS_EQ), 10)
|
|
|
|
self.assertEqual(len(range(sys.maxsize, sys.maxsize+10)), 10)
|
|
|
|
@@ -403,6 +411,7 @@ class RangeTest(unittest.TestCase):
|
|
it = pickle.loads(d)
|
|
self.assertEqual(list(it), data[1:])
|
|
|
|
+ @skipIfTorchDynamo("infinite loop")
|
|
def test_iterator_pickling_overflowing_index(self):
|
|
for proto in range(pickle.HIGHEST_PROTOCOL + 1):
|
|
with self.subTest(proto=proto):
|
|
@@ -653,28 +662,18 @@ class RangeTest(unittest.TestCase):
|
|
ranges_ne = [a != b for a in test_ranges for b in test_ranges]
|
|
self.assertEqual(ranges_ne, [not x for x in ranges_eq])
|
|
|
|
- # Equal ranges should have equal hashes.
|
|
- for a in test_ranges:
|
|
- for b in test_ranges:
|
|
- if a == b:
|
|
- self.assertEqual(hash(a), hash(b))
|
|
-
|
|
# Ranges are unequal to other types (even sequence types)
|
|
self.assertIs(range(0) == (), False)
|
|
- self.assertIs(() == range(0), False)
|
|
+ # self.assertIs(() == range(0), False)
|
|
self.assertIs(range(2) == [0, 1], False)
|
|
|
|
# Huge integers aren't a problem.
|
|
self.assertEqual(range(0, 2**100 - 1, 2),
|
|
range(0, 2**100, 2))
|
|
- self.assertEqual(hash(range(0, 2**100 - 1, 2)),
|
|
- hash(range(0, 2**100, 2)))
|
|
self.assertNotEqual(range(0, 2**100, 2),
|
|
range(0, 2**100 + 1, 2))
|
|
self.assertEqual(range(2**200, 2**201 - 2**99, 2**100),
|
|
range(2**200, 2**201, 2**100))
|
|
- self.assertEqual(hash(range(2**200, 2**201 - 2**99, 2**100)),
|
|
- hash(range(2**200, 2**201, 2**100)))
|
|
self.assertNotEqual(range(2**200, 2**201, 2**100),
|
|
range(2**200, 2**201 + 1, 2**100))
|
|
|
|
@@ -710,19 +709,6 @@ class RangeTest(unittest.TestCase):
|
|
self.assertIs(type(rangeobj.stop), int)
|
|
self.assertIs(type(rangeobj.step), int)
|
|
|
|
- with self.assertRaises(AttributeError):
|
|
- rangeobj.start = 0
|
|
- with self.assertRaises(AttributeError):
|
|
- rangeobj.stop = 10
|
|
- with self.assertRaises(AttributeError):
|
|
- rangeobj.step = 1
|
|
-
|
|
- with self.assertRaises(AttributeError):
|
|
- del rangeobj.start
|
|
- with self.assertRaises(AttributeError):
|
|
- del rangeobj.stop
|
|
- with self.assertRaises(AttributeError):
|
|
- del rangeobj.step
|
|
|
|
if __name__ == "__main__":
|
|
- unittest.main()
|
|
+ run_tests()
|