Terry Jan Reedy
ab25c7e311
Revert "Add tests for empty range equality ( #103751 )" ( #103770 )
...
This reverts commit dca27a69a8
.
Added tests are redundant with existing tests.
2023-04-24 14:29:57 -04:00
Kirill
dca27a69a8
Add tests for empty range equality ( #103751 )
2023-04-24 10:32:15 -04:00
Pieter Eendebak
f63f525e16
gh-100726: Optimize construction of range object for medium sized integers ( #100810 )
...
Use C long arithmetic instead of PyLong arithmetic to compute the range length, where possible.
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Mark Dickinson <dickinsm@gmail.com>
2023-01-21 19:33:08 +00:00
Serhiy Storchaka
787764219f
gh-89189: More compact range iterator (GH-27986)
2022-11-30 23:04:30 +02:00
Serhiy Storchaka
936f6a16b9
bpo-45030: Fix integer overflow in __reduce__ of the range iterator (GH-28000)
...
It happened with fast range iterator when the calculated stop = start + step * len
was out of the C long range.
2021-09-04 21:02:21 +03:00
chilaxan
94a3d2a632
bpo-45018: Fix rangeiter_reduce in rangeobject.c (GH-27938)
...
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2021-08-27 12:27:19 +02:00
Serhiy Storchaka
5f4b229df7
bpo-40792: Make the result of PyNumber_Index() always having exact type int. (GH-20443)
...
Previously, the result could have been an instance of a subclass of int.
Also revert bpo-26202 and make attributes start, stop and step of the range
object having exact type int.
Add private function _PyNumber_Index() which preserves the old behavior
of PyNumber_Index() for performance to use it in the conversion functions
like PyLong_AsLong().
2020-05-28 10:33:45 +03:00
Pablo Galindo
4b66fa6ce9
bpo-39200: Correct the error message for range() empty constructor (GH-17813)
...
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2020-01-05 17:30:53 +00:00
Serhiy Storchaka
7d44e7a456
bpo-37685: Use singletons ALWAYS_EQ and NEVER_EQ in more tests. (GH-15167)
2019-08-08 08:43:18 +03:00
Serhiy Storchaka
34fd4c2019
bpo-35133: Fix mistakes when concatenate string literals on different lines. (GH-10284)
...
Two kind of mistakes:
1. Missed space. After concatenating there is no space between words.
2. Missed comma. Causes unintentional concatenating in a list of strings.
2018-11-05 16:20:25 +02:00
4kir4
e46fb86118
bpo-28876: bool of large range raises OverflowError ( #699 )
2017-03-20 08:44:46 +02:00
Serhiy Storchaka
df53392f0d
Issue #28376 : Creating instances of range_iterator by calling range_iterator
...
type now is disallowed. Calling iter() on range instance is the only way.
Patch by Oren Milman.
2016-10-08 22:01:18 +03:00
Serhiy Storchaka
c7f490c8b1
Issue #28376 : Creating instances of range_iterator by calling range_iterator
...
type now is deprecated. Patch by Oren Milman.
2016-10-08 21:50:45 +03:00
Serhiy Storchaka
639098c591
Merge from 3.5.
2016-10-08 21:45:07 +03:00
Serhiy Storchaka
44759bcf13
Issue #28376 : The constructor of range_iterator now checks that step is not 0.
...
Patch by Oren Milman.
2016-10-08 21:43:11 +03:00
Serhiy Storchaka
e4fbb0206d
Remove unused support.run_unittest imports.
...
It is not needed since tests use unittest.main().
2016-04-24 23:42:49 +03:00
Zachary Ware
38c707e7e0
Issue #21741 : Update 147 test modules to use test discovery.
...
I have compared output between pre- and post-patch runs of these tests
to make sure there's nothing missing and nothing broken, on both
Windows and Linux. The only differences I found were actually tests
that were previously *not* run.
2015-04-13 15:00:43 -05:00
Serhiy Storchaka
bad1257c96
Issue #22777 : Test pickling with all protocols.
2014-12-15 14:03:42 +02:00
Kristján Valur Jónsson
c5cc5011ac
Make the various iterators' "setstate" sliently and consistently clip the
...
index. This avoids the possibility of setting an iterator to an invalid
state.
2014-03-05 15:23:07 +00:00
Kristján Valur Jónsson
25dded041f
Make the various iterators' "setstate" sliently and consistently clip the
...
index. This avoids the possibility of setting an iterator to an invalid
state.
2014-03-05 13:47:57 +00:00
Kristján Valur Jónsson
25ea45db81
Merge with 3.3
2014-03-04 23:22:15 +00:00
Kristján Valur Jónsson
4ca688edeb
Fix pickling of rangeiter. rangeiter_setstate would not allow setting it
...
to the exhausted state.
2014-03-04 23:19:24 +00:00
Antoine Pitrou
8f2ee6e407
Fix writing out 64-bit size fields on 32-bit builds
2013-11-23 21:05:08 +01:00
Mark Dickinson
c992fafddc
Issue #16402 : Merge fix from 3.3
2012-11-04 11:47:47 +00:00
Mark Dickinson
1321edaa55
Issue #16402 : Merge fix from 3.2
2012-11-04 11:47:05 +00:00
Mark Dickinson
8cd1c7681d
Issue #16402 : In range slicing, fix shadowing of exceptions from __index__ method.
2012-11-04 11:46:17 +00:00
Kristján Valur Jónsson
31668b8f7a
Issue #14288 : Serialization support for builtin iterators.
2012-04-03 10:49:41 +00:00
Benjamin Peterson
878ce389a0
add introspection to range objects ( closes #9896 )
...
Patch by Daniel Urban.
2011-11-05 15:17:52 -04:00
Mark Dickinson
36645681c8
Issue #13201 : equality for range objects is now based on equality of the underlying sequences. Thanks Sven Marnach for the patch.
2011-10-23 19:53:01 +01:00
Ezio Melotti
982ef4e0bc
#11845 : Fix typo in rangeobject.c that caused a crash in compute_slice_indices. Patch by Daniel Urban.
2011-04-15 08:15:40 +03:00
Nick Coghlan
e993b10041
Issue 10889: Support slicing and indexing of large ranges (no docs changes, since, as far as I know, we never said anywhere that this *didn't* work)
2011-01-12 03:15:52 +00:00
Nick Coghlan
37ee850b10
Issue 2690: Add support for slicing and negative indices to range objects (includes precalculation and storage of the range length).
...
Refer to the tracker issue for the language moratorium implications of this change
2010-12-03 14:26:13 +00:00
Benjamin Peterson
d57bb55c7d
fix two broken tests
2010-11-20 23:03:34 +00:00
Benjamin Peterson
8d16ab3c56
merge all range tests into test_range
2010-11-20 23:01:55 +00:00
Ezio Melotti
b3aedd4862
#9424 : Replace deprecated assert* methods in the Python test suite.
2010-11-20 19:04:17 +00:00
Ezio Melotti
b58e0bd8bb
use assert[Not]In where appropriate
2010-01-23 15:40:09 +00:00
Benjamin Peterson
577473fe68
use assert[Not]In where appropriate
...
A patch from Dave Malcolm.
2010-01-19 00:09:57 +00:00
Benjamin Peterson
91799ae3e1
remove 2.x specific warnings
2009-11-16 00:25:02 +00:00
Mark Dickinson
d550c9a281
Issue #7298 : Fix a variety of problems leading to wrong results with
...
the fast versions of range.__reversed__ and range iteration. Also
fix wrong results and a refleak for PyLong version of range.__reversed__.
Thanks Eric Smith for reviewing, and for suggesting improved tests.
2009-11-15 09:57:26 +00:00
Mark Dickinson
418f81d9b6
Issue #1766304 : The range.__contains__ optimization should only be
...
applied to ints, not to instances of subclasses of int.
2009-09-24 20:04:23 +00:00
Mark Dickinson
3e124ae739
Issue #1766304 : Optimize membership testing for ranges: 'n in range(...)'
...
does an O(1) check, if n is an integer. Non-integers aren't affected.
Thanks Robert Lehmann.
2009-09-22 21:47:24 +00:00
Benjamin Peterson
c9c0f201fe
convert old fail* assertions to assert*
2009-06-30 23:06:06 +00:00
Raymond Hettinger
94f5583777
Fix SystemError and a wasps nest of ref counting issues.
2009-06-12 18:40:16 +00:00
Hirokazu Yamamoto
d0d0b65885
Issue #4183 : Some tests didn't run with pickle.HIGHEST_PROTOCOL.
...
Reviewed by Benjamin Peterson.
2008-10-23 00:38:15 +00:00
Alexandre Vassalotti
7505607ae7
Issue 2582: Fix pickling of range objects.
2008-06-10 04:03:04 +00:00
Benjamin Peterson
ee8712cda4
#2621 rename test.test_support to test.support
2008-05-20 21:35:26 +00:00
Christian Heimes
a37d4c693a
Removed PyInt_GetMax and sys.maxint
...
I replaced sys.maxint with sys.maxsize in Lib/*.py. Does anybody see a problem with the change on Win 64bit platforms? Win 64's long is just 32bit but the sys.maxsize is now 2**63-1 on every 64bit platform.
Also added docs for sys.maxsize.
2007-12-04 23:02:19 +00:00
Walter Dörwald
2a857de62a
Update name of test.
2007-05-21 18:02:40 +00:00
Walter Dörwald
4ad94210d1
Rename test_xrange.py to test_range.py and fix the
...
type name in various spots.
2007-05-21 18:01:17 +00:00