Commit graph

24500 commits

Author SHA1 Message Date
Greg Ward
ab05edc0d1 Update optparse to Optik 1.5.1. 2006-04-23 03:47:58 +00:00
Thomas Wouters
5f6f27de4d Fix test_main function so test_bytes can be run by regrtest.py. 2006-04-23 00:19:58 +00:00
Guido van Rossum
4dfe8a1131 Here is a bytes type. It's very minimal but it's a start. 2006-04-22 23:28:04 +00:00
Guido van Rossum
d603f645d9 Delete test_coercion.py. Coercion is dead, so this test is useless.
(Plus, it fails. :-)
2006-04-22 17:37:27 +00:00
Hye-Shik Chang
cdd432808f Remove $CJKCodecs$ RCS tags. The CJKCodecs isn't maintained outside
anymore.
2006-04-22 15:48:15 +00:00
Tim Peters
6d7cd7d6f4 Whitespace normalization. 2006-04-22 05:52:59 +00:00
Andrew M. Kuchling
1da4a94719 Add Gregory K. Johnson's revised version of mailbox.py (funded by
the 2005 Summer of Code).

The revision adds a number of new mailbox classes that support adding
and removing messages; these classes also support mailbox locking and
default to using email.Message instead of rfc822.Message.

The old mailbox classes are largely left alone for backward compatibility.
The exception is the Maildir class, which was present in the old module
and now inherits from the new classes.  The Maildir class's interface
is pretty simple, though, so I think it'll be compatible with existing
code.

(The change to the NEWS file also adds a missing word to a different
news item, which unfortunately required rewrapping the line.)
2006-04-22 02:32:43 +00:00
Andrew M. Kuchling
81efcf6833 Make copy of test_mailbox.py. We'll still want to check the backward
compatibility classes in the new mailbox.py that I'll be committing in
a few minutes.

One change has been made: the tests use len(mbox) instead of len(mbox.boxes).
The 'boxes' attribute was never documented and contains some internal state
that seems unlikely to have been useful.
2006-04-22 02:06:03 +00:00
Tim Peters
21fbd57d66 SF bug #1473760 TempFile can hang on Windows.
Python 2.4 changed ntpath.abspath to do an import
inside the function.  As a result, due to Python's
import lock, anything calling abspath on Windows
(directly, or indirectly like tempfile.TemporaryFile)
hung when it was called from a thread spawned as a
side effect of importing a module.

This is a depressingly frequent problem, and
deserves a more general fix.  I'm settling for
a micro-fix here because this specific one accounts
for a report of Zope Corp's ZEO hanging on Windows,
and it was an odd way to change abspath to begin
with (ntpath needs a different implementation
depending on whether we're actually running on
Windows, and the _obvious_ way to arrange for that
is not to bury a possibly-failing import _inside_
the function).

Note that if/when other micro-fixes of this kind
get made, the new Lib/test/threaded_import_hangers.py
is a convenient place to add tests for them.
2006-04-21 21:18:10 +00:00
Thomas Wouters
d8073285ff Fix newly merged test for p3ykness. 2006-04-21 11:36:13 +00:00
Thomas Wouters
dcc6d32ee4 Fix merge glitch. 2006-04-21 11:30:52 +00:00
Thomas Wouters
49fd7fa443 Merge p3yk branch with the trunk up to revision 45595. This breaks a fair
number of tests, all because of the codecs/_multibytecodecs issue described
here (it's not a Py3K issue, just something Py3K discovers):
http://mail.python.org/pipermail/python-dev/2006-April/064051.html

Hye-Shik Chang promised to look for a fix, so no need to fix it here. The
tests that are expected to break are:

test_codecencodings_cn
test_codecencodings_hk
test_codecencodings_jp
test_codecencodings_kr
test_codecencodings_tw
test_codecs
test_multibytecodec

This merge fixes an actual test failure (test_weakref) in this branch,
though, so I believe merging is the right thing to do anyway.
2006-04-21 10:40:58 +00:00
Thomas Wouters
9ada3d6e29 Merge trunk up to 43069, putting re.py back and hopefully making the branch
usable again.
2006-04-21 09:47:09 +00:00
Thomas Wouters
a977329b6f Merge part of the trunk changes into the p3yk branch. This merges from 43030
(branch-creation time) up to 43067. 43068 and 43069 contain a little
swapping action between re.py and sre.py, and this mightily confuses svn
merge, so later changes are going in separately.

This merge should break no additional tests.

The last-merged revision is going in a 'last_merge' property on '.' (the
branch directory.) Arbitrarily chosen, really; if there's a BCP for this, I
couldn't find it, but we can easily change it afterwards ;)
2006-04-21 09:43:23 +00:00
Guido van Rossum
d858f70617 Fix the problems in this test. Boy this is a painful thing to debug --
it's fundamentally unmaintainable.  Should we throw away pyclbr, or rewrite
it using the AST?
2006-04-21 09:17:15 +00:00
Thomas Wouters
303de6a25b Fix (and add test for) missing check for BaseException subclasses in the C
API.
2006-04-20 22:42:37 +00:00
Guido van Rossum
a48a3b42dd Fix test failures for repr.py.
But shouldn't we kill this module?  How many pprint clones do we need?
2006-04-20 16:07:39 +00:00
Skip Montanaro
94785ef142 Correct implementation and documentation of os.confstr. Add a simple test
case.  I've yet to figure out how to provoke a None return I can test.
2006-04-20 01:29:48 +00:00
Armin Rigo
a9017c39ce SF Patch #1062014: AF_UNIX sockets under Linux have a special
abstract namespace that is now fully supported.
2006-04-19 11:50:27 +00:00
Thomas Wouters
08a1a9fac7 Use explicit relative import for an, ehm, relative import. 2006-04-18 21:41:36 +00:00
Armin Rigo
7e97ee6ac8 A dictresize() attack. If oldtable == mp->ma_smalltable then pure
Python code can mangle with mp->ma_smalltable while it is being walked
over.
2006-04-18 14:00:01 +00:00
Michael W. Hudson
15b1f146bc add a very old crasher from the 2.1 -> 2.2 round of dictionary fixes. 2006-04-18 13:52:32 +00:00
Neal Norwitz
041669fa67 Whitespace normalization 2006-04-18 04:53:28 +00:00
Phillip J. Eby
069159b113 Initial import of setuptools, with integrated tests. 2006-04-18 04:05:34 +00:00
Phillip J. Eby
742cd24c02 test_pyclbr goes nuts when a module contains code to try importing a class
and provide a substitute if the import fails, because pyclbr sees the
class definition.  Changed to ignore such cases' base classes and methods,
since they will not match.
2006-04-18 01:39:25 +00:00
Guido van Rossum
7ea7d90dbe Fix the expected output file; new classes just behave differently...
(There are some other problems with test_class.py that aren't as
easily fixed. :-( )
2006-04-17 23:38:13 +00:00
Ronald Oussoren
6c1074888e This patches fixes a number of byteorder problems in MacOSX specific code. 2006-04-17 13:40:08 +00:00
Thomas Wouters
07519f8712 Fix xrange tests now that xrange() (like many other places) no longer
silently converts floats to integers when expecting integer values.
2006-04-17 13:16:50 +00:00
Neal Norwitz
4b16de4350 Add a comment to explain why we are calling _cleanup() 2006-04-17 02:41:25 +00:00
Neal Norwitz
00ac0d22f3 Try to stop the test from leaking and yet still work on windows 2006-04-17 02:39:37 +00:00
Neal Norwitz
cb0f66f0ab Get test to consistently show no leaks 2006-04-17 01:48:06 +00:00
Thomas Wouters
cb284197f2 Make test_timeout not fail on systems with no dots in their fqdn. 2006-04-16 16:26:28 +00:00
Thomas Wouters
767833dc22 Make test_warnings play nice with regrtest -R:: now that regrtest doesn't
always reload the module (specifically, it doesn't reload if the module has
a 'test_main'.)
2006-04-16 15:43:39 +00:00
Thomas Wouters
993633c6f2 Specialcase 'xs4all' (.nl/.net/.com/whatever else we have) as well as
'python.org' when deciding what server to use for the timeout tests; getting
tired of seeing the test fail on all my boxes ;P This'll still allow the
test to fail for hosts in the XS4ALL network that don't have an 'xs4all'
hostname, so maybe it should use a fallback scheme instead.
2006-04-16 15:22:41 +00:00
Thomas Wouters
631f513fd8 This test no longer leaks, and test_generators sufficiently tests it to
prevent unreported regression.
2006-04-16 15:11:33 +00:00
Thomas Wouters
b8f81d4863 Add missing DECREF to PyErr_WriteUnraisable(). That function reports
exceptions that can't be raised any further, because (for instance) they
occur in __del__ methods. The coroutine tests in test_generators was
triggering this leak. Remove the leakers' testcase, and add a simpler
testcase that explicitly tests this leak to test_generators.

test_generators now no longer leaks at all, on my machine. This fix may also
solve other leaks, but my full refleakhunting run is still busy, so who
knows?
2006-04-15 23:27:28 +00:00
Thomas Wouters
60eab2b676 Consolidate 'leak_test1' and 'refleaks_tests', since they both test for the
same kind of thing.
2006-04-15 22:44:07 +00:00
Thomas Wouters
b3deb94dc6 Add missing PyObject_GC_Track call, causing *some* itertools.tee objects to
not be tracked by GC. This fixes 254 of test_generators' refleaks on my
machine, but I'm sure something else will make them come back :>

Not adding a separate test for this kind of cycle, since the existing
fib/m235 already test them in more extensive ways than any 'minimal' test
has been able to manage.
2006-04-15 22:33:13 +00:00
Thomas Wouters
4cdada9af6 Make test_class work (but still fail) even though class.__dict__ is now a
'dictproxy' (which is a read-only non-dict mapping type that can't be passed
to exec.)

The failures the test finds are behavioural differences between old- and
new-style classes that may or may not be intended.
2006-04-15 09:19:16 +00:00
Thomas Wouters
1034dadf1f Adjust test_enumerate to accomodate for iter() blowing up sooner than
expected, when dealing with new-style broken-iterators.
2006-04-15 09:16:16 +00:00
Thomas Wouters
c947123350 Fix tests for PyArg_Parse*; The PyArg_Parse functions no longer (noisily)
convert float arguments to integer-taking format characters, so fix the test
to expect the failure.
2006-04-15 09:15:11 +00:00
Thomas Wouters
725af87d0a - Remove tests for classic class behaviour
- Expect a new-style class tree in the getclasstree test.
2006-04-15 09:13:19 +00:00
Thomas Wouters
1ae9afa829 Fix test_bisect in the same way as test_itertools: iter() blows up a lot
sooner for new-style broken-iterators, expect it to.
2006-04-15 09:12:14 +00:00
Thomas Wouters
34729030a7 Fix the superficial augmented-assignment tests to deal with true division.
Add (equally superficial) >>=/<<= test in the process. Relies on floats that
should be extremely close to the int '6' printing as '6.0', but I believe
that's a valid assumption ;P
2006-04-15 09:10:43 +00:00
Thomas Wouters
8690c4ed3f Fix tests that were trying to make iteration blow up, on broken iterators.
Since the broken iterators are now new-style classes, iter() was able to do
the valid-iterator check sooner (on instantiation instead of on first call),
making the tests blow up sooner than expected.
2006-04-15 09:07:20 +00:00
Thomas Wouters
0725cf2127 Remove tests for classic-class and mixed-classic-class/new-style behaviour.
(New-style class behaviour was already thoroughly tested)
2006-04-15 09:04:57 +00:00
Thomas Wouters
28bc768977 - Fix doctest results to account for classes being new-style, and thus
printing differently.
 - Fix doctest for classic-class behaviour, make it test new-style behaviour
   on an implicitly-new-style class instead.
2006-04-15 09:03:16 +00:00
Tim Peters
7f098112ee Changed comments to make sense now that the LazyList-based
examples no longer require any explicit closing to avoid
leaking.

That the tee-based examples still do is (I think) still a
mystery.  Part of the mystery is that gc.garbage remains
empty:  if it were the case that some generator in a trash
cycle said it needed finalization, suppressing collection
of that cycle, that generator _would_ show up in gc.garbage.

So this is acting more like, e.g., some tp_traverse slot
isn't visiting all the pointers it should (in which case
the skipped pointer(s) would act like an external root,
silently suppressing collection of everything reachable
from it(them)).
2006-04-15 01:48:57 +00:00
Phillip J. Eby
8ebb28df3a Fix SF#1470508: crash in generator cycle finalization. There were two
problems: first, PyGen_NeedsFinalizing() had an off-by-one bug that
prevented it from ever saying a generator didn't need finalizing, and
second, frame objects cleared themselves in a way that caused their
owning generator to think they were still executable, causing a double
deallocation of objects on the value stack if there was still a loop
on the block stack.  This revision also removes some unnecessary
close() operations from test_generators that are now appropriately
handled by the cycle collector.
2006-04-15 01:02:17 +00:00
Tim Peters
c187f33e2b Whitespace normalization. 2006-04-14 18:34:14 +00:00