Guido van Rossum
5a8a03784e
Use descriptors.
2005-01-16 00:25:31 +00:00
Armin Rigo
25847813c1
Removing tests that fail because of changes in PyString_InternInPlace(),
...
as discussed on IRC. The equivalent tests for the new behavior are in
test_builtin.py.
2004-08-07 20:30:03 +00:00
Phillip J. Eby
91a968af76
Ensure super() lookup of descriptor from classmethod works (SF #743627 )
2004-03-25 02:19:34 +00:00
Walter Dörwald
70a6b49821
Replace backticks with repr() or "%r"
...
From SF patch #852334 .
2004-02-12 17:35:32 +00:00
Tim Peters
58eb11cf62
Whitespace normalization.
2004-01-18 20:29:55 +00:00
Michael W. Hudson
b2c7de4667
Fix for
...
[ 784825 ] fix obscure crash in descriptor handling
Should be applied to release23-maint and in all likelyhood
release22-maint, too.
Certainly doesn't apply to release21-maint.
2003-08-15 13:07:47 +00:00
Michael W. Hudson
e723e453a1
Repair refcounting on error return from type_set_bases.
...
Include a test case that failed for one of my efforts to repair this.
2003-08-07 14:58:10 +00:00
Raymond Hettinger
2b6220d88b
SF bug #762455 : Python segfaults when sys.stdout is changed in getattr
...
* Added unittest that fails before, but not after Neil's fix to ceval.c.
2003-06-29 15:44:07 +00:00
Raymond Hettinger
be9715398b
SF bug #753451 : classmethod abuse --> SystemError
...
Check the argument to classmethod for callability.
Backport candidate.
2003-06-18 01:13:41 +00:00
Neal Norwitz
98a379eda1
Add test for bug #751998 .
2003-06-16 22:51:22 +00:00
Guido van Rossum
bb1861a996
Remove debug code from weakref_segfault().
2003-05-29 14:30:49 +00:00
Guido van Rossum
aabe0b3e34
Add testcase for SF 742911.
2003-05-29 14:26:57 +00:00
Guido van Rossum
a4541a30fc
- super() no longer ignores data descriptors, except __class__. See
...
the thread started at
http://mail.python.org/pipermail/python-dev/2003-April/034338.html
2003-04-16 20:02:22 +00:00
Guido van Rossum
52b2705e9c
Ouch, it's Carlo Verre, not Verre Carlo.
2003-04-15 20:05:10 +00:00
Guido van Rossum
4dcdb78c6f
Close off the "Verre Carlo hack" as discussed on python-dev.
2003-04-14 21:46:03 +00:00
Raymond Hettinger
f394df47fd
SF bug #699934 : Obscure error message
...
mwh pointed out that the error message did not
make sense if obtained by rearranging the bases.
2003-04-06 19:13:41 +00:00
Raymond Hettinger
83245b5828
SF bug #699934 : Obscure error message
...
Clarify error message for mro conflicts.
2003-03-12 04:25:42 +00:00
Guido van Rossum
f389c77273
Use floor division (// and __[r]floordiv__ in right-dispatch test.
2003-02-27 20:04:19 +00:00
Tim Peters
f2715e0764
Whitespace normalization.
2003-02-19 02:35:07 +00:00
Guido van Rossum
298e421453
SF patch #685738 by Michael Stone.
...
This changes the default __new__ to refuse arguments iff tp_init is the
default __init__ implementation -- thus making it a TypeError when you
try to pass arguments to a constructor if the class doesn't override at
least __init__ or __new__.
2003-02-13 16:30:16 +00:00
Guido van Rossum
a89d10edc9
Implement another useful feature for proxies: in super(X, x), x may
...
now be a proxy for an X instance, as long as issubclass(x.__class__, X).
2003-02-12 03:58:38 +00:00
Guido van Rossum
03bc7d3c4d
SF #532767 : isinstance(x, X) should work when x is a proxy for an X
...
instance, as long as x.__class__ is X or a subclass thereof.
Did a little cleanup of PyObject_IsInstance() too.
2003-02-12 03:32:58 +00:00
Guido van Rossum
b6e5a0c658
Put proper tests in classmethod_get(). Remove the type argument to
...
descr_check(); it wasn't useful. Change the type argument of the
various _get() methods to PyObject * because the call signature of
tp_descr_get doesn't guarantee its type.
2003-02-11 18:44:42 +00:00
Guido van Rossum
3f50cdc05e
Get rid of the "bozo" __getstate__ that was inserted when __slots__
...
was used. This simplifies some logic in copy_reg.py (used by
pickling). It also broke a test, but this was rewritten to test the
new feature. :-)
2003-02-10 21:31:27 +00:00
Neal Norwitz
de8b94c3e1
Fix SF bug #683467 , 'int' ability to generate longs not inherited
...
When subclassing from an int but not overriding __new__,
long values were not converted properly. Try to convert
longs into an int.
2003-02-10 02:12:43 +00:00
Guido van Rossum
f631859409
Add __getnewargs__ method to classes that need it.
...
(Yes, this is an incompatibility. I'll document it in PEP 307.)
2003-02-07 14:59:13 +00:00
Neal Norwitz
1a9975014f
Fix SF bug #667147 , Segmentation fault printing str subclass
...
Fix infinite recursion which occurred when printing an object
whose __str__() returned self.
Will backport
2003-01-13 20:13:12 +00:00
Guido van Rossum
373c7412f2
Fix for SF bug #642358 : only provide a new with a __dict__ or
...
__weaklist__ descriptor if we added __dict__ or __weaklist__,
respectively. With unit test.
2003-01-07 13:41:37 +00:00
Guido van Rossum
613f24fd73
Add a test for a feature added in rev. 2.82 of typeobject.c:
...
- SLOT1BINFULL() macro: changed this to check for __rop__ overriding
__op__, like binary_op1() in abstract.c -- the latter only calls the
slot function once if both types use the same slot function, so the
slot function must make both calls -- which it already did for the
__op__, __rop__ order, but not yet for the __rop__, __op__ order
when B.__class__ is a subclass of A.__class__.
Also test the refinement added in rev. 2.201 that fixes the problem
reported in SF bug #623669 .
Also test a similar provision in abstract.c's binary_op1().
2003-01-06 23:00:59 +00:00
Guido van Rossum
2720b0dff8
Add some print statements in verbose mode to announce that the newest
...
tests are run. (All tests in this module should have one of these at
the top.)
2003-01-06 21:26:44 +00:00
Guido van Rossum
4f37418d02
Disable the rexec test now that rexec is out of grace.
2003-01-06 16:03:43 +00:00
Tim Peters
6578dc925f
Whitespace normalization.
2002-12-24 18:31:27 +00:00
Neal Norwitz
78ce6b10ed
Add test for SF #658106 . Will backport.
2002-12-24 15:26:42 +00:00
Guido van Rossum
3bbc0eea10
Tighten the tests for assignment to __bases__: disallow empty tuple.
2002-12-13 17:49:38 +00:00
Tim Peters
bca1cbc6f8
SF 548651: Fix the METH_CLASS implementation.
...
Most of these patches are from Thomas Heller, with long lines folded
by Tim. The change to test_descr.py is from Guido. See the bug report.
Not a bugfix candidate -- METH_CLASS is new in 2.3.
2002-12-09 22:56:13 +00:00
Michael W. Hudson
ade8c8b2c3
Nudge getting __module__ and __name__ for new-style classes so that
...
the results of *setting* __name__ are not so surprising.
If people can suggest more tests, that'd be grand, or is what's there
sufficient?
2002-11-27 16:29:26 +00:00
Michael W. Hudson
7e7c00db0c
I don't know why staring at the email to python-checkins made me
...
see problems with my code that I didn't see before the checkin, but:
When a subtype .mro() fails, we need to reset the type whose __bases__
are being changed, too. Fix + test.
2002-11-27 15:40:09 +00:00
Michael W. Hudson
586da8fddd
Readjustments to the way we cope with exceptions from subclasses'
...
mro() methods. Now any exception aborts the whole __bases__ change.
And more tests.
2002-11-27 15:20:19 +00:00
Michael W. Hudson
caf17be1b7
I had the inheritance cycle stuff backwards. Oops!
2002-11-27 10:24:44 +00:00
Guido van Rossum
a01fa26396
The MRO conflict error message depends on dictionary hash order.
...
Avoid depending on this in the test.
2002-11-27 04:00:59 +00:00
Michael W. Hudson
98bbc49c54
This is my patch:
...
[ 635933 ] make some type attrs writable
Plus a couple of extra tests beyond what's up there.
It hasn't been as carefully reviewed as it perhaps should, so all readers
are encouraged, nay exhorted, to give this a close reading.
There are still a couple of oddities related to assigning to __name__,
but I intend to solicit python-dev's opinions on these.
2002-11-26 14:47:27 +00:00
Guido van Rossum
d32047f038
A tweaked version of Jeremy's patch #642489 , to produce better error
...
messages about MRO conflicts. (Tweaks here: don't print the message,
but compare it with an expected string.)
2002-11-25 21:38:52 +00:00
Neal Norwitz
ca2953ea5c
Remove duplicate test
2002-11-23 16:57:00 +00:00
Just van Rossum
a797d8150d
Patch #642500 with slight modifications: allow keyword arguments in
...
dict() constructor. Example:
>>> dict(a=1, b=2)
{'a': 1, 'b': 2}
>>>
2002-11-23 09:45:04 +00:00
Guido van Rossum
9a81892100
Fix or disable some tests that were affected by the new C3 MRO
...
algorithm, and add some new tests for the C3 algorithm.
2002-11-14 19:50:14 +00:00
Neal Norwitz
673cd824ba
Fix SF # 624982, Potential AV in slot_sq_item, by Greg Chapman
...
Don't crash when getting value of a property raises an exception
2002-10-18 16:33:13 +00:00
Guido van Rossum
6e5680fc83
For some reason (probably cut and paste), __ipow__ for new-style
...
classes was called with three arguments. This makes no sense, there's
no way to pass in the "modulo" 3rd argument as for __pow__, and
classic classes don't do this. [SF bug 620179]
I don't want to backport this to 2.2.2, because it could break
existing code that has developed a work-around. Code in 2.2.2 that
wants to use __ipow__ and wants to be forward compatible with 2.3
should be written like this:
def __ipow__(self, exponent, modulo=None):
...
2002-10-15 01:01:53 +00:00
Guido van Rossum
8b1a6d694f
Code by Inyeol Lee, submitted to SF bug 595350, to implement
...
the string/unicode method .replace() with a zero-lengt first argument.
Inyeol contributed tests for this too.
2002-08-23 18:21:28 +00:00
Guido van Rossum
8b056da6c8
Add tests for including __dict__ and/or __weakref__ in __slots__.
...
Add some more rigor to slotmultipleinheritance().
2002-08-13 18:26:26 +00:00
Neal Norwitz
f9dd0f1924
Add test for SF bug # 575229, multiple inheritance w/ slots dumps core
...
Fix already checked in by Guido
2002-08-13 17:16:49 +00:00