Commit Graph

9586 Commits

Author SHA1 Message Date
Martin v. Löwis cd4d297a23 Remove debug print. 2004-08-20 06:19:23 +00:00
Tim Peters a45cacfc1c Whitespace normalization. 2004-08-20 03:47:14 +00:00
Tim Peters 8d7626c23f Stab at SF 1010777: test_queue fails occasionally
test_queue has failed occasionally for years, and there's more than one
cause.

The primary cause in the SF report appears to be that the test driver
really needs entirely different code for thread tests that expect to
raise exceptions than for thread tests that are testing non-exceptional
blocking semantics.  So gave them entirely different code, and added a
ton of explanation.

Another cause is that the blocking thread tests relied in several places
on the difference between sleep(.1) and sleep(.2) being long enough for
the trigger thread to do its stuff sot that the blocking thread could make
progress.  That's just not reliable on a loaded machine.  Boosted the 0.2's
to 10.0's instead, which should be long enough under any non-catastrophic
system conditions.  That doesn't make the test take longer to run, the 10.0
is just how long the blocking thread is *willing* to wait for the trigger
thread to do something.  But if the Queue module is plain broken, such
tests will indeed take 10 seconds to fail now.

For similar (heavy load) reasons, changed threaded-test termination to
be willing to wait 10 seconds for the signal thread to end too.
2004-08-20 03:27:12 +00:00
Tim Peters afe5297b8a Semantic-neutral format and comment changes. 2004-08-20 02:37:25 +00:00
Tim Peters b0a04e1592 Gave _ellipsis_match() an attractive new leading underscore. 2004-08-20 02:08:04 +00:00
Raymond Hettinger 27dbcf2162 Establish policies with respect to 2.3 compatibilty and treated spec
updates as bugfixes.
2004-08-19 22:39:55 +00:00
Raymond Hettinger 6114679099 SF bug #1012315: weakref.WeakValueDictionary should override .has_key()
* Check the found object for a None value during a contains/has_key
  lookup.  Perhaps it will help the OP who is likely suffering from an
  occassional GC or threading object deletion after self.data is checked.

* Complete the previous patch by removing the unnecessary indirection
  for weak dict iterators.  Makes the code cleaner and more readable.
2004-08-19 21:32:06 +00:00
Edward Loper 3a3817f506 Got rid of nooutput() (was used by DocTestCase.debug())
It's redundant, since no output is written anyway: DebugRunner doesn't
generate any output for failures and unexpected exceptions, and since
verbose=False, it won't generate any output for non-failures either.
2004-08-19 19:26:06 +00:00
Edward Loper b7503ff631 Updated __all__ to include every non-underscored class, function, and
constant defined by the module (except the test*() functions, which
should be integrated into test/test_doctest.py, anyway).
2004-08-19 19:19:03 +00:00
Tim Peters 026f8dc103 Now that they've settled down, document doctest directives. 2004-08-19 16:38:58 +00:00
Johannes Gijsbers 3caf9c1edd Port test_zipfile to unittest (patch #736962). 2004-08-19 15:11:50 +00:00
Tim Peters dc5de3bab2 ellipsis_match(): Changed treatment of start- and end-of-string exact
matches to be symmetric.  This makes the algorithm easier to understand.
2004-08-19 14:06:20 +00:00
Tim Peters 26b3ebb515 Replaced the ELLIPSIS implementation with a worst-case linear-time one. 2004-08-19 08:10:08 +00:00
Tim Peters 1cf3aa6e66 ELLIPSIS implementation: an ellipsis couldn't match nothing if it
appeared at the end of a line.  Repaired that.  Also noted that it's
too easy to provoke this implementation into requiring exponential
time, and especially when a test fails.  I'll replace the implementation
with an always-efficient one later.
2004-08-19 06:49:33 +00:00
Brett Cannon caa9798410 Rewrite test_order so as to be more "proper". Originally relied on an
error based on decorating with staticmethod too soon for the code to execute.
This meant that if the test didn't pass it just errored out.  Now if the test
doesn't pass it leads to a failure instead.
2004-08-19 03:48:24 +00:00
Martin v. Löwis babc5ec630 Expand tabs. 2004-08-18 17:47:40 +00:00
Hye-Shik Chang f64700a512 Add support for FreeBSD 6. 2004-08-18 15:13:41 +00:00
Martin v. Löwis 75b9da4aaf Patch #995126: Correct directory size, and generate GNU tarfiles by default. 2004-08-18 13:57:44 +00:00
Martin v. Löwis deacce2c87 Patch #800236: add HTTPResponse.getheaders(). 2004-08-18 12:46:26 +00:00
Johannes Gijsbers c473c99d16 Patch #1006219: let inspect.getsource show '@' decorators and add tests for
this (which are rather ugly, but it'll have to do until test_inspect gets a
major overhaul and a conversion to unittest). Thanks Simon Percivall!
2004-08-18 12:40:31 +00:00
Martin v. Löwis 318a12eb01 Patch #791776: Replace SMTPHandler.date_time with email.Utils.formatdate. 2004-08-18 12:27:40 +00:00
Martin v. Löwis fe84d17a6a Patch #764217: Add nametofont function, exists parameter. 2004-08-18 11:06:45 +00:00
Michael W. Hudson 0ccff074cd This is Mark Russell's patch:
[ 1009560 ] Fix @decorator evaluation order

From the description:

Changes in this patch:

- Change Grammar/Grammar to require
newlines between adjacent decorators.

- Fix order of evaluation of decorators
in the C (compile.c) and python
(Lib/compiler/pycodegen.py) compilers

- Add better order of evaluation check
to test_decorators.py (test_eval_order)

- Update the decorator documentation in
the reference manual (improve description
of evaluation order and update syntax
description)

and the comment:

Used Brett's evaluation order (see
http://mail.python.org/pipermail/python-dev/2004-August/047835.html)

(I'm checking this in for Anthony who was having problems getting SF to
talk to him)
2004-08-17 17:29:16 +00:00
Edward Loper b51b23405b Fixed bug in line-number finding for examples (DocTestParser wasn't
updating line numbers correctly for bare prompts & examples containing
only comments).
2004-08-17 16:37:12 +00:00
Raymond Hettinger f04d8a8898 There are no longer any special case test skips. 2004-08-17 16:34:51 +00:00
Raymond Hettinger 673cb28b2a Remove test of obsolete trim() operation which was supplanted by
normalize() in Draft 1.06 (9 October 2002):

  The normalize operation has been added; it reduces a number to a
  canonical form.  (This replaces the trim operator, which only
  removed trailing fractional zeros.)
2004-08-17 16:27:04 +00:00
Johannes Gijsbers e7691d36b7 Use readline/raw_input() in pydoc.Helper.interact if available and self.input
is sys.stdin. Based on a patch (#726204) by Dmitry Vasiliev and a comment from
Guido in an older patch (#549901).
2004-08-17 13:21:53 +00:00
Thomas Heller 30d0008577 The get_installer_filename() method forgot to return the name it
calculates.  Spotted by Cort Danger Stratton.
2004-08-17 10:15:07 +00:00
Raymond Hettinger 1f65b472c3 SF bug #833957: Ctrl+key combos stop working in IDLE
Make key combinations work with upper and lowercase as is the MS standard.
2004-08-17 08:01:19 +00:00
Raymond Hettinger ba4e47db57 This file is no longer used in version 2.39.
Was supplanted by tointegral.decTest.
2004-08-17 06:56:25 +00:00
Raymond Hettinger 3ee3ed2e80 Add two new files and update remaining tests from the latest update of the
test suite in version 2.39 of dectest.zip.
2004-08-17 06:42:13 +00:00
Raymond Hettinger d6c700a320 Revise max() and min() to comply with the 8/2/2004 update to the specification
(version 1.45):

The max and min operations follow the rules in the current IEEE 754 revision draft:
if one operand is a quiet NaN and the other is number, then the number is always returned
if both operands are finite and equal in numerical value then an ordering is applied:
    if the signs differ then max returns the operand with the positive sign and
    min returns the operand with the negative sign; if the signs are the same then
    the exponent is used to select the result.
2004-08-17 06:39:37 +00:00
Raymond Hettinger f63ba43733 * Dynamically build a list of files to be tested (necessary because
version 2.39 of dectest.zip adds some new test files and because
  some existing test files were getting skipped).
* Remove two docstrings which cluttered unittest's output.
* Simplify a for-loop with a list comprehension.
2004-08-17 05:42:09 +00:00
Barry Warsaw 06fa042034 Test cases and fixes for bugs described in patch #873418: email/Message.py:
del_param fails when specifying a header.
2004-08-16 15:47:34 +00:00
Skip Montanaro d4ff206906 Being bsd-based, darwin/macosx has the same limitation w.r.t. the "echo"
service.
2004-08-16 15:35:54 +00:00
Raymond Hettinger 84f107dd15 Minor formatting cleanup. 2004-08-16 01:45:34 +00:00
Raymond Hettinger 3258e72c82 * Uncomment the SyntaxError doctest after Tim demonstrated how.
* Remove unnecessary sys.PS2 prompt lines.
2004-08-16 01:35:28 +00:00
Matthias Klose 2e829c0214 - Bug #891637, patch #1005466: fix inspect.getargs() crash on def foo((bar)). 2004-08-15 17:04:33 +00:00
Brett Cannon add33601c2 Correct the order of application for decorators. Meant to be bottom-up and not
top-down.  Now matches the PEP.
2004-08-15 07:21:25 +00:00
Johannes Gijsbers 9e15dd6861 Let cgi.parse_header() properly unquote headers (patch #1008597). 2004-08-14 15:39:34 +00:00
Johannes Gijsbers 34c4120731 bug #989672: pdb.doc and the help messages for the help_d and help_u methods
of the pdb.Pdb class gives have been corrected. d(own) goes to a newer frame,
u(p) to an older frame, not the other way around.
2004-08-14 15:19:28 +00:00
Johannes Gijsbers 4ec40648a5 bug #990669: os.path.realpath() will resolve symlinks before normalizing the
path, as normalizing the path may alter the meaning of the path if it contains
symlinks.

Also add tests for infinite symlink loops and parent symlinks that need to be
resolved.
2004-08-14 15:01:53 +00:00
Johannes Gijsbers f9a098efe1 Catch OSError raised when src or dst argument to os.path.samefile doesn't
exist.
2004-08-14 14:51:01 +00:00
Johannes Gijsbers 68128715f2 Unwrap too-smart loop: we can't use `src` for both hard and symbolic links. 2004-08-14 13:57:08 +00:00
Johannes Gijsbers 46f1459860 Raise an exception when src and dst refer to the same file via a hard link or a
symbolic link (bug #851123 / patch #854853, thanks Gregory Ball).
2004-08-14 13:30:02 +00:00
Johannes Gijsbers 404b06814c Reset old locale after running tests. Not doing so broke
test_format/test_unicode in some circumstances (patch #1007539/bug #992078).
2004-08-14 10:56:54 +00:00
Andrew M. Kuchling 9d499f2f96 Back out patch #982681 2004-08-13 20:06:57 +00:00
Brett Cannon b3de2e13ba 'inspect' was not listing the functions in a module properly if the module was
reached through a symlink (was comparing path of module to path to function and
were not matching because of the symlink).  os.path.realpath() is now used to
solve this discrepency.

Closes bug #570300.  Thanks Johannes Gijsbers for the fix.
2004-08-13 18:46:24 +00:00
Raymond Hettinger cc0def1868 Convert weak iterators to generator form. 2004-08-13 07:12:45 +00:00
Tim Peters bf9ac4bd89 Whitespace normalization. 2004-08-13 03:57:22 +00:00
Tim Peters 41a65ea7fe Doctest has new traceback gimmicks in 2.4. While trying to document
them (which they are now), I had to rewrite the code to understand
it.  This has got to be the most DWIM part of doctest -- but in context
is really necessary.
2004-08-13 03:55:05 +00:00
Neal Norwitz f076953eb1 SF patch #1005778, Fix seg fault if list object is modified during list.index()
Backport candidate
2004-08-13 03:18:29 +00:00
Fred Drake d7ea55b1b8 include at least one example of an exception passing through pyexpat 2004-08-13 03:09:07 +00:00
Tim Peters 7ea48ddd4f Nit in _IS_BLANK_OR_COMMENT comment -- it doesn't matter how this is
implemented, just what it does.
2004-08-13 01:52:59 +00:00
Michael W. Hudson e667e66507 Report refleaks to stderr as the tests run as well as logging them
to a file.
2004-08-12 18:27:48 +00:00
Michael W. Hudson 5e897959db This is my patch
[ 1004703 ] Make func_name writable

plus fixing a couple of nits in the documentation changes spotted by MvL
and a Misc/NEWS entry.
2004-08-12 18:12:44 +00:00
Michael W. Hudson 6093462739 Fix bug
[ 1005248 ] new.code() not cleanly checking its arguments

using the result of new.code() can still destroy the sun, but merely
calling the function shouldn't any more.

I also rewrote the existing tests of new.code() to use vastly less
un-bogus arguments, and added tests for the previous insane behaviours.
2004-08-12 17:56:29 +00:00
Martin v. Löwis a9170c7eac Patch #808719: Ignore the locale's encoding if it is an empty string.
Backported to 2.3.
2004-08-12 13:14:52 +00:00
Edward Loper 68ba9a685d In output_difference(), replace blank lines in `want` with <BLANKLINE>
(rather than replacing <BLANKLINE> with blank lines in `got`).  This
makes it easier to see what's intended.
2004-08-12 02:43:49 +00:00
Edward Loper a5db6009fe - Changed output of DocTestParser.get_program() to make it easier to
visually distinguish the expected output from the comments (use
  "##" to mark expected outputs, and "#" to mark comments).
- If the string given to DocTestParser.get_program() is indented, then
  strip its indentation.  (In particular, find the min indentation of
  non-blank lines, and strip that indentation from all lines.)
2004-08-12 02:41:30 +00:00
Edward Loper 8e4a34ba09 - Added __docformat__
- Added comments for some regexps
- If the traceback type/message don't match, then still print full
  traceback in report_failure (not just the first & last lines)
- Renamed DocTestRunner.__failure_header -> _failure_header
2004-08-12 02:34:27 +00:00
Edward Loper 74bca7aa44 - Changed option directives to be example-specific. (i.e., they now
modify option flags for a single example; they do not turn options
  on or off.)
- Added "indent" and "options" attributes for Example
- Got rid of add_newlines param to DocTestParser._parse_example (it's
  no longer needed; Example's constructor now takes care of it).
- Added some docstrings
2004-08-12 02:27:44 +00:00
Edward Loper ac20f57c28 - Added a register_optionflag function (so users can add their own
option flags); and use it to define the existing optionflag
  constants.
2004-08-12 02:02:24 +00:00
Tim Peters c2388a2b9c Start rewriting doctest's LaTeX docs. Damn, this is slow going! 2004-08-10 01:41:28 +00:00
Piers Lauder 6a4e635beb Fix typo in getquotaroot parameter reported by Thierry FLORAC. Also amplify doc string for select to indicate proper way to obtain other responses. 2004-08-10 01:24:54 +00:00
Tim Peters 494aaee902 Whitespace normalization. 2004-08-09 18:54:11 +00:00
Tim Peters 6c542b731c Edward's latest checkins somehow managed to wipe out my previous latest
checkins.  Reapplying the latter changes.
2004-08-09 16:43:36 +00:00
Edward Loper a1ef6110ba - DocTest is now a simple container class; its constructor is no longer
responsible for parsing the string.
- Renamed Parser to DocTestParser
- DocTestParser.get_*() now accept the string & name as command-line
  arguments; the parser's constructor is now empty.
- Added DocTestParser.get_doctest() method
- Replaced "doctest_factory" argument to DocTestFinder with a "parser"
  argument (takes a DocTestParser).
- Changed _tag_msg to take an indentation string argument.
2004-08-09 16:14:41 +00:00
Tim Peters 413ced6c22 This started as a spelling and whitespace cleanup. The comment for
the set_trace fiddling didn't make sense to me, and I ended up reworking
that part of the code.  We really do want to save and restore
pdb.set_trace, so that each dynamically nested level of doctest gets
sys.stdout fiddled to what's appropriate for *it*.  The only "trick"
really needed is that these layers of set_trace wrappers each call the
original pdb.set_trace (instead of the current pdb.set_trace).
2004-08-09 15:43:47 +00:00
Jim Fulton 356fd19c31 Added support for pdb.set_trace. 2004-08-09 11:34:47 +00:00
Dave Cole 331708b226 Patch #1003700: Add socketpair function to socket module. 2004-08-09 04:51:41 +00:00
Tim Peters 80e53141b9 Removed lots of stuff from the module docstring. My intent for 2.4 is
to put details in the LaTeX docs instead, and lots of stuff in the
module docstring wasn't useful anyway.
2004-08-09 04:34:45 +00:00
Tim Peters 208ca7075f Repair some out-of-date comments. 2004-08-09 04:12:36 +00:00
Tim Peters bb43147312 Drop the excruciating newline requirements on arguments to
Example.__init__.  The constructor now adds trailing newlines when
needed, and no longer distinguishes between multi- and single-line
cases for source.
2004-08-09 03:51:46 +00:00
Tim Peters dd0e475297 Give return stmts their own lines. 2004-08-09 03:31:56 +00:00
Tim Peters d40a92b3f0 Indent body of _EXAMPLE_RE for readability. _IS_BLANK_OR_COMMENT makes
more sense as a callable.
2004-08-09 03:28:45 +00:00
Edward Loper 78b58f38f1 Changed Parser.get_examples() to return a list of Example objects,
rather than a list of triples.
2004-08-09 02:56:02 +00:00
Edward Loper 34fcb14768 - Split DocTestRunner's check_output and output_difference methods off
into their own class, OutputChecker.
- Added optional OutputChecker arguments to DocTestRunner,
  DocTestCase, DocTestSuite.
2004-08-09 02:45:41 +00:00
Edward Loper 7c748469c7 Rewrote Parser, using regular expressions instead of walking though
the string one line at a time.  The resulting code is (in my opinion,
anyway), much easier to read.  In the process, I found and fixed a
bug in the orginal parser's line numbering in error messages (it was
inconsistant between 0-based and 1-based).  Also, check for missing
blank lines after the prompt on all prompt lines, not just PS1 lines
(test added).
2004-08-09 02:06:06 +00:00
Edward Loper 103d26e851 Fixed doctest error (wrong prompts) 2004-08-09 02:03:30 +00:00
Raymond Hettinger 955d2b2168 Add a test for Context.copy(). 2004-08-08 20:17:45 +00:00
Tim Peters 0955f29703 Tell unittest that source files with "badsyntax" in their names should
raise SyntaxError.  test_compiler passes now on WinXP, at least in a
release-build non-O run.
2004-08-08 16:43:59 +00:00
Tim Peters 2a5f656d0c Renamed locals to better reflect their meanings. 2004-08-08 16:37:37 +00:00
Tim Peters b6ecc165f2 In verbose mode, display the name of each file before trying to compile
it.  Else when this fails, there's no way to tell which file it was
chewing on.
2004-08-08 16:32:54 +00:00
Tim Peters feec4533e2 Bug 1003935: xrange overflows
Added XXX comment about why the undocumented PyRange_New() API function
is too broken to be worth the considerable pain of repairing.

Changed range_new() to stop using PyRange_New().  This fixes a variety
of bogus errors.  Nothing in the core uses PyRange_New() now.

Documented that xrange() is intended to be simple and fast, and that
CPython restricts its arguments, and length of its result sequence, to
native C longs.

Added some tests that failed before the patch, and repaired a test that
relied on a bogus OverflowError getting raised.
2004-08-08 07:17:39 +00:00
Tim Peters f3f57473ed Get rid of the ignore_imports argument to DocTestFinder.find().
This got slammed in when find() was fixed to stop grabbing doctests
from modules imported *by* the module being tested.  Such tests cannot
be expected to succeed, since they'll be run with the current module's
globals.  Dozens of Zope3 doctests were failing because of that.

It wasn't clear why ignore_imports got added then.  Maybe it's because
some existing tests failed when the change was made.  Whatever, it's
a Bad Idea so it's gone now.

The only use of it was exceedingly obscure, in test_doctest's "Duplicate
Removal" test.  It was "needed" there because, as an artifact of running
a doctest inside a doctest, the func_globals of functions compiled in
the second-level doctest don't match the module globals, and so the
test-finder believed these functions were from a foreign module and
skipped them.  But that took a long time to figure out, and I actually
understand some of this stuff <0.9 wink>.

That problem was resolved by moving the source code for the second-level
doctest into an actual module (test/doctest_aliases.py).

The only remaining difficulty was that the test for the deprecated
Tester.rundict() then failed, because the test finder doesn't take
module=None at face value, trying to guess which module the user really
intended then.  Its guess wasn't appropriate for what Tester.rundict
needs when module=None is given to *it*, which is "no, there is no
module here, and I mean it".  So now passing module=False means exactly
that.  This is hokey, but ignore_imports=False was really a hack to worm
around that there was no way to tell the test-finder that module=None
*sometimes* means what it says.  There was no use case for the combination
of passing a real module with ignore_imports=False.
2004-08-08 06:11:48 +00:00
Raymond Hettinger 9fce44bc8c * Context.copy() now makes a deepcopy.
* Facilitate reloads of local thread.
2004-08-08 04:03:24 +00:00
Tim Peters 161c963276 Type in docstring. 2004-08-08 03:38:33 +00:00
Tim Peters 3ddd60a83b Also deprecated the old Tester class, which is no longer used by anything
except internal tests.
2004-08-08 02:43:33 +00:00
Tim Peters bafb1fed51 Deprecate the doctest.is_private() function. 2004-08-08 01:52:57 +00:00
Tim Peters f727c6c2c7 Deprecated testmod's useless & confusing isprivate gimmick.
Ripped out the docs for the new DocTestFinder's namefilter argument,
and renamed it to _namefilter; this only existed to support isprivate.
Removed the new DocTestFinder's objfilter argument.  No point adding
more cruft to a broken filtering design.
2004-08-08 01:48:59 +00:00
Tim Peters 9ca3f8551a Whitespace normalization. 2004-08-08 01:05:14 +00:00
Tim Peters 95334a5d1e Purged Berkeley code of references to the long-obsolete whrandom. 2004-08-08 00:54:21 +00:00
Andrew M. Kuchling 60395120f4 Trigger DeprecationWarning 2004-08-07 21:44:37 +00:00
Armin Rigo 8b2cbfd180 Let's not use string exceptions any more. 2004-08-07 21:27:43 +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
Jeremy Hylton 4336eda886 Add a trivial test for the compiler package, guarded by compiler resource.
This test is insanely slow, so it requires a resource.  On my machine,
it also appears to dump core.  I think the problem is a stack
overflow, but haven't been able to confirm.
2004-08-07 19:25:33 +00:00
Jeremy Hylton 2876f5ad21 SF patch 836879.
Don't generate code for asserts in -O mode.
2004-08-07 19:21:56 +00:00
Jeremy Hylton 4c989ddc9c Subclasses of string can no longer be interned. The semantics of
interning were not clear here -- a subclass could be mutable, for
example -- and had bugs.  Explicitly interning a subclass of string
via intern() will raise a TypeError.  Internal operations that attempt
to intern a string subclass will have no effect.

Added a few tests to test_builtin that includes the old buggy code and
verifies that calls like PyObject_SetAttr() don't fail.  Perhaps these
tests should have gone in test_string.
2004-08-07 19:20:05 +00:00
Andrew M. Kuchling b839c1f33f [Bug #866222] Update docstrings. 2004-08-07 19:02:19 +00:00
Andrew M. Kuchling 43ab0cd174 [Bug #990792] Mention that repl can be a callable 2004-08-07 17:41:54 +00:00
Jeremy Hylton 5d9c3031c8 Fix urllib2.urlopen() handling of chunked content encoding.
The change to use the newer httplib interface admitted the possibility
that we'd get an HTTP/1.1 chunked response, but the code didn't handle
it correctly.  The raw socket object can't be pass to addinfourl(),
because it would read the undecoded response.  Instead, addinfourl()
must call HTTPResponse.read(), which will handle the decoding.

One extra wrinkle is that the HTTPReponse object can't be passed to
addinfourl() either, because it doesn't implement readline() or
readlines().  As a quick hack, use socket._fileobject(), which
implements those methods on top of a read buffer.  (suggested by mwh)

Finally, add some tests based on test_urllibnet.

Thanks to Andrew Sawyers for originally reporting the chunked problem.
2004-08-07 17:40:50 +00:00
Andrew M. Kuchling d0c53fedd0 Add argument to docstring 2004-08-07 16:51:30 +00:00
Barry Warsaw e8bedeb45b Resolution of bug #997368, "strftime() backward compatibility".
Specifically, time.strftime() no longer accepts a 0 in the yday position of a
time tuple, since that can crash some platform strftime() implementations.

parsedate_tz(): Change the return value to return 1 in the yday position.

Update tests in test_rfc822.py and test_email.py
2004-08-07 16:38:40 +00:00
Jeremy Hylton 2c178253bd SF bug 874842 and patch 997626: httplib bugs
Hack httplib to work with broken Akamai proxies.
Make sure that httplib doesn't add extract Accept-Encoding or
Content-Length headers if the client has already set them.
2004-08-07 16:28:14 +00:00
Andrew M. Kuchling dc54f2be3f Make 'bin' argument trigger DeprecationWarning 2004-08-07 16:27:24 +00:00
Barry Warsaw 8896bf56a2 Resolution of SF bug #1002475 and patch #1003693; Header lines that end in
\r\n only get the \n stripped, not the \r (unless it's the last header which
does get the \r stripped).  Patch by Tony Meyer.

test_whitespace_continuation_last_header(),
test_strip_line_feed_and_carriage_return_in_headers(): New tests.

_parse_headers(): Be sure to strip \r\n from the right side of header lines.
2004-08-07 15:57:52 +00:00
Michael W. Hudson 2b3feec58f This is more-or-less:
[ 1005123 ] test_curses fails on MacOS X 10.3

Be a bit more guarded about what we expect a terminal to be capable
of.
2004-08-07 15:27:16 +00:00
Michael W. Hudson 3fdd43ef35 Somehow (no idea how!) I missed half of patch #1005008. Sorry about that. 2004-08-07 15:20:15 +00:00
Michael W. Hudson 09ad235f99 This is patch
[ 1005008 ] curses.wrapper should also forward keyword args

Plus my rewrite to use finally as opposed to painfully doing the
equivalent by hand.
2004-08-07 15:18:07 +00:00
Raymond Hettinger 654fcd531e Exercise DocTestSuite's search for __test__. 2004-08-07 06:15:12 +00:00
Tim Peters d1b7827216 Whitespace normalization. 2004-08-07 06:03:09 +00:00
Tim Peters 1e277ee3bd Bug 772091: doctest.DocTestSuite does not support __test__
This got fixed "by magic" as part of the refactoring, but wasn't tested
as such.  Now it is.
2004-08-07 05:37:52 +00:00
Raymond Hettinger 2a7dedef9e SF bug #1004669: Type returned from .keys() is not checked 2004-08-07 04:55:30 +00:00
Raymond Hettinger 61992efc4b SF bug #1002530: test_decimal fails if repeated
* Protect the pre-defined contexts by using a deepcopy() instead of copy().
* Micro-optimization:  prefer x&1 over x%2
2004-08-06 23:42:16 +00:00
Tim Peters 19397e5ec5 Merging from tim-doctest-branch, which is now closed.
This primarily adds more powerful ways to work with unittest, including
spiffy support for building suites out of doctests in non-Python
"text files".
2004-08-06 22:02:59 +00:00
Brett Cannon d09d9664e6 Changes the remote address used for tests in TimeoutTestCase from google.com to
python.org .  This way the delay should be great enough for
testConnectTimeout() to pass even when one has a really fast Net connection
that allows connections faster than .001 seconds.
2004-08-06 04:30:46 +00:00
Marc-André Lemburg c759f070ef Added new codecs and aliases for ISO_8859-11, ISO_8859-16 and
TIS-620.

Closes SF bug #1001895: Adding missing ISO 8859 codecs, especially Thai.
2004-08-05 12:43:30 +00:00
Anthony Baxter ff347cadc4 release date 2004-08-05 07:21:01 +00:00
Tim Peters 9b625d3037 Example.__init__: this cannot use assert, because that fails to trigger
in a -O run, and so test_doctest was failing under -O.  Simple cause,
simple cure.
2004-08-04 20:04:32 +00:00
Tim Peters 8485b56216 Edward Loper's cool and massive refactoring of doctest.py, merged from
the tim-doctest-merge-24a2 tag on the the tim-doctest-branch branch.
We did development on the branch in case it wouldn't land in time for
2.4a2, but the branch looked good:  Edward's tests passed there, ditto
Python's tests, and ditto the Zope3 tests.  Together, those hit doctest
heavily.
2004-08-04 18:46:34 +00:00
Michael W. Hudson 574a25127a To ever run this test "you must import TestSkipped" from the right
place! (can that please be it for silly mistakes in this file? :-) I
know I started it, but...).

Also, rearrangements to run repeatedly.
2004-08-04 14:22:56 +00:00
Vinay Sajip eb477d04f7 Updated Logger.log() docstring to clarify that lvl parameter should be an integer. 2004-08-04 08:38:08 +00:00
Vinay Sajip 6887c92b1e Close handlers and tidy up loggers by removing closed handlers - to avoid problems when run twice (SF #1002537) 2004-08-04 08:29:14 +00:00
Hye-Shik Chang 4189c643f8 Remove .width() and .iswide() from UserString as well. 2004-08-04 08:01:06 +00:00
Hye-Shik Chang e9ddfbb412 SF #989185: Drop unicode.iswide() and unicode.width() and add
unicodedata.east_asian_width().  You can still implement your own
simple width() function using it like this:
    def width(u):
        w = 0
        for c in unicodedata.normalize('NFC', u):
            cwidth = unicodedata.east_asian_width(c)
            if cwidth in ('W', 'F'): w += 2
            else: w += 1
        return w
2004-08-04 07:38:35 +00:00
Hye-Shik Chang b5047fd019 Add a workaround for a problem that UTF-8 strings can be corrupted
or broken by basic ctype functions in 4.4BSD descendants.  This
will be fixed in their future development branches but they'll keep
the POSIX-incompatibility for their backward-compatiblities in near
future.
2004-08-04 06:33:51 +00:00
Tim Peters 6db15d7307 Whitespace normalization. 2004-08-04 02:36:18 +00:00
Tim Peters cea2cc4a21 test_threadsignals is an expected skip on win32. 2004-08-04 02:32:03 +00:00
Tim Peters 81676dc520 To raise TestSkipped, you must import TestSkipped. 2004-08-04 02:30:45 +00:00
Tim Peters 3d3cfdb499 ihooks FancyModuleLoader.load_module()
imputils Importer._process_result():
    remove name from modules dict if exec fails.

This is what all the builtin importers do now, new in 2.4.
2004-08-04 02:29:12 +00:00
Fred Drake edcac8f416 make sure distutils logging is shut off in tests to avoid spurious output 2004-08-03 18:53:07 +00:00
Martin v. Löwis 9441c078cf Patch #986929: Add support for wish -sync and -use options. 2004-08-03 18:36:25 +00:00
Martin v. Löwis b217cd802e Wait for visibility before setting a grab. Fixes #946153. 2004-08-03 18:36:25 +00:00
Fred Drake f901abdd62 allow ctime(), gmtime(), and localtime() to take None as equivalent to an omitted arg
(closes SF bug #658254, patch #663482)
2004-08-03 17:58:55 +00:00
Fred Drake d04573fef0 This allows additional commands to be provided for existing setup.py
scripts without modifying either the distutils installation or the
setup.py scripts of packages with which the new commands will be used.

Specifically, an option is added to distutils that allows additional
packages to be searched for command implementations in addition to
distutils.command.  The additional packages can be specified on the
command line or via the installation or personal configuration files
already loaded by distutils.

For discussion, see the thread starting with:

http://mail.python.org/pipermail/distutils-sig/2004-August/004112.html

This closes SF patch #102241.
2004-08-03 16:37:40 +00:00
Fred Drake 4818748b87 add missing import! 2004-08-03 16:14:13 +00:00
Fred Drake 4354ba3f76 avoid fragility: make sure POSIXLY_CORRECT is completely controlled
for the tests, and restored properly when done
2004-08-03 15:54:45 +00:00
Michael W. Hudson 34fba3b445 Add the same guard as test_signal. 2004-08-03 15:35:29 +00:00
Michael W. Hudson 43220ea26e Argh! This was meant to be part of patch #960406. 2004-08-03 14:37:14 +00:00
Martin v. Löwis 9513e34ac4 Patch #823072: add option to NOT use ~/.netrc in nntplib.NNTP(). 2004-08-03 14:36:32 +00:00
Martin v. Löwis 65a7975f16 Patch #994595: Recognize Basic auth even if other schemes are offered.
Will backport to 2.3.
2004-08-03 12:59:55 +00:00
Martin v. Löwis 7db57b3b41 Patch #870382: Automatically add msvcr71 to the list of libraries if
Python was built with VC 7.1.
2004-08-03 12:41:42 +00:00
Michael W. Hudson 61147f63d9 Check in my refleak hunting code.
It's not the 100% solution -- it may not even be the 90% solution -- but
it does seem to help.
2004-08-03 11:33:28 +00:00
Anthony Baxter afd5ce1814 nice tests dont leave little suprises in the environ 2004-08-03 11:14:19 +00:00
Michael W. Hudson 5bf2516807 More "noone expected this to run twice"ness removal. 2004-08-03 11:14:09 +00:00
Michael W. Hudson fe27ff8936 make this test work when run repeatedly. 2004-08-03 11:08:32 +00:00
Anthony Baxter d2717217ae Removed use of 'cgi.initlog()' - the first call to cgi.log is actually
an initlog() (and initlog()'s docstring says "don't use this"!) This
allows test_cgi to be run repeatedly in a single run of the interpreter.
2004-08-03 11:05:04 +00:00
Michael W. Hudson fcc09bbad6 Don't exit test_main() with the lock 'done' held -- there's no cleaner
way to guarantee a deadlock on the next call!

If I've inadvertently done some damage to this test, sorry (but I don't
think I have).
2004-08-03 10:45:59 +00:00
Michael W. Hudson 3bfed9c225 Delete the items variable (and explain why). 2004-08-03 10:17:34 +00:00
Fred Drake 576298d3b2 - fix description of option table entries
- fix broken assert statement; should just raise
2004-08-02 17:58:51 +00:00
Andrew M. Kuchling c75f11222c Use isabs() in conditional, not abspath 2004-08-02 14:54:16 +00:00
Anthony Baxter 270fe88c68 and a unit test for the staticmethod-of-a-non-method failure just fixed 2004-08-02 11:34:10 +00:00
Raymond Hettinger 66bd233225 Completed the patch for Bug #215126.
* Fixes an incorrect variable in a PyDict_CheckExact.
* Allow general mapping locals arguments for the execfile() function
  and exec statement.
* Add tests.
2004-08-02 08:30:07 +00:00
Anthony Baxter c2a5a63654 PEP-0318, @decorator-style. In Guido's words:
"@ seems the syntax that everybody can hate equally"
Implementation by Mark Russell, from SF #979728.
2004-08-02 06:10:11 +00:00
Tim Peters 99d001ed0d Removed reliance on damaged module object appearing in sys.modules
after a failed import.

This is the last checkin in the "change import failure semantics" series.
2004-08-02 03:59:57 +00:00
Tim Peters 08138fdc7a New tests:
test_failing_import_sticks -- if an import raises an exception,
        ensure that trying to import it again continues raising exceptions
    test_failing_reload -- if a module loads OK, but a reload raises an
        exception, ensure that the module is still in sys.modules, and
        that its __dict__ reflects as much of the reload attempt as
        succeeded.  That doesn't seem like sane semantics, but it is
        backward-compatible semantics <wink>.
2004-08-02 03:58:27 +00:00
Tim Peters d464838ebc Removed no-longer-needed convolutions to recover from damaged modules
getting left beyind in sys.modules.
2004-08-02 03:55:18 +00:00
Neal Norwitz 0e67fd478f Fix SF #1001053, wave.open() with unicode filename fails
Backport candidate.
2004-08-01 22:48:06 +00:00
Tim Peters c0cbc8611b Whitespace normalization. 2004-07-31 21:17:37 +00:00
Tim Peters 579f7355fe Be more careful about reverting mutuations to system-wide (sys) variables.
This fixes 15 spurious test failures on Windows (probably all due to
the test leaving a wrong path in sys.argv[0], which then prevented
regrtest.py from finding the expected-output files for tests running
after test_optparse).
2004-07-31 21:14:28 +00:00
Greg Ward eba20e6015 Upgrade optparse module and tests to Optik 1.5a1:
* add expansion of default values in help text: the string
    "%default" in an option's help string is expanded to str() of
    that option's default value, or "none" if no default value.
  * bug #955889: option default values that happen to be strings are
    now processed in the same way as values from the command line; this
    allows generation of nicer help when using custom types.  Can
    be disabled with parser.set_process_default_values(False).
  * bug #960515: don't crash when generating help for callback
    options that specify 'type', but not 'dest' or 'metavar'.
  * feature #815264: change the default help format for short options
    that take an argument from e.g. "-oARG" to "-o ARG"; add
    set_short_opt_delimiter() and set_long_opt_delimiter() methods to
    HelpFormatter to allow (slight) customization of the formatting.
  * patch #736940: internationalize Optik: all built-in user-
    targeted literal strings are passed through gettext.gettext().  (If
    you want translations (.po files), they're not included with Python
    -- you'll find them in the Optik source distribution from
    http://optik.sourceforge.net/ .)
  * bug #878453: respect $COLUMNS environment variable for
    wrapping help output.
  * feature #988122: expand "%prog" in the 'description' passed
    to OptionParser, just like in the 'usage' and 'version' strings.
    (This is *not* done in the 'description' passed to OptionGroup.)
2004-07-31 16:15:44 +00:00
Tim Peters bcc95cb7cb Repair typo in docstring. 2004-07-31 00:19:43 +00:00
Armin Rigo 93677f075d * drop the unreasonable list invariant that ob_item should never come back
to NULL during the lifetime of the object.

* listobject.c nevertheless did not conform to the other invariants,
  either; fixed.

* listobject.c now uses list_clear() as the obvious internal way to clear
  a list, instead of abusing list_ass_slice() for that.  It makes it easier
  to enforce the invariant about ob_item == NULL.

* listsort() sets allocated to -1 during sort; any mutation will set it
  to a value >= 0, so it is a safe way to detect mutation.  A negative
  value for allocated does not cause a problem elsewhere currently.
  test_sort.py has a new test for this fix.

* listsort() leak: if items were added to the list during the sort, AND if
  these items had a __del__ that puts still more stuff into the list,
  then this more stuff (and the PyObject** array to hold them) were
  overridden at the end of listsort() and never released.
2004-07-29 12:40:23 +00:00
Vinay Sajip e12f71586a Ignore exceptions which occur when closing files in shutdown() 2004-07-29 09:19:30 +00:00
Neal Norwitz 014f103705 SF bug #999776, zlib home page wrong
Backport candidate.
2004-07-29 03:55:56 +00:00
Marc-André Lemburg 17b6d28c64 New codec: [ 996067 ] hp-roman8 codec 2004-07-28 15:37:54 +00:00
Marc-André Lemburg cd8a4cb3d3 Added new codec hp-roman8 submitted as patch [ 996067 ] hp-roman8 codec. 2004-07-28 15:35:29 +00:00
Fred Drake 25d88926b9 Since build_py handles package data installation, the list of outputs
can contain more than just .py files.  Make sure we only report
bytecode files for the .py files.
2004-07-28 14:55:10 +00:00
Tim Peters 49667c257b Ack, removed useless import of os I just introduced. 2004-07-27 21:05:21 +00:00
Tim Peters 5cfb05eef0 Added a new fileno() method. ZODB's repozo.py wants this so it can
apply os.fsync() to the GzipFile backup files it creates.
2004-07-27 21:02:02 +00:00
Martin v. Löwis 544f1195b1 Patch #995766: Keyword argument support in cPickle. 2004-07-27 05:22:33 +00:00
Martin v. Löwis 7b9190b8fc Patch #998149: imaplib deleteacl and myrights. 2004-07-27 05:07:19 +00:00
Martin v. Löwis c8ae31dcbd Patch #962487: Don't crash for empty locale names. 2004-07-26 12:45:18 +00:00
Martin v. Löwis cc0f93233a Patch #605370: Add description[s] for RFC 2980 compliance. 2004-07-26 12:40:50 +00:00
Martin v. Löwis 32d0c1b458 Patch #995782: Add FreeBSD 5 expectations. Will backport to 2.3. 2004-07-26 12:09:13 +00:00
Skip Montanaro 5253da163c added test for bug #996359. 2004-07-24 19:56:03 +00:00
Skip Montanaro 3414c1ceee add missing newlines to read/readline.
fixes bug #996359.
2004-07-24 19:54:44 +00:00
Thomas Heller 612eb09aae Factored out a method to determine the final installer filename. 2004-07-23 19:58:28 +00:00
Thomas Heller 6fa2474b20 Make the distutils version number the same as the python version. It
must be literally contained here, because it is still possible to
install this distutils in older Python versions.
2004-07-23 19:47:32 +00:00
Thomas Heller ee6fd06ecf bdist_wininst does now properly handle unicode strings or byte strings
with umlauts in the author argument and others.

Fixes sf # 993943.
2004-07-23 19:44:29 +00:00
Marc-André Lemburg d25c650461 Let u'%s' % obj try obj.__unicode__() first and fallback to obj.__str__(). 2004-07-23 16:13:25 +00:00
Gustavo Niemeyer 7bd33c5e22 This change implements the following gettext features, as
discussed recently in python-dev:

In _locale module:

- bind_textdomain_codeset() binding

In gettext module:

- bind_textdomain_codeset() function
- lgettext(), lngettext(), ldgettext(), ldngettext(),
  which return translated strings encoded in
  preferred system encoding, if
  bind_textdomain_codeset() was not used.
- Added equivalent functionality in translate()
  function and catalog classes.

Every change was also documented.
2004-07-22 18:44:01 +00:00
Tim Peters aa1c7ff7e8 SF patch 995225: tarfile.py fix for bug #990325
Removes CVS keywords from this binary file, so that test_tarfile passes
regardless of whether Python is checked out with -kk.
2004-07-22 00:54:37 +00:00
Fred Drake b3d55d31d9 elaborate package data test to make sure get_outputs() gives the right
results when byte-code compilation is requested (in particular, make
sure that package data doesn't get a bogus byte-code listing
generated)
2004-07-21 18:53:06 +00:00
Tim Peters 21429932e4 Thread.__delete: Discussion of internal obscurities belongs in comments
rather than in docstrings.  Rewrote so that _active_limbo_lock is released
no matter what happens (it could have been left locked if _sys got None'd
out).  Use "in" in preference to has_key() for dict lookup.  Don't bother
looking for 'dummy_threading' in sys.modules unless KeyError is raised.
Since the heart of the method is the del, do that in only one place.
2004-07-21 03:36:52 +00:00
Kurt B. Kaiser 090e636add EditorWindow.py was not finding the .chm help file on Windows. Typo
at Rev 1.54.  Python Bug 990954
2004-07-21 03:33:58 +00:00
Brett Cannon 8b3d92a977 Fix bug where a KeyError was raised if -O was being used for the interpreter
and Thread.__delete() was called after a Thread instance was created.  Problem
resulted from a currentThread() call in an 'assert' statement being optimized
out and dummy_thread.get_ident() always returning -1 and thus overwriting the
entry for the _MainThread() instance created in 'threading' at import time.

Closes bug #993394.
2004-07-21 02:21:58 +00:00
Neal Norwitz 0260519c52 Remove unused variables 2004-07-20 22:31:34 +00:00
Neal Norwitz d96d1015ef SF #918101, allow files >= 8 GB using GNU extension 2004-07-20 22:23:02 +00:00
Neal Norwitz a4f651a2ae SF #857297 and 916874, improve handling of hard links when extracting 2004-07-20 22:07:44 +00:00
Neal Norwitz 0662f8a5ea SF #846659, fix bufsize violation and GNU longname/longlink extensions 2004-07-20 21:54:18 +00:00
Brett Cannon 4d0bddfee6 Fix bug in addsitedir() to properly handle the lack of a second argument.
Fixed to keep backwards-compatibility for the undocumented function.

Closes bug #986795.
2004-07-20 02:28:28 +00:00
Neil Schemenauer 3a313e3655 Check the type of values returned by __int__, __float__, __long__,
__oct__, and __hex__.  Raise TypeError if an invalid type is
returned.  Note that PyNumber_Int and PyNumber_Long can still
return ints or longs.  Fixes SF bug #966618.
2004-07-19 16:29:17 +00:00
Neil Schemenauer 66edb6295f Don't return spurious empty fields if 'keep_empty_values' is True.
Fixes SF bug #990307.
2004-07-19 15:38:11 +00:00
Thomas Heller 36a0f89c37 The binary layout of cfgdata has changed, so the magic number has to
change as well.
Recompiled binaries after this change.
2004-07-19 10:07:28 +00:00
Thomas Heller b8f134e3c3 The binary layout of cfgdata has changed, so the magic number has to
change as well.  Add a comment explaining this.
2004-07-19 09:45:46 +00:00
Hye-Shik Chang 5ef601854e test_codecmaps_hk is also expected to be skipped when a mapping file
isn't available. (Spotted by Raymond Hettinger)
2004-07-19 06:39:37 +00:00
Neal Norwitz a0e0cd3013 Don't try to create the directory if it already exists, otherwise the test fails 2004-07-19 00:08:59 +00:00
Tim Peters 90ee7eb18e Record that FCNTL.py has gone away; remove FCNTL hack in tempfile.py;
another hack remains in test___all__.py, but the problem that one
addresses is more general than *just* FCNTL, so leaving it alone.
2004-07-18 23:58:17 +00:00