Commit Graph

5948 Commits

Author SHA1 Message Date
Collin Winter f8089c7789 Issue 5665: add more pickling tests.
- Add tests for the module-level load() and dump() functions.
- Add tests for cPickle's internal data structures, stressing workloads
with many gets/puts.
- Add tests for the Pickler and Unpickler classes, in particular the
memo attribute.
- test_xpickle is extended to test backwards compatibility with Python
2.4, 2.5 and 2.6 by round-tripping pickled objects through a worker
process. This is guarded with a regrtest -u xpickle resource.
2009-04-09 16:46:46 +00:00
Jack Diederich 7f9bb9142e - Make timing assertions very generous (a la test_timeout.py)
- Break the gc cycle in negotiation tests
- test the different guarantees of read_lazy and read_very_lazy
2009-04-07 23:56:57 +00:00
Jack Diederich 3b2312ee5c eliminate more race conditions in telnetlib tests 2009-04-07 20:22:59 +00:00
Vinay Sajip 14bf0a0a37 Issue #5695: Minor tweak to improve the code as suggested by Brett Cannon and as implemented in the Py3K branch. 2009-04-07 17:18:24 +00:00
Benjamin Peterson dda7b1990b revert unrelated change to test_telnetlib 2009-04-07 16:03:04 +00:00
Benjamin Peterson a1b821cf60 fix since difference formating of SyntaxErrors 2009-04-07 15:52:05 +00:00
Benjamin Peterson 52b9620c19 fix syntax tests after formatting change 2009-04-07 15:15:04 +00:00
Gregory P. Smith 923ba361d8 - Issue #2254: Fix CGIHTTPServer information disclosure. Relative paths are
now collapsed within the url properly before looking in cgi_directories.
2009-04-06 06:33:26 +00:00
Jack Diederich 183028ed79 test the telnetlib.Telnet interface more thoroughly 2009-04-06 02:08:44 +00:00
Gregory P. Smith 6d30793cf2 Fixes issue5705: os.setuid() and friends did not accept the same range of
values that pwd.getpwnam() returns.
2009-04-05 23:43:58 +00:00
Michael Foord f2dfef1637 Adding assertIs and assertIsNot methods to unittest.TestCase
Issue #2578
2009-04-05 19:19:28 +00:00
Georg Brandl 3f0ef20269 #5471: fix expanduser() for $HOME set to "/". 2009-04-05 14:48:49 +00:00
Georg Brandl dc4a77159b #1326077: fix traceback formatting of SyntaxErrors. This fixes two differences with formatting coming from Python: a) the reproduction of location details in the error message if no line text is given, b) the prefixing of the last line by one space. 2009-04-05 14:24:52 +00:00
Vinay Sajip 1e566cec6f Issue #5695: Moved logging.captureWarnings() call inside with statement in WarningsTest.test_warnings. 2009-04-05 11:06:24 +00:00
Hirokazu Yamamoto 772033f08c No behavior change. 2009-04-04 17:20:05 +00:00
Raymond Hettinger 756ab67a98 Have namedtuple's field renamer assign names that
are consistent with the corresponding tuple index.
2009-04-02 22:25:40 +00:00
Antoine Pitrou 789be0c0a0 Issue #2396: backport the memoryview object. 2009-04-02 21:18:34 +00:00
Mark Dickinson 48e3fd240f sys.long_info attributes should be ints, not longs 2009-04-02 18:39:37 +00:00
R. David Murray 52720c5455 Add missing iteritems() call to the for loop in mailbox.MH.get_message().
Fixes issue2625.
2009-04-02 14:05:35 +00:00
Michael Foord e2942d073d Store the functions in the _type_equality_funcs as wrapped objects that are deep copyable.
This allows for the deep copying of TestCase instances.

Issue 5660
2009-04-02 05:51:54 +00:00
Jesse Noller 7152f6d915 Add custom initializer argument to multiprocess.Manager*, courtesy of lekma 2009-04-02 05:17:26 +00:00
Michael Foord 345b2fe21e Better exception messages for unittest assert methods.
- unittest.assertNotEqual() now uses the inequality operator (!=) instead
  of the equality operator.

- Default assertTrue and assertFalse messages are now useful.

- TestCase has a longMessage attribute. This defaults to False, but if set to True
  useful error messages are shown in addition to explicit messages passed to assert methods.

Issue #5663
2009-04-02 03:20:38 +00:00
Senthil Kumaran c730a6a123 Fixing the issue4860. Escaping embedded '"' character in js_output() method of Morsel. 2009-04-02 03:00:34 +00:00
Benjamin Peterson 3633c4f7d2 handle SEEK_ constants in test_io 2009-04-02 01:03:17 +00:00
R. David Murray 3864459196 Add tests checking the CSV module's ability to handle
embedded newlines in quoted field values.
2009-04-01 21:26:18 +00:00
Senthil Kumaran 20d114cad2 Fix for issue5040. Adding test for Content-Length 2009-04-01 20:26:33 +00:00
Jack Diederich 2ecd3c36b5 bounds check arguments to mmap.move(). All of them. Really.
fixes crasher on OS X 10.5
2009-04-01 20:26:13 +00:00
Brett Cannon ce3d221447 test_warnings ironically had a single test that was not protecting the warnings
filter and was resetting it.
2009-04-01 20:25:48 +00:00
Brett Cannon 2da4d628a5 test_logging was blindly clearing the warnings filter. This caused
PendingDeprecationWarnings to be spewed all over by unittest.failIf*(). Fix
moves over to using warnings.catch_warning to protect the warnings filter.
2009-04-01 19:57:10 +00:00
Raymond Hettinger 66c4a6b51c Issue #5647: MutableSet.__iand__() no longer mutates self during iteration. 2009-04-01 18:50:56 +00:00
Brett Cannon 15ba4dae5a _warnings was importing itself to get an attribute. That's bad if warnings gets
called in a thread that was spawned by an import itself.

Last part to close #1665206.
2009-04-01 18:03:59 +00:00
Georg Brandl 61fce3877c Fix test_xmlrpc and make the CGI handler work with no CONTENT_LENGTH. 2009-04-01 15:23:43 +00:00
Jesse Noller 02cb0eb231 Fix multiprocessing.event to match the new threading.Event API 2009-04-01 03:45:50 +00:00
R. David Murray a83da3507f Fix issue 2522. locale.format now checks that it is passed
exactly one pattern, which avoids mysterious errors where it
had seemed to fail to do localization.
2009-04-01 03:21:43 +00:00
Josiah Carlson bb94d43dcd Fix for failing asyncore tests. 2009-04-01 01:28:11 +00:00
Georg Brandl d8fb6ac9da Issue #5635: Fix running test_sys with tracing enabled. 2009-04-01 00:04:33 +00:00
Jack Diederich d60c29ed8b #5228: add pickle support to functools.partial 2009-03-31 23:46:48 +00:00
R. David Murray 840ac926c5 Fix Windows test skip error revealed by buildbot. Also a comment spelling
correction in a previously fixed test.
2009-03-31 23:45:39 +00:00
Georg Brandl 0c7b2c9c19 #1651995: fix _convert_ref for non-ASCII characters. 2009-03-31 22:11:53 +00:00
Benjamin Peterson d906ea62c8 fix Thread.ident when it is the main thread or a dummy thread #5632 2009-03-31 21:34:42 +00:00
Georg Brandl ef660e8e50 #1674032: return value of flag from Event.wait(). OKed by Guido. 2009-03-31 20:41:08 +00:00
Hirokazu Yamamoto 1d7d5325be Issue #5387: Fixed mmap.move crash by integer overflow. (take2) 2009-03-31 20:14:04 +00:00
R. David Murray 612f1d5f48 Remove the regrtest check that turns any ImportError into a skipped test.
Hopefully all modules whose imports legitimately result in a skipped
test have been properly wrapped by the previous commits.
2009-03-31 19:49:15 +00:00
R. David Murray bdeacba51b Improve test_support.import_module docstring, remove
deprecated flag from get_attribute since it isn't likely
to do anything useful.
2009-03-31 19:33:15 +00:00
R. David Murray 73fba6915a Delete out-of-date and little-known README from the test
directory by consensus of devs at pycon sprint.
2009-03-31 19:31:17 +00:00
Gregory P. Smith 7558d57ad2 Rename the actual method definitions to the official assertFoo names.
Adds unittests to make sure the old fail* names continue to work now
and adds a comment that they are pending deprecation.

Also adds a test to confirm that the plural Equals method variants
continue to exist even though we're unlikely to deprecate those.

http://bugs.python.org/issue2578
2009-03-31 19:03:28 +00:00
R. David Murray 597ebab744 A few more test skips via import_module, and change import_module to
return the error message produced by importlib, so that if an import
in the package whose import is being wrapped is what failed the skip
message will contain the name of that module instead of the name of the
wrapped module.  Also fixed formatting of some previous comments.
2009-03-31 18:32:17 +00:00
Gregory P. Smith 2839985c7e The unittest.TestCase.assertEqual() now displays the differences in lists,
tuples, dicts and sets on failure.

Many new handy type and comparison specific assert* methods have been added
that fail with error messages actually useful for debugging.  Contributed in
by Google and completed with help from mfoord and GvR at PyCon 2009 sprints.

Discussion lives in http://bugs.python.org/issue2578.
2009-03-31 16:54:10 +00:00
Jeremy Hylton 88f1c04215 Global statements from one function leaked into parallel functions.
Re http://bugs.python.org/issue4315

The symbol table used the same name dictionaries to recursively
analyze each of its child blocks, even though the dictionaries are
modified during analysis.  The fix is to create new temporary
dictionaries via the analyze_child_block().  The only information that
needs to propagate back up is the names of the free variables.

Add more comments and break out a helper function.  This code doesn't
get any easier to understand when you only look at it once a year.
2009-03-31 13:48:15 +00:00
Jeremy Hylton 1c157ea984 Add is_declared_global() which distinguishes between implicit and
explicit global variables.
2009-03-31 13:17:03 +00:00
Hirokazu Yamamoto 9d2ee5ded2 Issue #5387: Fixed mmap.move crash by integer overflow. 2009-03-31 13:13:05 +00:00
Jesse Noller 82eb5902ce merge in patch from tim golden to fix contextmanager support for mp.Lock() 2009-03-30 23:29:31 +00:00
R. David Murray d7bf8a5478 Actually suppress warnings in test_at_least_import_untested_modules
inside the catch_warnings context manager.
2009-03-30 23:10:37 +00:00
R. David Murray 3db8a3432b Change more tests to use import_module for the modules that
should cause tests to be skipped.  Also rename import_function
to the more descriptive get_attribute and add a docstring.
2009-03-30 23:05:48 +00:00
Jesse Noller 019ce773cd finalize the queue prior to shutdown 2009-03-30 21:53:29 +00:00
Senthil Kumaran 5e95e763e1 Fix for bugs: Issue4675 and Issue4962. 2009-03-30 21:51:50 +00:00
R. David Murray e7c9e092b3 Remove references to test_socket_ssl which was deleted in trunk
in r64392 and py3k in r59038.
2009-03-30 20:04:06 +00:00
R. David Murray 59beec326a Add import_function method to test.test_support, and modify a number of
tests that expect to be skipped if imports fail or functions don't
exist to use import_function and import_module.  The ultimate goal is
to change regrtest to not skip automatically on ImportError.  Checking
in now to make sure the buldbots don't show any errors on platforms
I can't direct test on.
2009-03-30 19:04:00 +00:00
Jesse Noller 459a648166 Issue 5177: use socket.SO_REUSEADDR on multiprocessing SocketManager sockets 2009-03-30 15:50:42 +00:00
R. David Murray 5cb104d1b9 Revert incorrect change. 2009-03-30 15:30:34 +00:00
Benjamin Peterson 68ffe3ec67 don't rely on the order dict repr #5605 2009-03-30 15:15:38 +00:00
R. David Murray ad74dfe8ff Convert import try/except to use test_support.import_module(). 2009-03-30 15:14:01 +00:00
Benjamin Peterson 3c87e2289d add missing import 2009-03-30 14:42:23 +00:00
Benjamin Peterson 8e1a338129 add missing import 2009-03-29 22:27:26 +00:00
Benjamin Peterson 83db7652ca thanks to guido's bytecode verifier, this is fixed 2009-03-29 21:31:05 +00:00
Benjamin Peterson d2c184605e this has been fixed since 2.6 (I love removing these) 2009-03-29 21:22:35 +00:00
Collin Winter a199f01986 Add the ability to control the random seed used by regrtest.py -r.
This adds a --randseed option, and makes regrtest.py -r indicate what random seed it's using so that that value can later be fed back to --randseed. This option is useful for tracking down test order-related issues found by make buildbottest, for example.
2009-03-29 03:44:19 +00:00
Benjamin Peterson 7fa9459baf fix another name 2009-03-26 21:44:43 +00:00
Benjamin Peterson effa1dc709 ** is required here 2009-03-26 21:30:54 +00:00
Benjamin Peterson bf4464a38f add missing import 2009-03-26 21:30:10 +00:00
Benjamin Peterson a9b5be0c05 must pass argument to get expected behavior ;) 2009-03-26 21:11:16 +00:00
Benjamin Peterson bec087f29d fix incorrect auto-translation of TestSkipped -> unittest.SkipTest 2009-03-26 21:10:30 +00:00
Benjamin Peterson ad57d97596 fix naming 2009-03-26 20:49:40 +00:00
Benjamin Peterson 888a39b54c remove test_support.TestSkipped and just use unittest.SkipTest 2009-03-26 20:48:25 +00:00
Benjamin Peterson 21f6aac633 apply the second part of #4242's patch; classify all the implementation details in test_descr 2009-03-26 20:17:27 +00:00
Benjamin Peterson 47d9738b0f rename TestCase.skip() to skipTest() because it causes annoying problems with trial #5571 2009-03-26 20:05:50 +00:00
Benjamin Peterson c3141a6e96 add some useful utilities for skipping tests with unittest's new skipping ability
most significantly apply a modified portion of the patch from #4242 with
patches for skipping implementation details
2009-03-26 19:58:18 +00:00
Benjamin Peterson 0ad9b7727d add support for PyPy 2009-03-26 19:09:21 +00:00
Benjamin Peterson 94e4e2a7e5 roll old test in with new one 2009-03-26 18:58:30 +00:00
Benjamin Peterson b457b89323 more and more implementations now support sys.subversion 2009-03-26 18:55:48 +00:00
Benjamin Peterson f521b8c6d2 add much better tests for python version information parsing 2009-03-26 18:35:37 +00:00
Benjamin Peterson 2f6f7436aa this can be slightly less ugly 2009-03-25 21:42:51 +00:00
Marc-André Lemburg a519cfc953 Remove the sys.version_info shortcut, since they cause the APIs
to return different information than the _sys_version() output
used in previous Python versions.

This also fixes issue5561: platform.python_version_tuple returns tuple of ints, should be strings

Added more tests for the various platform functions.
2009-03-25 19:44:58 +00:00
Benjamin Peterson 2bf74fd0ac this is better written using assertRaises 2009-03-24 03:24:56 +00:00
Benjamin Peterson cb2b0e45d4 comply with the evilJavaNamingScheme for attribute names
It seems my love of PEP 8 overrode the need for consistentcy
2009-03-23 22:29:45 +00:00
Benjamin Peterson 692428e77f implement test skipping and expected failures
patch by myself #1034053
2009-03-23 21:50:21 +00:00
Antoine Pitrou f8387af262 Issue #4688: Add a heuristic so that tuples and dicts containing only
untrackable objects are not tracked by the garbage collector. This can
reduce the size of collections and therefore the garbage collection overhead
on long-running programs, depending on their particular use of datatypes.

(trivia: this makes the "binary_trees" benchmark from the Computer Language
Shootout 40% faster)
2009-03-23 18:41:45 +00:00
Benjamin Peterson 704dc269e3 AttributeError can be thrown during recursion errors 2009-03-22 22:24:58 +00:00
Lars Gustäbel 2020a59563 Issue #5068: Fixed the tarfile._BZ2Proxy.read() method that would loop
forever on incomplete input. That caused tarfile.open() to hang when used
with mode 'r' or 'r:bz2' and a fileobj argument that contained no data or
partial bzip2 compressed data.
2009-03-22 20:09:33 +00:00
Mark Dickinson efc82f7e8e Issue #4258: Use 30-bit digits for Python longs, on 64-bit platforms.
Backport of r70459.
2009-03-20 15:51:55 +00:00
Raymond Hettinger 2412299be9 * Add clearer comment to initialization code.
* Add optional argument to popitem() -- modeled
  after Anthon van der Neut's C version.
* Fix method markup in docs.
2009-03-19 19:59:58 +00:00
Benjamin Peterson 6ffe852f90 fix strange errors when setting attributes on tracebacks #4034 2009-03-18 20:52:15 +00:00
Mark Dickinson b14514a153 Fix bug in _insert_thousands_sep: too much zero padding could be
added for 'n' formats with non-repeating thousands-separator.
2009-03-18 08:22:51 +00:00
Mark Dickinson 277859d591 Issue #2110: Add support for thousands separator and 'n' format specifier
to Decimal __format__ method.
2009-03-17 23:03:46 +00:00
Mark Dickinson b065e52bc2 Fix bug in Decimal __format__ method that swapped left and right
alignment.
2009-03-17 18:01:03 +00:00
Eric Smith 2ace4cf813 Unicode format tests weren't actually testing unicode. This was probably due to the original backport from py3k. 2009-03-14 14:37:38 +00:00
Eric Smith 6f42edb682 Issue 5237, Allow auto-numbered replacement fields in str.format() strings.
For simple uses for str.format(), this makes the typing easier. Hopfully this
will help in the adoption of str.format().

For example:
'The {} is {}'.format('sky', 'blue')

You can mix and matcth auto-numbering and named replacement fields:
'The {} is {color}'.format('sky', color='blue')

But you can't mix and match auto-numbering and specified numbering:
'The {0} is {}'.format('sky', 'blue')
ValueError: cannot switch from manual field specification to automatic field numbering

Will port to 3.1.
2009-03-14 11:57:26 +00:00
Antoine Pitrou feeafff052 Issue #1222: locale.format() bug when the thousands separator is a space character. 2009-03-14 00:07:21 +00:00
Brett Cannon 6c4cff0f32 Require implementations for warnings.showwarning() support the 'line' argument.
Was a DeprecationWarning for not supporting it since Python 2.6.

Closes issue #3652.
2009-03-11 04:51:06 +00:00
Raymond Hettinger 56411aac79 For collections.deque() objects, expose the maxlen parameter as a read-only attribute. 2009-03-10 12:50:59 +00:00