Commit Graph

6339 Commits

Author SHA1 Message Date
Lars Gustäbel 12adc655c8 Add a testcase that checks if the TarFile constructor successfully
closes the internal file object in case of an error (issue #7341).
2009-11-23 15:46:19 +00:00
Lars Gustäbel dd866d57af Issue #6123: Fix opening empty archives and files.
(Note that an empty archive is not the same as an empty file. An
empty archive contains no members and is correctly terminated with an
EOF block full of zeros. An empty file contains no data at all.)

The problem was that although tarfile was able to create empty
archives, it failed to open them raising a ReadError. On the other
hand, tarfile opened empty files without error in most read modes and
presented them as empty archives. (However, some modes still raised
errors: "r|gz" raised ReadError, but "r:gz" worked, "r:bz2" even
raised EOFError.)

In order to get a more fine-grained control over the various internal
error conditions I now split up the HeaderError exception into a
number of meaningful sub-exceptions. This makes it easier in the
TarFile.next() method to react to the different conditions in the
correct way.

The visible change in its behaviour now is that tarfile will open
empty archives correctly and raise ReadError consistently for empty
files.
2009-11-22 18:30:53 +00:00
Jesse Noller 814d02dcd1 issue6615: Additional test for logging support in multiprocessing 2009-11-21 14:38:23 +00:00
Mark Dickinson c4920e86ef Issue #7272: Add configure test to detect whether sem_open works
properly, and use this to skip test_multiprocessing on platforms
where sem_open raises a signal.  This should fix some FreeBSD buildbot
failures for test_multiprocessing.
2009-11-20 19:30:22 +00:00
Benjamin Peterson 99a5023c80 improve several corner cases related with argument names in parenthesis
- Fix #7362: give a good error message for parenthesized arguments with
  defaults.

- Add a py3k warning for any parenthesized arguments since those are not allowed
  in Py3.  This warning is not given in tuple unpacking, since that incurs the
  tuple unpacking warning.
2009-11-19 22:54:57 +00:00
Benjamin Peterson dc3c239b1e #5037 proxy __unicode__ correctly 2009-11-19 03:00:02 +00:00
Mark Dickinson bd15a06fd3 Issue #7117, continued: Change round implementation to use the correctly-rounded
string <-> float conversions;  this makes sure that the result of the round
operation is correctly rounded, and hence displays nicely using the new float
repr.
2009-11-18 19:33:35 +00:00
Nick Coghlan 815521fca0 Correctly escape arbitrary error message text in the runpy unit tests 2009-11-18 11:27:53 +00:00
Nick Coghlan 4b953bac94 Allow for backslashes in file paths passed to the regex engine 2009-11-16 03:57:32 +00:00
Nick Coghlan 4976e3287a Account for another cache when hunting ref leaks 2009-11-16 03:55:51 +00:00
Antoine Pitrou ccd5e02d2b Issue #2054: ftplib now provides an FTP_TLS class to do secure FTP using
TLS or SSL.  Patch by Giampaolo Rodola'.
2009-11-15 17:22:09 +00:00
Antoine Pitrou d5b34d4597 Issue #4969: The mimetypes module now reads the MIME database from
the registry under Windows.  Patch by Gabriel Genellina.
2009-11-15 14:10:48 +00:00
Mark Dickinson 009ae861f2 Avoid signed overflow in some xrange calculations, and extend
xrange tests to cover some special cases that caused problems
in py3k.  This is a partial backport of r76292-76293 (see
issue #7298.)
2009-11-15 12:31:13 +00:00
Nick Coghlan 49868cb686 Issue #6816: expose the zipfile and directory execution mechanism to Python code via the runpy module. Also consolidated some script execution functionality in the test harness into a helper module and removed some implementation details from the runpy module documentation. 2009-11-15 07:30:34 +00:00
R. David Murray 4653b8c2de Remove 'g' from regrtest getopt argument string, since there's no
handler for it.
2009-11-15 00:07:00 +00:00
R. David Murray da82689daa Issue 7324: add a sanity check to regrtest argument parsing to
catch the case of an option with no handler.
2009-11-15 00:04:32 +00:00
R. David Murray 7f7eea651f Issue #7312 (new feature): Add a -F flag to run the selected tests in
a loop until a test fails.  Can be combined with -j.  Patch by Antoine
Pitrou.
2009-11-14 15:18:22 +00:00
Benjamin Peterson e36199b49d fix several compile() issues by translating newlines in the tokenizer 2009-11-12 23:39:44 +00:00
Antoine Pitrou 310c9fec1a Issue #7295: Do not use a hardcoded file name in test_tarfile. 2009-11-11 20:55:07 +00:00
Antoine Pitrou 0734c632d5 Issue #7197: Allow unittest.TextTestRunner objects to be pickled and
unpickled. This fixes crashes under Windows when trying to run
test_multiprocessing in verbose mode.

Additionally, Test_TextTestRunner hadn't been enabled in test_unittest.
2009-11-10 20:49:30 +00:00
Mark Dickinson c579b35740 Add extra information to a test_signal failure message to aid diagnosis of buildbot failure. 2009-11-09 19:54:51 +00:00
Mark Dickinson a8fd66d6aa Issue #7251: Break out round tests for large values into a separate
test function, and skip that test on Linux/alpha systems with a broken
system round function.

This should turn the Debian/alpha buildbot green.
2009-11-09 17:03:34 +00:00
Antoine Pitrou d7158d4c62 Issue #7282: Fix a memory leak when an RLock was used in a thread other
than those started through `threading.Thread` (for example, using
`thread.start_new_thread()`.
2009-11-09 16:00:11 +00:00
Antoine Pitrou 002533013f Kill a small potential leak in test_threading.
The leak may not manifest itself if the OS re-uses the same thread ids
(I suppose Neal's machine doesn't :-))
2009-11-08 00:24:12 +00:00
Nick Coghlan 2733d88dc2 Add test for runpy.run_module package execution and use something other than logging as the example of a non-executable package 2009-11-07 08:13:55 +00:00
Antoine Pitrou c98efe0500 Issue #7270: Add some dedicated unit tests for multi-thread synchronization
primitives such as Lock, RLock, Condition, Event and Semaphore.
2009-11-06 22:34:35 +00:00
Antoine Pitrou 323b9da16d Issue #7211: Allow 64-bit values for the `ident` and `data` fields of kevent
objects on 64-bit systems.  Patch by Michael Broghton.

I will revert this checkin if it causes problems on our BSD buildbots.
2009-11-04 19:25:14 +00:00
Antoine Pitrou 4ac6b93c00 Make test_shutil clean up after itself 2009-11-04 00:50:26 +00:00
Antoine Pitrou b3c169b08f Try to make test_wsgiref less fragile against environment changes by other tests 2009-11-03 16:41:20 +00:00
Antoine Pitrou c6714bd1df Add acceptance of long ints to test_memoryio.py
(in preparation for fix of #7249 in 2.6)
2009-11-02 20:47:33 +00:00
Benjamin Peterson 28e463d131 enable test_parser in lib2to3 2009-11-02 18:24:57 +00:00
Benjamin Peterson aed6c4556c add space 2009-11-02 18:16:36 +00:00
Antoine Pitrou d8b16ab288 Fix and improve some assertions in test_site 2009-11-01 23:54:20 +00:00
Antoine Pitrou 84ee9e257e Use a custom timeout in test_support.open_urlresource. 2009-11-01 22:02:03 +00:00
Antoine Pitrou e4c6b16b37 This should finally fix #6896. Let's watch the buildbots. 2009-11-01 21:29:33 +00:00
Antoine Pitrou 8844153d7f test_normalization should skip and not crash when the resource isn't available 2009-11-01 21:26:14 +00:00
Raymond Hettinger fa7dadd339 Fix exception handling in itertools.izip_longest(). 2009-11-01 20:45:16 +00:00
Antoine Pitrou 235d942391 Hum, test skipping when the URL isn't reachable hadn't been applied to trunk. 2009-11-01 16:10:47 +00:00
Antoine Pitrou 0da5cb8db6 Use richer assertions in test_mailbox (for better failure messages). 2009-10-31 23:19:52 +00:00
Eric Smith 0b9e3a5423 Improved test for a deprecation warning. 2009-10-31 17:07:17 +00:00
Mark Dickinson 4b841d9156 Issue #7042: Use a better mechanism for testing timers in test_signal. 2009-10-31 10:36:06 +00:00
Benjamin Peterson b2e31a1c63 add some checks for evaluation order with parenthesis #7210 2009-10-31 03:56:15 +00:00
Antoine Pitrou 161df94b0d Try to fix transient refleaks in test_pydoc. 2009-10-30 21:41:22 +00:00
Antoine Pitrou 3c96858480 Try to fix transient refleaks in test_xmlrpc. 2009-10-30 17:56:00 +00:00
Antoine Pitrou 643e85df48 Try to fix transient refleaks in test_asynchat. 2009-10-30 17:55:21 +00:00
Antoine Pitrou 61d5f6ff79 Fix transient refleaks in test_docxmlrpc. 2009-10-30 17:33:28 +00:00
Antoine Pitrou 59c44f36e0 Issue #7222: Make thread "reaping" more reliable so that reference
leak-chasing test runs give sensible results. The previous method of
reaping threads could return successfully while some Thread objects were
still referenced. This also introduces a new private function:
:func:hread._count().
2009-10-30 17:07:08 +00:00
Georg Brandl 93c2171494 Fix constant name. 2009-10-29 21:44:56 +00:00
Georg Brandl 4045e88b8b Use constants instead of magic integers for test result. Do not re-run with --verbose3 for environment changing tests. 2009-10-29 20:53:00 +00:00
Mark Dickinson 6f3900163a Issue #7233: Fix Decimal.shift and Decimal.rotate methods for
arguments with more digits than the current context precision.
Bug reported by Stefan Krah.
2009-10-29 12:11:18 +00:00
Mark Dickinson 0c67312c5c Issue #7233: A number of two-argument Decimal methods were failing to
accept ints and longs for the second argument.
2009-10-29 12:04:00 +00:00
Mark Dickinson 783b877555 Fix duplicate test numbers in extra.decTest 2009-10-29 11:09:09 +00:00
Benjamin Peterson ea0e3b0d60 do a backport of r75928
The added test does not fail without the patch, but we still fix the issue of
surrogates being used in wide builds where they should not be.
2009-10-29 01:49:07 +00:00
R. David Murray d913864efa Remove variable that is no longer used. 2009-10-28 14:03:43 +00:00
Georg Brandl 4e1be94bc6 Make sure every run of test_intern() interns a new string, otherwise that test fails e.g. when some other test in test_builtin fails and it is rerun in verbose mode. 2009-10-27 22:56:09 +00:00
Mark Dickinson 53e9fa4eed Test long inputs to float 2009-10-27 22:09:33 +00:00
Antoine Pitrou 8aea050911 Reduce the probability of refleaks in test_socketserver.
Not completely suppressed though, see issue #7222.
2009-10-27 21:27:24 +00:00
Tarek Ziadé d24cab8c74 Issue #7218: Fix test_site for win32 2009-10-27 21:20:27 +00:00
Benjamin Peterson 26a93c0082 test expect base classes 2009-10-27 20:59:18 +00:00
Georg Brandl 8319170abb Reformat the regrtest command-line option help and group the options into sections. 2009-10-27 20:55:44 +00:00
Georg Brandl 71a015ac1c Add a regrtest option to re-run in verbose mode immediately after a test fails, and use that option on the buildbots. 2009-10-27 20:52:02 +00:00
Antoine Pitrou cb170100d4 Try to fix transient refleaks in test_distutils. 2009-10-27 20:20:41 +00:00
Antoine Pitrou fce3207b53 Fix transient refleaks in test_urllib2_localnet. 2009-10-27 20:14:04 +00:00
Antoine Pitrou bb0bb30acc Suppress transient refleaks in test_threading. 2009-10-27 20:02:23 +00:00
Antoine Pitrou a763c06357 Suppress transient refleaks in test_smtplib. 2009-10-27 19:47:30 +00:00
Antoine Pitrou 0df2c73d6c Suppress transient refleaks in test_file2k. 2009-10-27 19:36:44 +00:00
Antoine Pitrou e171edc832 Fix transient refleak in test_sys. 2009-10-27 19:23:56 +00:00
Antoine Pitrou 85bd5879b2 (Hopefully) suppress transient refleaks in test_httpservers. 2009-10-27 18:50:52 +00:00
Antoine Pitrou f829d1f551 Suppress transient refleaks in test_asyncore 2009-10-27 18:36:47 +00:00
Antoine Pitrou dd62966a5f Issue #7205: Fix a possible deadlock when using a BZ2File object from several threads at once. 2009-10-27 17:41:58 +00:00
Benjamin Peterson 7582ec36b2 use 'is' instead of id() 2009-10-26 22:51:16 +00:00
Mark Dickinson c04c7c5b72 Issue #7117: Use PyOS_string_to_double instead of PyOS_ascii_strtod in
complexobject.c.  Also remove length restriction on unicode inputs to
the complex constructor.
2009-10-26 22:28:14 +00:00
Mark Dickinson 8568b19850 Issue #7117: Use PyOS_string_to_double instead of PyOS_ascii_strtod in
floatobject.c.  Also, remove limitation on length of unicode inputs to
float().
2009-10-26 21:11:20 +00:00
Mark Dickinson 828b39865a Skip readline tests if readline module is not available. 2009-10-26 11:59:30 +00:00
Mark Dickinson da8652d920 Issue #7117 (backport py3k float repr) continued:
Add sys.float_repr_style attribute ('short' if short float
repr is in used;  'legacy' otherwise).
2009-10-24 14:01:08 +00:00
Antoine Pitrou f7820c1626 Manual py3k backport: [svn r74316] Issue #5449: Fix io.BytesIO to not accept arbitrary keywords 2009-10-24 12:28:22 +00:00
Antoine Pitrou fa94e80f3b Manual py3k backport: [svn r74158] Issue #6218: Make io.BytesIO and io.StringIO picklable. 2009-10-24 12:23:18 +00:00
Antoine Pitrou f98a267be3 Manual py3k backport: [svn r74155] Issue #6242: Fix deallocator of io.StringIO and io.BytesIO 2009-10-24 11:59:41 +00:00
Antoine Pitrou b5cf8a059c Issue #7194: test_thread could try to release an unacquired mutex (and fail). 2009-10-23 18:32:15 +00:00
Antoine Pitrou b119ca9df4 Fix Windows buildbot failure 2009-10-23 12:01:13 +00:00
Antoine Pitrou 9bd246bba9 Test wouldn't work in debug mode.
We probably need a function in test_support to handle this.
2009-10-20 21:59:25 +00:00
Antoine Pitrou efb60c0ceb Issue #1722344: threading._shutdown() is now called in Py_Finalize(), which
fixes the problem of some exceptions being thrown at shutdown when the
interpreter is killed. Patch by Adam Olsen.
2009-10-20 21:29:37 +00:00
Mark Dickinson a7a52ab7ee Issue #7099: Decimal.is_normal should return True for all nonzero
finite non-subnormal values, even those with exponent > Emax.
2009-10-20 13:33:03 +00:00
Antoine Pitrou 5ba84910ae Issue #7133: SSL objects now support the new buffer API.
This fixes the test_ssl failure.
2009-10-19 17:59:07 +00:00
R. David Murray a24db67d47 Clarify error report message, and don't recommend running in verbose
mode for more information if we are already running in verbose mode.
2009-10-19 17:53:58 +00:00
R. David Murray 92a27b5206 Eliminate warning message that looks like an error message. When it was
added not finding Lib/test in the path indicated something was wrong,
but when running regtest using "python -m" Lib/test isn't typically in
the path, so this message is now more disturbing than it is helpful.
2009-10-19 16:28:24 +00:00
R. David Murray d9f1944fc3 Only run test_curses when sys.__stdout__ is a tty. This eliminates the
last false positive when running regrtest with -j.
2009-10-19 16:01:28 +00:00
R. David Murray 282396f27a Issue #7151: regrtest would generate a JSON failure if there was output
to stderr during the test run and it happened to get emitted after the
worker thread emitted the result JSON.  Now we capture stdout and stderr
separately, which avoids that problem.  It also means that _all_ stderr
output is after all stdout output when we print the test results, but
that seems acceptable, since output ordering is not guaranteed anyway.
The patch also moves the emit of the test name into the output block
generated after the test completes.  Otherwise test names and test
output/errors were mixed in the terminal display, making it difficult
to determine which test generated the output.
2009-10-18 21:12:37 +00:00
Antoine Pitrou 603acf99d0 Add a comment about unreachable code, and fix a typo 2009-10-18 18:37:11 +00:00
Antoine Pitrou 8a172b14a3 Add a test for same-thread asynchronous exceptions (see #1779233). 2009-10-18 18:22:04 +00:00
Nick Coghlan 53a9dc91d7 Restore sys.path in test_tk 2009-10-18 10:56:21 +00:00
Nick Coghlan f317019c07 Silence a deprecation warning by using the appropriate replacement construct 2009-10-18 10:29:10 +00:00
Nick Coghlan 9039b83c53 Using CleanImport to revert a reload of the os module doesn't work due to function registrations in copy_reg. The perils of reloading modules even for tests... 2009-10-18 05:38:48 +00:00
Mark Dickinson bfd2dc7479 Protect against attempts to replace PyNumber_Add with PyNumber_InPlaceAdd in builtin sum 2009-10-17 21:46:32 +00:00
Nick Coghlan a0e0f9eda4 Don't replace sys.path in test_site 2009-10-17 16:19:51 +00:00
Nick Coghlan 788d7667cb Avoid replacing existing modules and sys.path in import tests 2009-10-17 15:57:42 +00:00
Nick Coghlan 8157e19e8f Also check and restore identity of sys.path, sys.argv and os.environ rather than just their values (this picked up a few more misbehaving tests) 2009-10-17 15:48:16 +00:00
Nick Coghlan fd4903bf05 Move restoration of the os.environ object into the context manager where it belongs 2009-10-17 15:45:52 +00:00
Nick Coghlan 87c03b3108 Revert changes made to environment in test_httpservers 2009-10-17 15:23:08 +00:00
Nick Coghlan 8c1ffeb614 Don't invoke reload(sys) and use StringIO objects instead of real files to capture stdin and stdout when needed (ensures all sys attributes remain unmodified after test_xmlrpc runs) 2009-10-17 15:09:41 +00:00