Commit Graph

4121 Commits

Author SHA1 Message Date
Jeremy Hylton 5accbdb812 Make sure socket.close() doesn't interfere with socket.makefile().
If a makefile()-generated object is open and its parent socket is
closed, the parent socket should remain open until the child is
closed, too.  The code to support this is moderately complex and
requires one extra slots in the socket object.

This change fixes httplib so that several urllib2net test cases pass
again.

Add SocketCloser class to socket.py, which encapsulates the
refcounting logic for sockets after makefile() has been called.

Move SocketIO class from io module to socket module.  It's only use is
to implement the raw I/O methods on top of a socket to support
makefile().

Add unittests to test_socket to cover various patterns of close and
makefile.
2007-08-03 20:40:09 +00:00
Jeremy Hylton cf2f41919c Hack: Fix some test_urllib2.net tests by getting them access to the
raw socket so they can check the timeout value.  Should change the
code under test to expose the timeout in a more direct way.
2007-08-03 20:31:38 +00:00
Guido van Rossum c0f2d2d345 SF patch# 1762940 by Joe Gregorio.
Fix test_cookielib and test_urllib2.
(The changes to urllib make urllib.quote() work correctly for Unicode
strings; but they don't fix test_urllib.)
2007-08-03 19:19:24 +00:00
Guido van Rossum 15863ea07a SF patch# 1764815 by Paul Colomiets.
Fix for test_socketserver.
Use io.BytesIO instead of io.StringIO, and adjust tests.
2007-08-03 19:03:39 +00:00
Guido van Rossum ad8d30092c SF patch# 1766592 by Paul Colomiets.
Fix test_zipimport.
2007-08-03 18:40:49 +00:00
Guido van Rossum 4737482fad Add a default __prepare__() method to 'type', so it can be called
using super().  (See recent conversation on python-3000 with Talin
and Phillip Eby about PEP 3115 chaining rules.)
2007-08-02 16:48:17 +00:00
Guido van Rossum a6bcefca81 When testing all stdlib modules, ignore test_pep263.py which is encoded
in KOI8-R.
2007-08-01 18:06:13 +00:00
Guido van Rossum 70d2b890de Tests for @abstractproperty by Jeffrey Yasskin.
(The previous changes to abc.py were also by him).
Put back a comment about using super() for properties
(I didn't realize this worked).
2007-08-01 17:52:23 +00:00
Walter Dörwald e78178e2c0 Bytes (which are the input for decoding) are mutable now. If a decoding
error callback changes the bytes object in the exception the decoder might
use memory that's no longer in use. Change unicode_decode_call_errorhandler()
so that it fetches the adresses of the bytes array (start and end) from the
exception object and passes them back to the caller.
2007-07-30 13:31:40 +00:00
Brett Cannon 96d7e8369c Don't try to use a bytes sequence for file paths. Also force equivalency tests
to be between str8 and str.
2007-07-30 01:34:07 +00:00
Martin v. Löwis 447d33ead6 Implement PEP 3120. 2007-07-29 18:10:01 +00:00
Brett Cannon 5de17db361 Testing against a different default encoding is meaningless as the default
encoding can only be UTF-8 now.
2007-07-29 02:57:38 +00:00
Martin v. Löwis 48f4cf9b94 Use BytesIO instead of cStringIO.StringIO. 2007-07-28 17:58:14 +00:00
Martin v. Löwis c582bfca26 Fix quopri to operate consistently on bytes. 2007-07-28 17:52:25 +00:00
Guido van Rossum 3e1f85eb5d Fix the minidom test.
In order to do this, I added an optional encoding argument to io.StringIO.
The toprettyxml() function returns bytes when you specify an encoding now.
2007-07-27 18:03:11 +00:00
Guido van Rossum 624ab7c28a Make test_sgmllib pass on OSX. Hopefully it still passes everywhere else too. 2007-07-27 17:12:11 +00:00
Guido van Rossum ea8344797e SF patch# 1757839 by Alexandre Vassalotti (part 2).
Change a bunch of .assert_(X == Y) to .assertEqual(X, Y).
2007-07-27 05:17:50 +00:00
Guido van Rossum f7a94e4b44 SF patch# 1761465 by Jeffrey Yasskin.
Fix test_aepack and test_applesingle.
2007-07-27 04:41:00 +00:00
Brett Cannon 1eb79cfd6d Move xdrlib over to the bytes type. 2007-07-26 03:19:46 +00:00
Brett Cannon d24fffe7c6 Move shelve over to BytesIO as pickle.(Pickler | Unpickler) expect binary
files, not text files.

test_shelve still fails thanks to bsddb not having been fixed.
2007-07-26 03:07:02 +00:00
Guido van Rossum 51a883bf87 Make test_wave.py pass.
I have no illusion that this fixes all issues with this module.
2007-07-23 21:28:30 +00:00
Guido van Rossum 005ebb1f7c Tweaks to make the codecmaps tests pass again.
(To run these, you need to pass -uurlfetch to regrtest.py or runtests.sh.)
2007-07-23 18:06:59 +00:00
Guido van Rossum 4ca9471831 SF patch# 1759016 by Joe Gregorio, who writes:
1. Removed "returns_unicode" attribute, associated code
   in the module to support that attribute, and all tests
   associated with it.
2. Parsed data is now returned as unicode strings.
3. Changed input tests to use io.BytesIO instead
   of StringIO, to reflect the byte processing
   nature of expat.
2007-07-23 17:42:32 +00:00
Guido van Rossum f520c05456 Don't use cwnon-ASCII characters in the source; use \ooo escapes.
(This doesn't fix test_cookielib, just removes the SyntaxError.)
2007-07-23 03:46:37 +00:00
Guido van Rossum accecdf969 Don't use a sleep to wait for the server to be ready; this caused
problems on my OSX laptop.  use a condition variable instead.
2007-07-23 01:49:28 +00:00
Collin Winter d745c436fb Fix test_largefile by changing some string literals to byte literals. 2007-07-23 00:51:28 +00:00
Guido van Rossum ca73d496ec Remove this test; it checked for a single old bug and I don't think that
its failure means much, now that the handling of unicode and bytes has
changed so much.
2007-07-22 20:13:35 +00:00
Guido van Rossum f8761c781b Make test_compile not fail.
I *think* it's okay no longer to require that compiling a Unicode
string with a coding declaration fails; it seems appropriate to
just ignore it.
2007-07-22 20:01:13 +00:00
Guido van Rossum d4eda825c7 SF patch# 1757839 by Alexandre Vassalotti -- make test_mailbox and
test_old_mailbox pass.
2007-07-21 00:21:26 +00:00
Guido van Rossum bf4806bac5 SF patch# 1757758 by Alexandre Vassalotti, fixing test_ucn. 2007-07-21 00:15:34 +00:00
Guido van Rossum 25d0bd687f Delete failing test that was checking that a slot declaration with
a non-ASCII character in it should fail.  Because of PEP 3131 this
test is bogus anyway.  Also some cosmetic cleanup.
2007-07-20 17:10:16 +00:00
Martin v. Löwis 3a2e5ce575 Make audioop and its tests use bytes throughout. 2007-07-20 07:36:26 +00:00
Martin v. Löwis b1a9f2772b Fix test_doctest: drop u prefixes; explicitly declare
encoding as latin-1 if we want it to fail.
2007-07-20 07:13:39 +00:00
Guido van Rossum 36e0a92442 Merged revisions 56443-56466 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/p3yk

................
  r56454 | kurt.kaiser | 2007-07-18 22:26:14 -0700 (Wed, 18 Jul 2007) | 2 lines

  Make relative imports explicit for py3k
................
  r56455 | kurt.kaiser | 2007-07-18 23:12:15 -0700 (Wed, 18 Jul 2007) | 2 lines

  Was modifying dict during iteration.
................
  r56457 | guido.van.rossum | 2007-07-19 07:33:19 -0700 (Thu, 19 Jul 2007) | 2 lines

  Fix failing test.
................
  r56466 | guido.van.rossum | 2007-07-19 20:58:16 -0700 (Thu, 19 Jul 2007) | 35 lines

  Merged revisions 56413-56465 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r56439 | georg.brandl | 2007-07-17 23:37:55 -0700 (Tue, 17 Jul 2007) | 2 lines

    Use "Unix" as platform name, not "UNIX".
  ........
    r56441 | guido.van.rossum | 2007-07-18 10:19:14 -0700 (Wed, 18 Jul 2007) | 3 lines

    SF patch# 1755885 by Kurt Kaiser: show location of Unicode escape errors.
    (Slightly tweaked for style and refcounts.)
  ........
    r56444 | kurt.kaiser | 2007-07-18 12:58:42 -0700 (Wed, 18 Jul 2007) | 2 lines

    Fix failing unicode test caused by change to ast.c at r56441
  ........
    r56451 | georg.brandl | 2007-07-18 15:36:53 -0700 (Wed, 18 Jul 2007) | 2 lines

    Add description for wave.setcomptype() values
  ........
    r56456 | walter.doerwald | 2007-07-19 06:04:38 -0700 (Thu, 19 Jul 2007) | 3 lines

    Document that codecs.lookup() returns a CodecInfo object.
    (fixes SF bug #1754453).
  ........
    r56463 | facundo.batista | 2007-07-19 16:57:38 -0700 (Thu, 19 Jul 2007) | 6 lines


    Added a select.select call in the test server loop to make sure the
    socket is ready to be read from before attempting a read (this
    prevents an error 10035 on some Windows platforms). [GSoC - Alan
    McIntyre]
  ........
................
2007-07-20 04:05:57 +00:00
Guido van Rossum 99603b0c1e Getting rid of cPickle. Mmm, feels good! 2007-07-20 00:22:32 +00:00
Guido van Rossum be6fe5476c Make test_datetime.py pass by killing all references to cPickle in it. 2007-07-19 23:55:34 +00:00
Guido van Rossum 814661e0d4 Fix test_zipfile.py. (Why was it passing before?)
The usual str/bytes issues.

BTW, perhaps zipfp.open() should behave more like io.open()?
2007-07-18 22:07:29 +00:00
Guido van Rossum 697a84b16c Make test_unicode pass after the lexer was fixed to turn unicode errors
into syntax errors.
2007-07-18 21:02:47 +00:00
Guido van Rossum 7eb6ca54a7 Make test_parser pass after merge. 2007-07-18 21:00:22 +00:00
Guido van Rossum df4a743ac0 Fix test_asyncore after merge. It needs to use bytes. 2007-07-18 20:57:44 +00:00
Guido van Rossum b5a755e46c Merged revisions 56301-56442 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/p3yk

................
  r56322 | kurt.kaiser | 2007-07-12 11:35:03 -0700 (Thu, 12 Jul 2007) | 2 lines

  Replace obscure code which was failing in py3k.
................
  r56323 | kurt.kaiser | 2007-07-12 11:44:12 -0700 (Thu, 12 Jul 2007) | 3 lines

  1. Remove new division option
  2. Update IDLE version to 3.0x
................
  r56327 | kurt.kaiser | 2007-07-12 12:20:20 -0700 (Thu, 12 Jul 2007) | 5 lines

  Fix another instance of this defect in Tkinter, and one in IDLE.

  Patch 1724999 by Ali Gholami Rudi -- avoid complaints about dict size
  change during iter in destroy call.
................
  r56339 | georg.brandl | 2007-07-13 03:07:25 -0700 (Fri, 13 Jul 2007) | 2 lines

  Fix #1753310: regrtest -x doesn't work anymore
................
  r56361 | kurt.kaiser | 2007-07-13 18:25:24 -0700 (Fri, 13 Jul 2007) | 2 lines

  convert a map() iterator to a list to get this working.
................
  r56362 | kurt.kaiser | 2007-07-13 18:53:45 -0700 (Fri, 13 Jul 2007) | 2 lines

  Was modifying dict during iteration.
................
  r56376 | collin.winter | 2007-07-14 11:56:19 -0700 (Sat, 14 Jul 2007) | 1 line

  Add an example of class decorators to test_grammar.
................
  r56377 | collin.winter | 2007-07-14 12:00:17 -0700 (Sat, 14 Jul 2007) | 1 line

  Add a basic example of dictcomps to test_grammar.
................
  r56413 | neal.norwitz | 2007-07-17 00:21:18 -0700 (Tue, 17 Jul 2007) | 149 lines

  Merged revisions 56202-56412 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r56204 | ronald.oussoren | 2007-07-08 23:02:21 -0700 (Sun, 08 Jul 2007) | 2 lines

    Patch 1693258: Fix for duplicate "preferences" menu-OS X
  ........
    r56207 | ronald.oussoren | 2007-07-09 01:41:15 -0700 (Mon, 09 Jul 2007) | 4 lines

    Patch 1673122: be explicit about which libtool to use, to avoid name clashes
    when a users install GNU libtool early in his PATH
  ........
    r56280 | georg.brandl | 2007-07-11 12:41:49 -0700 (Wed, 11 Jul 2007) | 2 lines

    Fix #1752132: wrong comment in opcode description.
  ........
    r56293 | georg.brandl | 2007-07-12 01:05:45 -0700 (Thu, 12 Jul 2007) | 3 lines

    Patch #1752270, #1750931: complain if urllib2 add_handler called
    without handler.
  ........
    r56296 | georg.brandl | 2007-07-12 01:11:29 -0700 (Thu, 12 Jul 2007) | 2 lines

    Patch #1739696: use code.co_code only if really necessary
  ........
    r56298 | georg.brandl | 2007-07-12 01:38:00 -0700 (Thu, 12 Jul 2007) | 3 lines

    Patch #1673759: add a missing overflow check when formatting floats
    with %G.
  ........
    r56302 | georg.brandl | 2007-07-12 02:06:41 -0700 (Thu, 12 Jul 2007) | 2 lines

    Patch #1731659: improve time.strptime docs.
  ........
    r56304 | georg.brandl | 2007-07-12 02:24:04 -0700 (Thu, 12 Jul 2007) | 2 lines

    Patch #1731169: clean up expected skips list.
  ........
    r56306 | georg.brandl | 2007-07-12 02:37:49 -0700 (Thu, 12 Jul 2007) | 3 lines

    Bug #1637365: add subsection about "__name__ == __main__" to the
    Python tutorial.
  ........
    r56308 | georg.brandl | 2007-07-12 02:59:22 -0700 (Thu, 12 Jul 2007) | 5 lines

    Patch #1675424: Added tests for uncovered code in the zipfile module.
      The KeyError raised by Zipfile.getinfo for nonexistent names now has
      a descriptive message.
  ........
    r56340 | facundo.batista | 2007-07-13 03:43:44 -0700 (Fri, 13 Jul 2007) | 6 lines


    Added tests for basic behavior of DateTime, Binary, and Fault classes
    and the escape function. Check that marshalling recursive sequences &
    dicts raises TypeError. Check that marshalling out-of-range ints
    raises OverflowError [Alan McIntyre - GSoC]
  ........
    r56345 | raymond.hettinger | 2007-07-13 05:09:41 -0700 (Fri, 13 Jul 2007) | 1 line

    Correct the docs for takewhile().  Improve the recipe for nth().  Should be backported
  ........
    r56348 | thomas.heller | 2007-07-13 06:59:39 -0700 (Fri, 13 Jul 2007) | 4 lines

    Repair COMError.  Since exceptions are new style classes now, setting
    the methods and docstring after the type creation does not work, they
    must be in the dictionary before creating the type.
  ........
    r56349 | thomas.heller | 2007-07-13 07:18:06 -0700 (Fri, 13 Jul 2007) | 1 line

    Add tests for _ctypes.COMError.
  ........
    r56350 | thomas.heller | 2007-07-13 09:50:43 -0700 (Fri, 13 Jul 2007) | 4 lines

    Do not try to load the GLUT library in the ctypes tests.  This test
    adds little value, but has a large problem on OS X, as explained in
    SF# 1581906.
  ........
    r56352 | thomas.heller | 2007-07-13 10:12:23 -0700 (Fri, 13 Jul 2007) | 3 lines

    Fix for SF# 1701409: segfault in c_char_p of ctypes.  The repr output
    of c_char_p and c_wchar_p has changed as a sideeffect.
  ........
    r56355 | thomas.heller | 2007-07-13 10:46:54 -0700 (Fri, 13 Jul 2007) | 3 lines

    Fix for SF# 1649098: avoid zero-sized array declaration in structure.
  ........
    r56357 | thomas.heller | 2007-07-13 12:51:55 -0700 (Fri, 13 Jul 2007) | 3 lines

    PyType_stgdict() returns a borrowed reference which must not be
    Py_DECREF'd.
  ........
    r56360 | barry.warsaw | 2007-07-13 15:12:58 -0700 (Fri, 13 Jul 2007) | 10 lines

    In response to this SF bug:

    [ 1752723 ] email.message_from_string: initial line gets discarded

    I added a test to assert that when the first line of text passed to
    message_from_string() contains a leading space, the message ends up with the
    appropriate FirstHeaderLineIsContinuationDefect on its defects list.

    The bug is invalid.
  ........
    r56364 | georg.brandl | 2007-07-14 10:12:23 -0700 (Sat, 14 Jul 2007) | 2 lines

    Bug #1753406: missing \versionadded for subprocess.check_call.
  ........
    r56366 | georg.brandl | 2007-07-14 10:32:41 -0700 (Sat, 14 Jul 2007) | 2 lines

    Clarify webbrowser.open description.
  ........
    r56380 | andrew.kuchling | 2007-07-14 13:58:21 -0700 (Sat, 14 Jul 2007) | 1 line

    Typo fix
  ........
    r56382 | andrew.kuchling | 2007-07-14 14:56:19 -0700 (Sat, 14 Jul 2007) | 7 lines

    Avoid exception if there's a stray directory inside a Maildir folder.

    The Maildir specification doesn't seem to say anything about this
    situation, and it can happen if you're keeping a Maildir mailbox in
    Subversion (.svn directories) or some similar system.  The patch just
    ignores directories in the cur/, new/, tmp/ folders.
  ........
    r56392 | facundo.batista | 2007-07-14 15:41:45 -0700 (Sat, 14 Jul 2007) | 6 lines


    First version.  Includes tests for helper functions: read, write,
    _exception, readwrite, closeall, compact_traceback; and for classes
    dispatcher, dispatcher_with_send, and file_wrapper.
    [Alan McIntyre - GSoC]
  ........
    r56399 | facundo.batista | 2007-07-15 13:30:39 -0700 (Sun, 15 Jul 2007) | 5 lines


    Changed the used port and commented out some tests that uses
    a non documented function that appers to uses resources
    not present in Windows.
  ........
    r56412 | facundo.batista | 2007-07-16 19:19:39 -0700 (Mon, 16 Jul 2007) | 6 lines


    Prevent asyncore.dispatcher tests from hanging by adding loop counters
    to server & client, and by adding asyncore.close_all calls in
    tearDown. Also choose correct expected logging results based on the
    value of __debug__  [Alan McIntyre - GSoC]
  ........
................
  r56442 | guido.van.rossum | 2007-07-18 10:26:38 -0700 (Wed, 18 Jul 2007) | 14 lines

  Merged revisions 56413-56441 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r56439 | georg.brandl | 2007-07-17 23:37:55 -0700 (Tue, 17 Jul 2007) | 2 lines

    Use "Unix" as platform name, not "UNIX".
  ........
    r56441 | guido.van.rossum | 2007-07-18 10:19:14 -0700 (Wed, 18 Jul 2007) | 3 lines

    SF patch# 1755885 by Kurt Kaiser: show location of Unicode escape errors.
    (Slightly tweaked for style and refcounts.)
  ........
................
2007-07-18 18:15:48 +00:00
Martin v. Löwis 10a60b3ec0 Change Py_BuildValue to generate Unicode objects for
's' and 'c' codes.
Change pickle to dump bytes objects using the 'S'
code, and to load the 'S' code as byte objects.
Change datetime and array to generate and expect
bytes objects in reduce/unreduce.
2007-07-18 02:28:27 +00:00
Guido van Rossum a8c360ee76 SF patch# 1755229 by Amaury Forgeot d'Arc: fix _winreg module and tests.
Untested.
2007-07-17 20:50:43 +00:00
Guido van Rossum e63bae6b09 Make the test of chr() overflow pass.
(Sigh. There are so many redundant tests.)
2007-07-17 00:34:25 +00:00
Guido van Rossum d77d6992a5 Change a bunch of file encodings from Latin-1 to UTF-8.
Remove the encoding from Tix.py (it doesn't seem to need one).
Note: we still have to keep the "coding: utf-8" declaration
for files that aren't pure ASCII, as the default per PEP 3120
hasn't been implemented yet.
2007-07-16 23:10:57 +00:00
Guido van Rossum 6a2ccd0273 Fix for one particular test (test_file). There are still four errors.
(This is not the fix suggested by Hasan Diwan in SF patch# 1753889.)
2007-07-16 20:51:57 +00:00
Guido van Rossum 456fe5d3ca Fix a weird use of try/finally to close a file.
(There are more places that don't close 'f' at all if an error occurs,
but none have a bogus try/finally pattern.)
2007-07-16 19:42:05 +00:00
Guido van Rossum b358a2c423 SF patch# 1752647 by Joe Gregorio.
Fixes to make test_mmap.py pass unit tests.
Moves the interface from being string based to being bytes based.
2007-07-16 19:29:02 +00:00
Guido van Rossum 8ac004e698 Make chr() and ord() return/accept surrogate pairs in narrow builds.
The domain of chr() and the range of ord() are now always [0 ... 0x10FFFF].
2007-07-15 13:00:05 +00:00
Thomas Heller b0f48abd87 Skip testing the special file "/dev/tty" on Windows. This test does
weird things if someone has a "\dev" directory on the current drive.
2007-07-12 11:29:02 +00:00