Commit graph

43198 commits

Author SHA1 Message Date
Benjamin Peterson
a3d19f35c4 Backport the removal of a __repr__ from 62251 2008-04-13 02:05:48 +00:00
Benjamin Peterson
7bb4d2d0fa Backported io module docs 2008-04-13 02:01:27 +00:00
Benjamin Peterson
2c5f828283 Fleshed out docstrings in the io module, improving the reST one as I went. 2008-04-13 00:27:46 +00:00
Brett Cannon
e974689038 Re-implement the 'warnings' module in C. This allows for usage of the
'warnings' code in places where it was previously not possible (e.g., the
parser). It could also potentially lead to a speed-up in interpreter start-up
if the C version of the code (_warnings) is imported over the use of the
Python version in key places.

Closes issue #1631171.
2008-04-12 23:44:07 +00:00
Gregory P. Smith
e6c03033af socket.error inherits from IOError, it no longer needs listing in
the all_errors tuple.
2008-04-12 22:24:04 +00:00
Trent Nelson
7179220b57 Issue 2440: revert r62269 and r62279. These changes were made in an effort to fix test_args2.Signed_TestCase.test_n(), which was failing on Windows x64 on the following line: 'self.failUnlessEqual(99, getargs_n(Long()))'. Although the two commits *did* fix the test on Windows x64, it's become clear that it's the test that's incorrect, and the changes to PyNumber_Index() in particular were not warranted (and actually violate PEP 357). This commit will get us back to where we were at r62268, before I started butchering things. 2008-04-11 23:02:37 +00:00
Trent Nelson
7852000928 Update test_ssl.py to reflect the new approach for writing network-oriented tests in such a way that contention for ports is eliminated, thus allowing multiple instances of the same test to be run in parallel without issue (import for buildbots to run smoothly). This change is in line with the changes made to network-oriented tests in trunk in r62234. test_ssl.py is an odd case because the py3k version was newer than trunk. When the most recent svnmerge was run from trunk to py3k in r62242, the older trunk version was brought over on top of the newer py3k version. So, the plan was/is: revert the recent svnmerged version (done), manually make the changes to improve running in parallel (done with this commit), copy this version back to trunk and manually 3to2 it (to do next), check that in, then svnmerge block it. Then when future changes need to be made to test_ssl.py, we can make them against trunk, and hopefully the merge to py3k should be a lot less painful. 2008-04-10 20:54:35 +00:00
Trent Nelson
6b240cd8cb Revert r62242: trunk's test_ssl.py isn't as up-to-date as py3k's, and should't have been brought over in the merge. 2008-04-10 20:12:06 +00:00
Martin v. Löwis
8efc62cc3f Bug #2606: Avoid calling .sort() on a dict_keys object. 2008-04-10 19:02:25 +00:00
Trent Nelson
e2ae4684a5 Issue 2440: fix the handling of %n in Python/getargs.c's convertsimple(), extend Objects/abstract.c's PyNumber_Index() to accept PyObjects that have nb_int slots, and update test_getargs2 to test that an exception is thrown when __int__() returns a non-int object. 2008-04-10 16:25:37 +00:00
Neal Norwitz
36a59b4a08 Remove the test file before writing it in case there is no write permission.
This might help fix some of the failures on Windows box(es).  It doesn't hurt
either way and ensure the tests are a little more self contained (ie have
less assumptions).
2008-04-10 05:46:39 +00:00
Martin v. Löwis
5680d0c5e3 Merged revisions 62246-62259 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r62246 | georg.brandl | 2008-04-09 19:57:38 +0200 (Mi, 09 Apr 2008) | 2 lines

  #2585: initialize code attribute of HTTPError.
........
  r62247 | georg.brandl | 2008-04-09 19:58:56 +0200 (Mi, 09 Apr 2008) | 2 lines

  Add :issue: directive for easy linking to bugs.python.org.
........
  r62249 | gregory.p.smith | 2008-04-09 20:18:43 +0200 (Mi, 09 Apr 2008) | 2 lines

  Add a note about the zlib.decompressobj().flush() fix.
........
  r62255 | martin.v.loewis | 2008-04-09 20:56:20 +0200 (Mi, 09 Apr 2008) | 2 lines

  Package wininst*.exe from distutils/command.
........
  r62259 | andrew.kuchling | 2008-04-10 00:28:43 +0200 (Do, 10 Apr 2008) | 1 line

  Try out the new issue role.  Thanks, Georg!
........
2008-04-10 03:06:53 +00:00
Martin v. Löwis
3de92bf155 Merged revisions 62263 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

................
  r62263 | martin.v.loewis | 2008-04-10 04:48:01 +0200 (Do, 10 Apr 2008) | 19 lines

  Merged revisions 62080-62262 via svnmerge from
  svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3

  ........
    r62092 | collin.winter | 2008-04-01 18:27:10 +0200 (Di, 01 Apr 2008) | 1 line

    Add get_prev_sibling() to complement pytree's get_next_sibling().
  ........
    r62226 | collin.winter | 2008-04-08 21:07:56 +0200 (Di, 08 Apr 2008) | 1 line

    Add min() and max() to the list of special contexts that don't require adding list() calls around dict methods.
  ........
    r62232 | collin.winter | 2008-04-09 00:12:38 +0200 (Mi, 09 Apr 2008) | 4 lines

    Fix for http://bugs.python.org/issue2596

    This extends fix_xrange to know about the (mostly) same special contexts as fix_dict (where a special context is something that is guaranteed to fully consume the iterable), adding list() calls where appropriate. It also special-cases "x in range(y)".
  ........
................
2008-04-10 02:50:50 +00:00
Martin v. Löwis
60a819d681 Merged revisions 62080-62262 via svnmerge from
svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3

........
  r62092 | collin.winter | 2008-04-01 18:27:10 +0200 (Di, 01 Apr 2008) | 1 line

  Add get_prev_sibling() to complement pytree's get_next_sibling().
........
  r62226 | collin.winter | 2008-04-08 21:07:56 +0200 (Di, 08 Apr 2008) | 1 line

  Add min() and max() to the list of special contexts that don't require adding list() calls around dict methods.
........
  r62232 | collin.winter | 2008-04-09 00:12:38 +0200 (Mi, 09 Apr 2008) | 4 lines

  Fix for http://bugs.python.org/issue2596

  This extends fix_xrange to know about the (mostly) same special contexts as fix_dict (where a special context is something that is guaranteed to fully consume the iterable), adding list() calls where appropriate. It also special-cases "x in range(y)".
........
2008-04-10 02:48:01 +00:00
Gregory P. Smith
f108320055 better diagnostics 2008-04-09 23:11:56 +00:00
Georg Brandl
8e2f755cb4 Remove __repr__ that doesn't have any advantage compared to the standard one. 2008-04-09 18:40:09 +00:00
Georg Brandl
99bb5f3fef #2585: initialize code attribute of HTTPError. 2008-04-09 17:57:38 +00:00
Christian Heimes
5e69685999 Merged revisions 62194,62197-62198,62204-62205,62214,62219-62221,62227,62229-62231,62233-62235,62237-62239 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r62194 | jeffrey.yasskin | 2008-04-07 01:04:28 +0200 (Mon, 07 Apr 2008) | 7 lines

  Add enough debugging information to diagnose failures where the
  HandlerBException is ignored, and fix one such problem, where it was thrown
  during the __del__ method of the previous Popen object.

  We may want to find a better way of printing verbose information so it's not
  spammy when the test passes.
........
  r62197 | mark.hammond | 2008-04-07 03:53:39 +0200 (Mon, 07 Apr 2008) | 2 lines

  Issue #2513: enable 64bit cross compilation on windows.
........
  r62198 | mark.hammond | 2008-04-07 03:59:40 +0200 (Mon, 07 Apr 2008) | 2 lines

  correct heading underline for new "Cross-compiling on Windows" section
........
  r62204 | gregory.p.smith | 2008-04-07 08:33:21 +0200 (Mon, 07 Apr 2008) | 4 lines

  Use the new PyFile_IncUseCount & PyFile_DecUseCount calls appropriatly
  within the standard library.  These modules use PyFile_AsFile and later
  release the GIL while operating on the previously returned FILE*.
........
  r62205 | mark.summerfield | 2008-04-07 09:39:23 +0200 (Mon, 07 Apr 2008) | 4 lines

  changed "2500 components" to "several thousand" since the number keeps
  growning:-)
........
  r62214 | georg.brandl | 2008-04-07 20:51:59 +0200 (Mon, 07 Apr 2008) | 2 lines

  #2525: update timezone info examples in the docs.
........
  r62219 | andrew.kuchling | 2008-04-08 01:57:07 +0200 (Tue, 08 Apr 2008) | 1 line

  Write PEP 3127 section; add items
........
  r62220 | andrew.kuchling | 2008-04-08 01:57:21 +0200 (Tue, 08 Apr 2008) | 1 line

  Typo fix
........
  r62221 | andrew.kuchling | 2008-04-08 03:33:10 +0200 (Tue, 08 Apr 2008) | 1 line

  Typographical fix: 32bit -> 32-bit, 64bit -> 64-bit
........
  r62227 | andrew.kuchling | 2008-04-08 23:22:53 +0200 (Tue, 08 Apr 2008) | 1 line

  Add items
........
  r62229 | amaury.forgeotdarc | 2008-04-08 23:27:42 +0200 (Tue, 08 Apr 2008) | 7 lines

  Issue2564: Prevent a hang in "import test.autotest", which runs the entire test
  suite as a side-effect of importing the module.

  - in test_capi, a thread tried to import other modules
  - re.compile() imported sre_parse again on every call.
........
  r62230 | amaury.forgeotdarc | 2008-04-08 23:51:57 +0200 (Tue, 08 Apr 2008) | 2 lines

  Prevent an error when inspect.isabstract() is called with something else than a new-style class.
........
  r62231 | amaury.forgeotdarc | 2008-04-09 00:07:05 +0200 (Wed, 09 Apr 2008) | 8 lines

  Issue 2408: remove the _types module
  It was only used as a helper in types.py to access types (GetSetDescriptorType and MemberDescriptorType),
  when they can easily be obtained with python code.
  These expressions even work with Jython.

  I don't know what the future of the types module is; (cf. discussion in http://bugs.python.org/issue1605 )
  at least this change makes it simpler.
........
  r62233 | amaury.forgeotdarc | 2008-04-09 01:10:07 +0200 (Wed, 09 Apr 2008) | 2 lines

  Add a NEWS entry for previous checkin
........
  r62234 | trent.nelson | 2008-04-09 01:47:30 +0200 (Wed, 09 Apr 2008) | 37 lines

  - Issue #2550: The approach used by client/server code for obtaining ports
    to listen on in network-oriented tests has been refined in an effort to
    facilitate running multiple instances of the entire regression test suite
    in parallel without issue.  test_support.bind_port() has been fixed such
    that it will always return a unique port -- which wasn't always the case
    with the previous implementation, especially if socket options had been
    set that affected address reuse (i.e. SO_REUSEADDR, SO_REUSEPORT).  The
    new implementation of bind_port() will actually raise an exception if it
    is passed an AF_INET/SOCK_STREAM socket with either the SO_REUSEADDR or
    SO_REUSEPORT socket option set.  Furthermore, if available, bind_port()
    will set the SO_EXCLUSIVEADDRUSE option on the socket it's been passed.
    This currently only applies to Windows.  This option prevents any other
    sockets from binding to the host/port we've bound to, thus removing the
    possibility of the 'non-deterministic' behaviour, as Microsoft puts it,
    that occurs when a second SOCK_STREAM socket binds and accepts to a
    host/port that's already been bound by another socket.  The optional
    preferred port parameter to bind_port() has been removed.  Under no
    circumstances should tests be hard coding ports!

    test_support.find_unused_port() has also been introduced, which will pass
    a temporary socket object to bind_port() in order to obtain an unused port.
    The temporary socket object is then closed and deleted, and the port is
    returned.  This method should only be used for obtaining an unused port
    in order to pass to an external program (i.e. the -accept [port] argument
    to openssl's s_server mode) or as a parameter to a server-oriented class
    that doesn't give you direct access to the underlying socket used.

    Finally, test_support.HOST has been introduced, which should be used for
    the host argument of any relevant socket calls (i.e. bind and connect).

    The following tests were updated to following the new conventions:
      test_socket, test_smtplib, test_asyncore, test_ssl, test_httplib,
      test_poplib, test_ftplib, test_telnetlib, test_socketserver,
      test_asynchat and test_socket_ssl.

    It is now possible for multiple instances of the regression test suite to
    run in parallel without issue.
........
  r62235 | gregory.p.smith | 2008-04-09 02:25:17 +0200 (Wed, 09 Apr 2008) | 3 lines

  Fix zlib crash from zlib.decompressobj().flush(val) when val was not positive.
  It tried to allocate negative or zero memory.  That fails.
........
  r62237 | trent.nelson | 2008-04-09 02:34:53 +0200 (Wed, 09 Apr 2008) | 1 line

  Fix typo with regards to self.PORT shadowing class variables with the same name.
........
  r62238 | andrew.kuchling | 2008-04-09 03:08:32 +0200 (Wed, 09 Apr 2008) | 1 line

  Add items
........
  r62239 | jerry.seutter | 2008-04-09 07:07:58 +0200 (Wed, 09 Apr 2008) | 1 line

  Changed test so it no longer runs as a side effect of importing.
........
2008-04-09 08:37:03 +00:00
Georg Brandl
f91197c6d5 More docstring fixes, and an XXX. 2008-04-09 07:33:01 +00:00
Jerry Seutter
8f80a6a5f9 Changed test so it no longer runs as a side effect of importing. 2008-04-09 05:07:58 +00:00
Trent Nelson
6c4a7c6821 Fix typo with regards to self.PORT shadowing class variables with the same name. 2008-04-09 00:34:53 +00:00
Gregory P. Smith
f623467759 Merge r62235 from trunk.
Fix zlib crash from zlib.decompressobj().flush(val) when val was not positive.
It tried to allocate negative or zero memory.  That fails.
2008-04-09 00:26:44 +00:00
Gregory P. Smith
79e42a0e08 Fix zlib crash from zlib.decompressobj().flush(val) when val was not positive.
It tried to allocate negative or zero memory.  That fails.
2008-04-09 00:25:17 +00:00
Trent Nelson
e41b0061dd - Issue #2550: The approach used by client/server code for obtaining ports
to listen on in network-oriented tests has been refined in an effort to
  facilitate running multiple instances of the entire regression test suite
  in parallel without issue.  test_support.bind_port() has been fixed such
  that it will always return a unique port -- which wasn't always the case
  with the previous implementation, especially if socket options had been
  set that affected address reuse (i.e. SO_REUSEADDR, SO_REUSEPORT).  The
  new implementation of bind_port() will actually raise an exception if it
  is passed an AF_INET/SOCK_STREAM socket with either the SO_REUSEADDR or
  SO_REUSEPORT socket option set.  Furthermore, if available, bind_port()
  will set the SO_EXCLUSIVEADDRUSE option on the socket it's been passed.
  This currently only applies to Windows.  This option prevents any other
  sockets from binding to the host/port we've bound to, thus removing the
  possibility of the 'non-deterministic' behaviour, as Microsoft puts it,
  that occurs when a second SOCK_STREAM socket binds and accepts to a
  host/port that's already been bound by another socket.  The optional
  preferred port parameter to bind_port() has been removed.  Under no
  circumstances should tests be hard coding ports!

  test_support.find_unused_port() has also been introduced, which will pass
  a temporary socket object to bind_port() in order to obtain an unused port.
  The temporary socket object is then closed and deleted, and the port is
  returned.  This method should only be used for obtaining an unused port
  in order to pass to an external program (i.e. the -accept [port] argument
  to openssl's s_server mode) or as a parameter to a server-oriented class
  that doesn't give you direct access to the underlying socket used.

  Finally, test_support.HOST has been introduced, which should be used for
  the host argument of any relevant socket calls (i.e. bind and connect).

  The following tests were updated to following the new conventions:
    test_socket, test_smtplib, test_asyncore, test_ssl, test_httplib,
    test_poplib, test_ftplib, test_telnetlib, test_socketserver,
    test_asynchat and test_socket_ssl.

  It is now possible for multiple instances of the regression test suite to
  run in parallel without issue.
2008-04-08 23:47:30 +00:00
Amaury Forgeot d'Arc
7adc776ea6 Issue 2408: remove the _types module
It was only used as a helper in types.py to access types (GetSetDescriptorType and MemberDescriptorType),
when they can easily be obtained with python code.
These expressions even work with Jython.

I don't know what the future of the types module is; (cf. discussion in http://bugs.python.org/issue1605 )
at least this change makes it simpler.
2008-04-08 22:07:05 +00:00
Amaury Forgeot d'Arc
24f3c5c646 Prevent an error when inspect.isabstract() is called with something else than a new-style class. 2008-04-08 21:51:57 +00:00
Amaury Forgeot d'Arc
4b798bdf8a Issue2564: Prevent a hang in "import test.autotest", which runs the entire test
suite as a side-effect of importing the module.

- in test_capi, a thread tried to import other modules
- re.compile() imported sre_parse again on every call.
2008-04-08 21:27:42 +00:00
Benjamin Peterson
ca2b01515b fixed outdated annotation of readinto in io 2008-04-07 22:27:34 +00:00
Martin v. Löwis
250ad613f3 Bug #2565: The repr() of type objects now calls them 'class',
not 'type' - whether they are builtin types or not.
2008-04-07 05:43:42 +00:00
Mark Hammond
495cf99aaf Issue #2513: enable 64bit cross compilation on windows. 2008-04-07 01:53:39 +00:00
Thomas Wouters
e9edcc4019 Merged revisions 62179 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r62179 | thomas.wouters | 2008-04-06 01:39:15 +0200 (Sun, 06 Apr 2008) | 10 lines


  Fix test_distutils to not fail when running 'make test' from a Python build
  directory that is not the source directory (ie, one created using
  '/path/to/source/configure'.) Leaves this test very slightly degraded in
  that particular case, compared to the build-in-sourcedir case, but that case
  isn't a particularly strong test either: neither test the actual path that
  will be used after installing. There isn't a particularly good way to test
  this, and a poor test beats a failing test.
........
2008-04-07 00:25:59 +00:00
Gregory P. Smith
aa63d0d4af Make file objects as thread safe as the underlying libc FILE* implementation.
close() will now raise an IOError if any operations on the file object
are currently in progress in other threads.

Most code was written by Antoine Pitrou (pitrou).  Additional testing,
documentation and test suite cleanup done by me (gregory.p.smith).

Fixes issue 815646 and 595601 (as well as many other bugs and
references to this problem dating back to the dawn of Python).
2008-04-06 23:11:17 +00:00
Jeffrey Yasskin
ee76777846 Add enough debugging information to diagnose failures where the
HandlerBException is ignored, and fix one such problem, where it was thrown
during the __del__ method of the previous Popen object.

We may want to find a better way of printing verbose information so it's not
spammy when the test passes.
2008-04-06 23:04:28 +00:00
Georg Brandl
5358434fd3 Docstring fix. 2008-04-06 20:27:02 +00:00
Benjamin Peterson
9a89e96f9f fix typo in doc string 2008-04-06 16:47:13 +00:00
Thomas Wouters
2fab8f1abb Fix test_distutils to not fail when running 'make test' from a Python build
directory that is not the source directory (ie, one created using
'/path/to/source/configure'.) Leaves this test very slightly degraded in
that particular case, compared to the build-in-sourcedir case, but that case
isn't a particularly strong test either: neither test the actual path that
will be used after installing. There isn't a particularly good way to test
this, and a poor test beats a failing test.
2008-04-05 23:39:15 +00:00
Benjamin Peterson
cd76c274c6 Added a test to make sure raw strings don't get unicode escapes 2008-04-05 15:09:30 +00:00
Benjamin Peterson
8dbca06b22 Reverted r62128 on Guido's orders 2008-04-05 14:49:54 +00:00
Neal Norwitz
f5c7c2eeca Merged revisions 61440-61441,61443,61445-61448,61451-61452,61455-61457,61459-61464,61466-61467,61469-61470,61476-61477,61479,61481-61482,61485,61487,61490,61493-61494,61497,61499-61502,61505-61506,61508,61511-61514,61519,61521-61522,61530-61531,61533-61537,61541-61555,61557-61558,61561-61562,61566-61569,61572-61574,61578-61579,61583-61584,61588-61589,61592,61594,61598-61601,61603-61604,61607-61612,61617,61619-61620,61624,61626,61628-61630,61635-61638,61640-61643,61645,61648,61653-61655,61659-61662,61664,61666,61668-61671,61673,61675,61679-61680,61682,61685-61686,61689-61695,61697-61699,61701-61703,61706,61710,61713,61717,61723,61726-61730,61736,61738,61740,61742,61745-61752,61754-61760,61762-61764,61768,61770-61772,61774-61775,61784-61787,61789-61792,61794-61795,61797-61806,61808-61809,61811-61812,61814-61819,61824,61826-61833,61835-61840,61843-61845,61848,61850,61854-61862,61865-61866,61868,61872-61873,61876-61877,61883-61888,61890-61891,61893-61899,61901-61903,61905-61912,61914,61917,61920-61921,61927,61930,61932-61934,61939,61941-61942,61944-61951,61955,61960-61963,61980,61982-61983,61991,61994-61996,62001-62003,62008-62010,62016-62017,62022,62024,62027,62031-62034,62041,62045-62046,62055-62058,62060-62066,62068-62074,62076-62079,62081-62083,62086-62089,62092-62094,62098,62101,62104,62106-62109,62115-62122,62124-62125,62127-62128,62130,62132,62134-62137,62139-62142,62144,62146-62148,62150-62152,62155-62161 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r62127 | trent.nelson | 2008-04-03 08:39:17 -0700 (Thu, 03 Apr 2008) | 1 line

  Remove the building of Berkeley DB step; _bsddb44.vcproj takes care of this for us now.
........
  r62136 | amaury.forgeotdarc | 2008-04-03 16:07:55 -0700 (Thu, 03 Apr 2008) | 9 lines

  #1733757: the interpreter would hang on shutdown, if the function set by sys.settrace
  calls threading.currentThread.

  The correction somewhat improves the code, but it was close.
  Many thanks to the "with" construct, which turns python code into C calls.

  I wonder if it is not better to sys.settrace(None) just after
  running the __main__ module and before finalization.
........
  r62141 | jeffrey.yasskin | 2008-04-03 21:51:19 -0700 (Thu, 03 Apr 2008) | 5 lines

  Doh! os.read() raises an OSError, not an IOError when it's interrupted.

  And fix some flakiness in test_itimer_prof, which could detect that the timer
  had reached 0 before the signal arrived announcing that fact.
........
  r62142 | fred.drake | 2008-04-03 22:41:30 -0700 (Thu, 03 Apr 2008) | 4 lines

  - Issue #2385: distutils.core.run_script() makes __file__ available, so the
    controlled environment will more closely mirror the typical script
    environment.  This supports setup.py scripts that refer to data files.
........
  r62147 | fred.drake | 2008-04-04 04:31:14 -0700 (Fri, 04 Apr 2008) | 6 lines

  my previous change did what I said it should not: it changed the current
  directory to the directory in which the setup.py script lived (which made
  __file__ wrong)

  fixed, with test that the script is run in the current directory of the caller
........
  r62148 | fred.drake | 2008-04-04 04:38:51 -0700 (Fri, 04 Apr 2008) | 2 lines

  stupid, stupid, stupid!
........
  r62150 | jeffrey.yasskin | 2008-04-04 09:48:19 -0700 (Fri, 04 Apr 2008) | 2 lines

  Oops again. EINTR is in errno, not signal.
........
  r62158 | andrew.kuchling | 2008-04-04 19:42:20 -0700 (Fri, 04 Apr 2008) | 1 line

  Minor edits
........
  r62159 | andrew.kuchling | 2008-04-04 19:47:07 -0700 (Fri, 04 Apr 2008) | 1 line

  Markup fix; explain what interval timers do; typo fix
........
  r62160 | andrew.kuchling | 2008-04-04 20:38:39 -0700 (Fri, 04 Apr 2008) | 1 line

  Various edits
........
  r62161 | neal.norwitz | 2008-04-04 21:26:31 -0700 (Fri, 04 Apr 2008) | 9 lines

  Prevent test_sqlite from hanging on older versions of sqlite.
  The problem is that when trying to do the second insert, sqlite seems to sleep
  for a very long time.  Here is the output from strace:

    read(6, "SQLite format 3\0\4\0\1\1\0@  \0\0\0\1\0\0\0\0"..., 1024) = 1024
    nanosleep({4294, 966296000},  <unfinished ...>

  I don't know which version this was fixed in, but 3.2.1 definitely fails.
........
2008-04-05 04:47:45 +00:00
Neal Norwitz
8510195ceb Prevent test_sqlite from hanging on older versions of sqlite.
The problem is that when trying to do the second insert, sqlite seems to sleep
for a very long time.  Here is the output from strace:

  read(6, "SQLite format 3\0\4\0\1\1\0@  \0\0\0\1\0\0\0\0"..., 1024) = 1024
  nanosleep({4294, 966296000},  <unfinished ...>

I don't know which version this was fixed in, but 3.2.1 definitely fails.
2008-04-05 04:26:31 +00:00
Amaury Forgeot d'Arc
9ed77358d6 Issue2221: in Idle, exec('xx') raised a SystemError('error return without exception set')
instead of the expected NameError

This happens when sys.stdout is redirected to something that cannot flush().
the flush_io() function must be exception-neutral: don't raise, and don't clear exceptions.

Next step: exec() is not supposed to flush sys.stdout...
2008-04-04 23:25:27 +00:00
Trent Nelson
4bffe8293f Revert r62152 (Issue #2550). Being able to observe the results of all the buildbots was certainly useful. All of the platforms that have some form of BSD lineage -- FreeBSD, OS X, Solaris and Tru64 -- all pass the test. Windows and Linux, on the other hand, don't. Windows I knew about, Linux was a surprise. Knowing this, I believe a more appropriate fix will revolve around test_support.bind_socket() -- this method needs to return a port that nothing in the system has bound already. The best way to do this may just be to rely on ephemeral ports, rather than having the user specify a desired port, then fall back to four random ports, then try 0. 2008-04-04 20:04:09 +00:00
Trent Nelson
b8e120c7c0 Issue 2550: extend test_socket.py to test SO_REUSEADDR semantics when bind() is called on identical (host, port) combinations in two separate sockets. This should raise an EADDRINUSE socket.error in all cases, irrespective of whether or not SO_REUSEADDR is set on the sockets. However, with Windows, when SO_REUSEADDR is set on the sockets, no error is thrown (an error is thrown when the option isn't set), which results in an extremely wedged python process whenever accept() is called on either of the bound sockets. I'm committing this test now to observe if it's only Windows that has this behaviour (via the buildbots). Note: this WILL break all Windows buildbots for now; once I've observed the results on other platforms, I'll revert, then start looking into a patch. 2008-04-04 17:26:21 +00:00
Jeffrey Yasskin
e71d8124c2 Oops again. EINTR is in errno, not signal. 2008-04-04 16:48:19 +00:00
Fred Drake
449651558c stupid, stupid, stupid! 2008-04-04 11:38:51 +00:00
Fred Drake
fe7056240b my previous change did what I said it should not: it changed the current
directory to the directory in which the setup.py script lived (which made
__file__ wrong)

fixed, with test that the script is run in the current directory of the caller
2008-04-04 11:31:14 +00:00
Thomas Heller
8e8ba151dd Issue #2543: Make ctypes compatible (again) with Python 2.3, 2.4, and 2.5. 2008-04-04 08:35:44 +00:00
Fred Drake
46c58c17f1 - Issue #2385: distutils.core.run_script() makes __file__ available, so the
controlled environment will more closely mirror the typical script
  environment.  This supports setup.py scripts that refer to data files.
2008-04-04 05:41:30 +00:00
Jeffrey Yasskin
2b860db35c Doh! os.read() raises an OSError, not an IOError when it's interrupted.
And fix some flakiness in test_itimer_prof, which could detect that the timer
had reached 0 before the signal arrived announcing that fact.
2008-04-04 04:51:19 +00:00
Amaury Forgeot d'Arc
d7a265129c #1733757: the interpreter would hang on shutdown, if the function set by sys.settrace
calls threading.currentThread.

The correction somewhat improves the code, but it was close.
Many thanks to the "with" construct, which turns python code into C calls.

I wonder if it is not better to sys.settrace(None) just after
running the __main__ module and before finalization.
2008-04-03 23:07:55 +00:00