Commit Graph

5292 Commits

Author SHA1 Message Date
Brett Cannon c477427eba Fix spliting on colons on Windows machines with a file path by limiting the
number of splits.
2008-04-13 17:41:31 +00:00
Brett Cannon 25bb8182c6 Add an explicit check for output in a test to try to diagnose a failure on
Windows.
2008-04-13 17:09:43 +00:00
Skip Montanaro e3d3785e11 spelling 2008-04-13 03:17:30 +00:00
Brett Cannon 667bb4f236 Fix test_warnings by making the state of things more consistent for each test
when it is run.
2008-04-13 02:42:36 +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
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
Gregory P. Smith f108320055 better diagnostics 2008-04-09 23:11:56 +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 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 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
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
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
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
Amaury Forgeot d'Arc f7cf388c31 Remove debug prints; the buildbot now passes the tests 2008-04-02 21:18:46 +00:00
Neal Norwitz d0a91afa70 Apply same patch from 3k branch to try and prevent this test from hanging
on various platforms, most recently the Alpha Tru64.
2008-04-02 05:54:27 +00:00
Jeffrey Yasskin ab56131720 Try to make test_signal less flaky. I still see some flakiness in
test_itimer_prof.
2008-04-02 04:07:44 +00:00
Amaury Forgeot d'Arc cb0f2ad0c2 A DocTestSuite cannot run multiple times: it clears its globals dictionary after the first run.
Rebuild the DocTestSuite on each iteration.
2008-04-02 00:55:04 +00:00
Amaury Forgeot d'Arc 4d0c1170ef Correct the apparent refleak in test_io:
When cls is an ABCMeta, every call to isinstance(x, cls)
records type(x) in the cls._abc_cache of cls_abc_negative_cache.
So we clear these caches at the end of the test.

inspect.isabstract() is not the correct test for all ABCs, because there is no @abstractmethod in io.py (why?)
isinstance(cls, ABCMeta) would be more exact, but it fails with an infinite recursion.
So I used a hack to determine whether a class is an ABCMeta.

The true correction would be to turn cls._abc_cache &co into a WeakSet, as py3k does.
But classic classes are not weak referenceable...

Of course, this change should not be merged into the py3k branch.
2008-04-02 00:25:14 +00:00
Amaury Forgeot d'Arc f0a49708eb Newly enabled test appears to leak:
it registers the same codec on each iteration.
Do it only once at load time.
2008-04-01 22:52:48 +00:00
Amaury Forgeot d'Arc ce6f6c12c6 Fix and enable a skipped test:
with python 2.6, enumerating bytes yields 1-char strings, not numbers.

Don't merge this into the py3k branch.
2008-04-01 22:37:33 +00:00
Brett Cannon 8820f2a979 Add ``if __name__ == '__main__'`` to some test files where it didn't take a lot
of effort to do so.
2008-04-01 12:46:02 +00:00
Brett Cannon 8d2a90af2d Generalize test.test_support.test_stdout() with a base context manager so that
it is easy to capture stderr if desired.
2008-04-01 12:37:43 +00:00
Neal Norwitz d48a2f77f0 Be sure to close the file. 2 places were deleting the file, so it was probably
fine, but the last change may be required for the test to pass on Windows.
Should we always close the mmap too?
2008-04-01 05:40:43 +00:00
Georg Brandl e34c21c2a0 Make AST nodes pickleable. 2008-03-30 20:20:39 +00:00
Georg Brandl 2c55c597fa Make _fields attr for no fields consistent with _attributes attr. 2008-03-30 19:00:49 +00:00
Georg Brandl ebc8dedd19 Convert test_ast to unittest and add a test for r62049. 2008-03-30 07:09:22 +00:00
Georg Brandl c87c5800e7 Adapt test_ast to the new ExceptHandler type. 2008-03-30 06:53:55 +00:00
Benjamin Peterson 5b63acd31e #2503 make singletons compared with "is" not == or !=
Thanks to Wummel for the patch
2008-03-29 15:24:25 +00:00
Amaury Forgeot d'Arc 672fbf5195 Still investigating on the hanging test_socket.
the test itself doesn't do anything on windows, focus on setUp and tearDown.
2008-03-29 14:53:05 +00:00
Amaury Forgeot d'Arc 5e08e8b15c The buildbot "x86 W2k8 trunk" seems to hang in test_socket.
http://www.python.org/dev/buildbot/trunk/x86%20W2k8%20trunk/builds/255/step-test/0

Temporarily increase verbosity of this test.
2008-03-29 13:47:05 +00:00
Georg Brandl f2bfd54d6f Properly check for consistency with the third argument of
compile() when compiling an AST node.
2008-03-29 13:24:23 +00:00
Amaury Forgeot d'Arc ea13dc629c Now that Lib/test/output is gone, tests should not print anything,
except in verbose mode.
Support code is much simpler.
2008-03-29 13:14:52 +00:00
Amaury Forgeot d'Arc 2aece57d7f Correctly call the base class tearDown();
otherwise running test_logging twice produce the errors we see on all buildbots
2008-03-29 01:42:31 +00:00
Georg Brandl fc8eef3c78 Patch #1810 by Thomas Lee, reviewed by myself:
allow compiling Python AST objects into code objects
in compile().
2008-03-28 12:11:56 +00:00
Gregory P. Smith b9803421d2 Accept patch issue2426 by Paul Kippes (kippesp).
Adds sqlite3.Connection.iterdump to allow dumping of databases.
2008-03-28 08:32:09 +00:00
Gregory P. Smith 0001c2ecbc This patch moves some tests from test_urllib2_net to test_urllib2_localnet.
The moved tests use a local server rather than going out to external servers.

Accepts patch from issue2429.

Contributed by Jerry Seutter & Michael Foord (fuzzyman) at PyCon 2008.
2008-03-28 08:00:44 +00:00
Neal Norwitz ab364c4366 Name the main method correctly so the test is run 2008-03-28 07:36:31 +00:00
Neal Norwitz 70cea58c84 Bug 1503: Get the test to pass on OSX. This should make the test more
reliable, but I'm not convinced it is the right solution.  We need
to determine if this causes the test to hang on any platforms or do
other bad things.

Even if it gets the test to pass reliably, it might be that we want
to fix this in socket.  The socket returned from accept() is different
on different platforms (inheriting attributes or not) and we might
want to ensure that the attributes (at least blocking) is the same
across all platforms.
2008-03-28 06:34:03 +00:00
Martin v. Löwis 53dbcd33a9 Run 2to3 tests. 2008-03-28 05:26:10 +00:00
Jeffrey Yasskin 36550bdde9 Print more information the next time test_socket throws the wrong exception. 2008-03-28 04:53:10 +00:00
Neal Norwitz 023cd00ccc Allow use of other ports so the test can pass if 9091 is in use 2008-03-28 04:41:34 +00:00
Jeffrey Yasskin 8b9091fba0 Kill a race in test_threading in which the exception info in a thread finishing
up after it was joined had a traceback pointing to that thread's (deleted)
target attribute, while the test was trying to check that the target was
destroyed. Big thanks to Antoine Pitrou for diagnosing the race and pointing
out sys.exc_clear() to kill the exception early. This fixes issue 2496.
2008-03-28 04:11:18 +00:00
Amaury Forgeot d'Arc 7db15fe9d9 test_future3.py is a regular test file, and should be part of the test suite 2008-03-28 00:21:34 +00:00
Amaury Forgeot d'Arc da0c025a43 Issue2495: tokenize.untokenize did not insert space between two consecutive string literals:
"" "" => """", which is invalid code.

Will backport
2008-03-27 23:23:54 +00:00
Georg Brandl 853e44ca8c The bug for which there was a test in outstanding_bugs.py was agreed not to be a bug. 2008-03-27 13:34:59 +00:00
Christian Heimes 6c052fd523 Fixed tokenize tests
The tokenize module doesn't understand __future__.unicode_literals yet
2008-03-27 11:46:37 +00:00
Eric Smith 23a48ad101 Added test cases for single quoted strings, both forms of triple quotes,
and some string concatenations.
Removed unneeded __future__ print_function import.
2008-03-27 09:42:35 +00:00
Christian Heimes 3784c6b1af Use the new unicode literals for the io module
use basestring instead of str in Python 2.x
2008-03-26 23:13:59 +00:00
Christian Heimes fa50bad957 I forgot to svn add the future test 2008-03-26 22:55:31 +00:00
Christian Heimes 1a6387e683 Merged revisions 61750,61752,61754,61756,61760,61763,61768,61772,61775,61805,61809,61812,61819,61917,61920,61930,61933-61934 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/trunk-bytearray

........
  r61750 | christian.heimes | 2008-03-22 20:47:44 +0100 (Sat, 22 Mar 2008) | 1 line

  Copied files from py3k w/o modifications
........
  r61752 | christian.heimes | 2008-03-22 20:53:20 +0100 (Sat, 22 Mar 2008) | 7 lines

  Take One
  * Added initialization code, warnings, flags etc. to the appropriate places
  * Added new buffer interface to string type
  * Modified tests
  * Modified Makefile.pre.in to compile the new files
  * Added bytesobject.c to Python.h
........
  r61754 | christian.heimes | 2008-03-22 21:22:19 +0100 (Sat, 22 Mar 2008) | 2 lines

  Disabled bytearray.extend for now since it causes an infinite recursion
  Fixed serveral unit tests
........
  r61756 | christian.heimes | 2008-03-22 21:43:38 +0100 (Sat, 22 Mar 2008) | 5 lines

  Added PyBytes support to several places:
  str + bytearray
  ord(bytearray)
  bytearray(str, encoding)
........
  r61760 | christian.heimes | 2008-03-22 21:56:32 +0100 (Sat, 22 Mar 2008) | 1 line

  Fixed more unit tests related to type('') is not unicode
........
  r61763 | christian.heimes | 2008-03-22 22:20:28 +0100 (Sat, 22 Mar 2008) | 2 lines

  Fixed more unit tests
  Fixed bytearray.extend
........
  r61768 | christian.heimes | 2008-03-22 22:40:50 +0100 (Sat, 22 Mar 2008) | 1 line

  Implemented old buffer interface for bytearray
........
  r61772 | christian.heimes | 2008-03-22 23:24:52 +0100 (Sat, 22 Mar 2008) | 1 line

  Added backport of the io module
........
  r61775 | christian.heimes | 2008-03-23 03:50:49 +0100 (Sun, 23 Mar 2008) | 1 line

  Fix str assignement to bytearray. Assignment of a str of size 1 is interpreted as a single byte
........
  r61805 | christian.heimes | 2008-03-23 19:33:48 +0100 (Sun, 23 Mar 2008) | 3 lines

  Fixed more tests
  Fixed bytearray() comparsion with unicode()
  Fixed iterator assignment of bytearray
........
  r61809 | christian.heimes | 2008-03-23 21:02:21 +0100 (Sun, 23 Mar 2008) | 2 lines

  str(bytesarray()) now returns the bytes and not the representation of the bytearray object
  Enabled and fixed more unit tests
........
  r61812 | christian.heimes | 2008-03-23 21:53:08 +0100 (Sun, 23 Mar 2008) | 3 lines

  Clear error PyNumber_AsSsize_t() fails
  Use CHARMASK for ob_svall access
  disabled a test with memoryview again
........
  r61819 | christian.heimes | 2008-03-23 23:05:57 +0100 (Sun, 23 Mar 2008) | 1 line

  Untested updates to the PCBuild directory
........
  r61917 | christian.heimes | 2008-03-26 00:57:06 +0100 (Wed, 26 Mar 2008) | 1 line

  The type system of Python 2.6 has subtle differences to 3.0's. I've removed the Py_TPFLAGS_BASETYPE flags from bytearray for now. bytearray can't be subclasses until the issues with bytearray subclasses are fixed.
........
  r61920 | christian.heimes | 2008-03-26 01:44:08 +0100 (Wed, 26 Mar 2008) | 2 lines

  Disabled last failing test
  I don't understand what the test is testing and how it suppose to work. Ka-Ping, please check it out.
........
  r61930 | christian.heimes | 2008-03-26 12:46:18 +0100 (Wed, 26 Mar 2008) | 1 line

  Re-enabled bytes warning code
........
  r61933 | christian.heimes | 2008-03-26 13:20:46 +0100 (Wed, 26 Mar 2008) | 1 line

  Fixed a bug in the new buffer protocol. The buffer slots weren't copied into a subclass.
........
  r61934 | christian.heimes | 2008-03-26 13:25:09 +0100 (Wed, 26 Mar 2008) | 1 line

  Re-enabled bytearray subclassing - all tests are passing.
........
2008-03-26 12:49:49 +00:00
Jerry Seutter fc7b3e3aa2 Changed test so it no longer runs as a side effect of importing. 2008-03-26 05:58:14 +00:00
Jerry Seutter 9f7af8d4da Changed test so it no longer runs as a side effect of importing. 2008-03-26 05:32:51 +00:00
Neal Norwitz 22b3e3aff8 Ensure that the mailbox is closed to prevent problems on Windows with removing
an open file.  This doesn't seem to be a problem in 2.6, but that appears
to be somewhat accidental (specific to reference counting).  When this
gets merged to 3.0, it will make the 3.0 code simpler.
2008-03-26 05:19:41 +00:00
Jerry Seutter 14f0bc7900 Changed test so it no longer runs as a side effect of importing. 2008-03-26 05:03:03 +00:00
Neal Norwitz 85fc3c1f1c Try to get this test to be less flaky. It was failing sometimes because
the connect would succeed before the timeout occurred.  Try using an
address and port that hopefully doesn't exist to ensure we get no response.
If this doesn't work, we can use a public address close to python.org
and hopefully that address never gets taken.
2008-03-26 04:55:51 +00:00
Mark Dickinson 8e85ffa4b2 Issue #2482: Make sure that the coefficient of a Decimal
instance is always stored as a str instance, even
when that Decimal has been created from a unicode string.
2008-03-25 18:47:59 +00:00
Mark Dickinson 3b24ccbe7e Issue #2478: Decimal(sqrt(0)) failed when the decimal context
was not explicitly supplied.
2008-03-25 14:33:23 +00:00
Georg Brandl d5b635f196 Make Py3k warnings consistent w.r.t. punctuation; also respect the
EOL 80 limit and supply more alternatives in warning messages.
2008-03-25 08:29:14 +00:00
Georg Brandl 80055f6295 #2355: py3k warning for buffer(). 2008-03-25 07:56:27 +00:00
Neal Norwitz bb89e686e3 Try to get this test to be more stable:
* disable gc during the test run because we are spawning objects and there
   was an exception when calling Popen.__del__
 * Always set an alarm handler so the process doesn't exit if the test fails
   (should probably add assertions on the value of hndl_called in more places)
 * Using a negative time causes Linux to treat it as zero, so disable that test.
2008-03-25 07:00:39 +00:00
Neal Norwitz be9160b035 Don't try to close a non-open file.
Don't let file removal cause the test to fail.
2008-03-25 06:35:10 +00:00
Gregory P. Smith 88440960f9 A stab in the dark attempt to fix the alpha/tru64 buildbot problem and add more
test coverage of valid inputs to zlib.crc32.
2008-03-25 06:12:45 +00:00
Neal Norwitz 40f5e4c5a2 Fix a bunch of UnboundLocalErrors when the tests fail. 2008-03-25 04:17:38 +00:00
Martin v. Löwis aef18b1c67 Patch #2240: Implement signal.setitimer and signal.getitimer. 2008-03-24 13:31:16 +00:00
Raymond Hettinger bbc50eafe5 Issue 1681432: Add triangular distribution the random module. 2008-03-23 13:32:32 +00:00
Amaury Forgeot d'Arc 9a0d3462fc #1477: ur'\U0010FFFF' raised in narrow unicode builds.
Corrected the raw-unicode-escape codec to use UTF-16 surrogates in
this case, just like the unicode-escape codec.
2008-03-23 09:55:29 +00:00
Neal Norwitz acdb6fb2a5 Try to prevent the alarm going off early in tearDown 2008-03-23 06:16:04 +00:00
Neal Norwitz 41d649116c Suppress failure (to avoid a flaky test) if we cannot connect to svn.python.org 2008-03-23 05:47:20 +00:00
Neal Norwitz 3bda069c5a Skip the epoll test if epoll() does not work 2008-03-23 04:43:09 +00:00
Neal Norwitz 162d719113 Speed up the test by avoiding socket timeouts. 2008-03-23 04:08:30 +00:00
Neal Norwitz 1f2995b014 Try to make this test a little more robust and not fail with:
timeout (10.0025) is more than 2 seconds more than expected (0.001)

I'm assuming this problem is caused by DNS lookup.  This change
does a DNS lookup of the hostname before trying to connect, so the time
is not included.
2008-03-23 03:43:33 +00:00
Raymond Hettinger e70bb8d6f2 Simplify demo code. 2008-03-23 00:55:46 +00:00
Facundo Batista 6415667fe2 Small fix that complicated the test actually when that
test failed.
2008-03-22 02:45:37 +00:00
Christian Heimes 0e9ab5f2f0 Applied patch #1657 epoll and kqueue wrappers for the select module
The patch adds wrappers for the Linux epoll syscalls and the BSD kqueue syscalls. Thanks to Thomas Herve and the Twisted people for their support and help.
TODO: Finish documentation documentation
2008-03-21 23:49:44 +00:00
Steven Bethard d290b04ee3 Replace hack in regrtest.py with use of sys.py3kwarning. 2008-03-21 21:01:18 +00:00
Georg Brandl 65bb42dc1b #2348: add py3k warning for file.softspace. 2008-03-21 20:38:24 +00:00
Georg Brandl 07e5681fd3 #2346/#2347: add py3k warning for __methods__ and __members__. Patch by Jack Diederich. 2008-03-21 20:21:46 +00:00
Georg Brandl 5a44424c5e #2358: add py3k warning to sys.exc_clear(). 2008-03-21 20:11:46 +00:00
Georg Brandl 77354cf5ef Issue #2432: give DictReader the dialect and line_num attributes
advertised in the docs.
2008-03-21 20:01:51 +00:00
Georg Brandl 331243270d #2136: allow single quotes in realm spec. 2008-03-21 19:54:00 +00:00
Jeffrey Yasskin 510eab5965 Speed test_threading up from 14s to .5s, and avoid a deadlock on certain
failures. The test for enumerate-after-join is now a little less rigorous, but
the bug it references says the error happened in the first couple iterations,
so 100 iterations should still be enough.

cProfile was useful for identifying the slow tests here.
2008-03-21 18:48:04 +00:00
Jeffrey Yasskin 413f588a36 Try to fix test_signal on FreeBSD. I'm assuming that os.kill is failing to
raise a signal, but switching to subprocess makes the code cleaner anyway.
2008-03-21 18:25:06 +00:00
Jeffrey Yasskin 6cda88ea11 Try to fix test_signal breakages on Linux due to r61687. It appears that at
least two of the linux build bots aren't leaving zombie processes around for
os.waitpid to wait for, causing ECHILD errors. This would be a symptom of a bug
somewhere, but probably not in signal itself.
2008-03-21 05:51:37 +00:00
Jeffrey Yasskin cf26f5419e Speed up test_signal from ~24s to 4s by avoiding nearly all of the sleep calls. 2008-03-21 05:02:44 +00:00
Eric Smith 816a168053 Comment how 'from __future__ import print_function' operates in 3.0. 2008-03-20 23:56:08 +00:00
Gregory P. Smith 6af3db8632 Attempt to fix the Solaris Sparc 10 buildbot. It was failing with an invalid
argument error on ioctl.  This was caused by the added test_fcntl ioctl test
that hard coded 0 as the fd to use.  Without a terminal, this fails on solaris.
(it passed from the command line on sol 10, both 32 and 64 bit)

Also, test_ioctl exists so I moved the test into there where it belongs.
2008-03-20 05:41:53 +00:00
Trent Nelson 00b53ea1b8 Revert r61650; the intent of this commit was to try and address alarm failures on some of the build slaves. As Neal points out, it's called after test_main(), so it's not going to factor into the test when run via regrtest.py (and removes the original functionality that Jeffrey wanted that would kill the test if it took longer than 3 seconds to run when executing it directly during development). 2008-03-20 00:58:44 +00:00
Gregory P. Smith a5cfcad0e3 Prevent ioctl op codes from being sign extended from int to unsigned long
when used on platforms that actually define ioctl as taking an unsigned long.
(the BSDs and OS X / Darwin)

Adds a unittest for fcntl.ioctl that tests what happens with both positive and
negative numbers.

This was done because of issue1471 but I'm not able to reproduce -that- problem
in the first place on Linux 32bit or 64bit or OS X 10.4 & 10.5 32bit or 64 bit.
2008-03-19 23:03:25 +00:00
Brett Cannon 48581c5f08 Make sure that the warnings filter is not reset or changed beyond the current
running test file.

Closes issue2407. Thanks Jerry Seutter.
2008-03-19 23:01:17 +00:00
Trent Nelson a0ce6b6b71 Bump the SIGALM delay from 3 seconds to 20 seconds, mainly in an effort to see if it fixes the alarm failures in this test experienced by some of the buildbots. 2008-03-19 22:51:42 +00:00
Raymond Hettinger 10dca6e282 The filter() function does support a None argument in Py3.0. 2008-03-19 17:58:59 +00:00
Raymond Hettinger 05387861ea Issue 2354: Fix-up compare warning. Patch contributed by Jeff Balogh. 2008-03-19 17:45:19 +00:00
Brett Cannon 977eb021f3 Use sys.py3kwarning instead of trying to trigger a Py3k-related warning. 2008-03-19 17:37:43 +00:00
Brett Cannon 7919d98d56 test_nis would fail if test.test_support.verbose was true but NIS was not set
up on the machine.

Closes issue2411. Thanks Michael Bishop.
2008-03-19 16:50:13 +00:00
Eric Smith 8ff4963594 Trivial typo. 2008-03-19 12:15:10 +00:00
Eric Smith e504445972 Use test.test_support.captured_stdout instead of a custom contextmanager.
Thanks Nick Coghlan.
2008-03-19 12:09:55 +00:00
Martin v. Löwis 16b2e6bd7f Import relimport using a relative import. 2008-03-19 06:00:28 +00:00
Martin v. Löwis a4d77898db Issue #2400: Allow relative imports to "import *". 2008-03-19 04:39:13 +00:00
Eric Smith 14cae96fa6 Another test for __future__ print_function. 2008-03-19 03:13:34 +00:00
David Wolever 2724ab99c8 Added zip, map, filter to future_bultins (#2171) 2008-03-19 02:35:45 +00:00
Eric Smith 7c47894a2a Backport of the print function, using a __future__ import.
This work is substantially Anthony Baxter's, from issue
1633807.  I just freshened it, made a few minor tweaks,
and added the test cases.  I also created issue 2412,
which is to check for 2to3's behavior with the print
function.  I also added myself to ACKS.
2008-03-18 23:45:49 +00:00
Gregory P. Smith c856fa811d Add a test to make sure zlib.crc32 and binascii.crc32 return the same thing.
Fix a buglet in binascii.crc32, the second optional argument could previously
have a signedness mismatch with the C variable its going into.
2008-03-18 22:27:41 +00:00
Steven Bethard 6a644f92ef Add py3k warnings for code and method inequality comparisons. This should resolve issue 2373. The codeobject.c and methodobject.c changes are both just backports of the Python 3 code. 2008-03-18 22:08:20 +00:00
Steven Bethard e8e22cf3c0 Have regrtest skip test_py3kwarn when the -3 flag is missing. 2008-03-18 21:30:13 +00:00
Neal Norwitz 0c1ef470f8 Import the test properly. This is especially important for py3k. 2008-03-18 20:30:38 +00:00
Steven Bethard a7a3e28e4e Fix test_atexit so that it still passes when -3 is supplied. (It was catching the warning messages on stdio from using the reload() function.) 2008-03-18 19:59:14 +00:00
Gregory P. Smith f48da8fbcd Fix chown on 64-bit linux. It needed to take a long (64-bit on 64bit linux) as
uid and gid input to accept values >=2**31 as valid while still accepting
negative numbers to pass -1 to chown for "no change".

Fixes issue1747858.

This should be backported to release25-maint.
2008-03-18 19:05:32 +00:00
Steven Bethard 8906575380 _have_soundcard() is a bad check for winsound.Beep, since you can have a soundcard but have the beep driver disabled. This revision basically disables the beep tests by wrapping them in a try/except. The Right Way To Do It is to come up with a _have_enabled_beep_driver() and use that. 2008-03-18 19:04:32 +00:00
Neal Norwitz 5fe5cf6df2 Get regrtest working when re-running tests 2008-03-18 17:58:02 +00:00
Steven Bethard ae42f33cdf Add py3k warnings for object, type, cell and dict comparisons. This should resolve issue2342 and partly resolve issue2373. 2008-03-18 17:26:10 +00:00
Sean Reifscheider 493894c3e0 Issue 1577: shutil.move() where destination is a directory was doing a
copy, now it is doing a os.rename() if it's on the same file-system.
2008-03-18 17:24:12 +00:00
Steven Bethard ed427e7be9 Use test_support.unlink instead of os.unlink in tearDown(). (Seems to fix an occasional failure in Windows Vista.) 2008-03-18 16:00:19 +00:00
Brett Cannon f084e04820 Fix test_errno to only check for error numbers that are defined by Standard C. 2008-03-18 15:52:00 +00:00
Martin v. Löwis 66e2663eba Note that the stderr output of the test is intentional. 2008-03-18 13:16:05 +00:00
Martin v. Löwis afb416b002 Add WSA errors. 2008-03-18 13:05:03 +00:00
Martin v. Löwis 637f239bbb Add more Linux error codes. 2008-03-18 12:45:37 +00:00
Martin v. Löwis d43ca3b395 norwitz-amd64 (gentoo) has EREMOTEIO. 2008-03-18 12:20:15 +00:00
Trent Nelson 496ad27186 The behaviour of winsound.Beep() seems to differ between different versions of Windows when there's either:
a) no sound card entirely
    b) legacy beep driver has been disabled
    c) the legacy beep driver has been uninstalled
Sometimes RuntimeErrors are raised, sometimes they're not.  If _have_soundcard() returns False, don't expect winsound.Beep() to raise a RuntimeError, as this clearly isn't the case, as demonstrated by the various Win32 XP buildbots.
2008-03-18 07:32:47 +00:00
Neal Norwitz d1befd7c50 Add some info to the failure messages 2008-03-18 06:03:46 +00:00
Jeffrey Yasskin 36dbcb9e98 Add a -S/--slow flag to regrtest to have it print the 10 slowest tests with
their times.
2008-03-18 05:45:40 +00:00
Brett Cannon 08811dde5d Improve the error message for a test that failed on the S-390 Debian buildbot. 2008-03-18 05:43:04 +00:00
Neal Norwitz 819f139c4b Try increasing the timeout to reduce the flakiness of this test. 2008-03-18 05:20:29 +00:00
Jeffrey Yasskin ed414654c4 Speed up test_dict by about 10x by only checking selected dict literal sizes,
instead of every integer from 0 to 400. Exhaustive testing wastes time without
providing enough more assurance that the code is correct.
2008-03-18 05:12:41 +00:00
Jeffrey Yasskin a14585308a Speed test_thread up from 51.328s to 0.081s by reducing its sleep times. We
still sleep at all to make it likely that all threads are active at the same
time.
2008-03-18 04:56:06 +00:00
Jeffrey Yasskin 0bfc896979 Block the "socket.ssl() is deprecated" warning from test_socket_ssl. 2008-03-18 04:29:35 +00:00
Brett Cannon a5573b3153 The output directory for tests that compare against stdout is now gone! 2008-03-18 04:16:06 +00:00
Brett Cannon b7ec8e5a9e test_errno was a no-op test; now it actually tests things and uses unittest. 2008-03-18 03:46:22 +00:00
Brett Cannon 0bb7950829 Move test_extcall to doctest. 2008-03-18 01:58:56 +00:00
Brett Cannon ba17cfc66c Convert test_dummy_threading and test_dbm to unittest. 2008-03-18 01:50:25 +00:00
Brett Cannon 6eeaddc341 Convert test_strftime, test_getargs, and test_pep247 to use unittest. 2008-03-18 01:00:07 +00:00
Eric Smith 0aed07ad80 Added PEP 3127 support to tokenize (with tests); added PEP 3127 to NEWS. 2008-03-17 19:43:40 +00:00
Gregory P. Smith f48f9d38c0 Force zlib.crc32 and zlib.adler32 to return a signed integer on all platforms
regardless of the native sizeof(long) used in the integer object.

This somewhat odd behavior of returning a signed is maintained in 2.x for
compatibility reasons of always returning an integer rather than a long object.

Fixes Issue1202 for Python 2.6
2008-03-17 18:48:05 +00:00
Eric Smith 9ff19b5434 Finished backporting PEP 3127, Integer Literal Support and Syntax.
Added 0b and 0o literals to tokenizer.
Modified PyOS_strtoul to support 0b and 0o inputs.
Modified PyLong_FromString to support guessing 0b and 0o inputs.
Renamed test_hexoct.py to test_int_literal.py and added binary tests.
Added upper and lower case 0b, 0O, and 0X tests to test_int_literal.py
2008-03-17 17:32:20 +00:00
Jeffrey Yasskin b9e15f7555 Make isinstance(OldstyleClass, NewstyleClass) return False instead of raising
an exception. Issue reported by Joseph Armbruster.
2008-03-17 16:31:21 +00:00
Eric Smith 8113ca63b9 Issue 2264: empty float presentation type needs to have at least one digit past the decimal point.
Added "Z" format_char to PyOS_ascii_formatd to support empty float presentation type.
Renamed buf_size in PyOS_ascii_formatd to more accurately reflect it's meaning.
Modified format.__float__ to use the new "Z" format as the default.
Added test cases.
2008-03-17 11:01:01 +00:00
Raymond Hettinger 6b46762974 Removed Exact/Inexact after discussion with Yasskin.
Unlike Scheme where exactness is implemented as taints, the Python
implementation associated exactness with data types.  This created
inheritance issues (making an exact subclass of floats would result
in the subclass having both an explicit Exact registration and an
inherited Inexact registration).  This was a problem for the
decimal module which was designed to span both exact and inexact
arithmetic.  There was also a question of use cases and no examples
were found where ABCs for exactness could be used to improve code.
One other issue was having separate tags for both the affirmative
and negative cases.  This is at odds with the approach taken
elsewhere in the Python (i.e. we don't have an ABC both Hashable
and Unhashable).
2008-03-15 20:02:04 +00:00
Skip Montanaro fc070d2731 add %f format to datetime - issue 1158 2008-03-15 16:04:45 +00:00
Mark Dickinson c23b8a7af9 Issue 705836: Fix struct.pack(">f", 1e40) to behave consistently
across platforms:  it should now raise OverflowError on all
platforms.  (Previously it raised OverflowError only on
non IEEE 754 platforms.)

Also fix the (already existing) test for this behaviour
so that it actually raises TestFailed instead of just
referencing it.
2008-03-14 14:23:37 +00:00
Brett Cannon 6119540d70 Remove a bad test. 2008-03-14 14:03:10 +00:00
Brett Cannon 1f5182b572 Convert test_fcntl to unittest.
Closes issue #2055. Thanks Giampaolo Rodola.
2008-03-13 21:09:28 +00:00
Brett Cannon 4a6e8d669a Move test_gdbm to use unittest.
Closes issue #1960. Thanks Giampaolo Rodola.
2008-03-13 21:02:16 +00:00
Brett Cannon 2e0f9f3dd9 Convert test_contains, test_crypt, and test_select to unittest.
Patch from GHOP 294 by David Marek.
2008-03-13 20:47:41 +00:00
Brett Cannon b8d37359cd Move test_tokenize to doctest.
Done as GHOP 238 by Josip Dzolonga.
2008-03-13 20:33:10 +00:00
Brett Cannon 66865d2ebd Move test_thread over to unittest. Commits GHOP 237.
Thanks Benjamin Peterson for the patch.
2008-03-13 20:27:00 +00:00
Raymond Hettinger 53bdf09343 Issue 2274: Add heapq.heappushpop(). 2008-03-13 19:03:51 +00:00
Raymond Hettinger e8b4b60555 Add recipe to docs. 2008-03-11 00:19:07 +00:00
Neal Norwitz 0098c9d609 Introduce a lock to fix a race condition which caused an exception in the test.
Some buildbots were consistently failing (e.g., amd64).
Also remove a couple of semi-colons.
2008-03-09 19:03:42 +00:00
Jeffrey Yasskin e75f59a578 Progress on issue #1193577 by adding a polling .shutdown() method to
SocketServers. The core of the patch was written by Pedro Werneck, but any bugs
are mine. I've also rearranged the code for timeouts in order to avoid
interfering with the shutdown poll.
2008-03-07 06:22:15 +00:00
Raymond Hettinger 38fb9bee6c Tweak recipes and tests 2008-03-07 01:33:20 +00:00
Raymond Hettinger a1ca94a102 Issue 2246: itertools grouper object did not participate in GC (should be backported). 2008-03-06 22:51:36 +00:00
Raymond Hettinger ad47fa141c More tests. 2008-03-06 20:52:01 +00:00
Martin v. Löwis d2bbe526c3 Patch #2232: os.tmpfile might fail on Windows if the user has no
permission to create files in the root directory.
Will backport to 2.5.
2008-03-06 06:55:22 +00:00
Raymond Hettinger 66f91ea966 C implementation of itertools.permutations(). 2008-03-05 20:59:58 +00:00
Thomas Heller f3c0559b5e Issue 1872: Changed the struct module typecode from 't' to '?', for
compatibility with PEP3118.
2008-03-05 15:34:29 +00:00
Jeffrey Yasskin f28896d0bb Fix test_socketserver on Windows after r61099 added several signal.alarm()
calls (which don't exist on non-Unix platforms).

Thanks to Trent Nelson for the report and patch.
2008-03-05 06:19:56 +00:00
Neal Norwitz 48309d5a4b Make the timeout longer to give slow machines a chance to pass the test
before timing out.  This doesn't change the duration of the test under
normal circumstances.  This is targetted at fixing the spurious failures
on the FreeBSD buildbot primarily.
2008-03-05 05:38:06 +00:00
Neal Norwitz 218072595e Get this test to pass even when there is no sound card in the system.
Patch from Trent Nelson.  (I can't test this.)
2008-03-05 05:14:18 +00:00
Amaury Forgeot d'Arc d21fb4c2e0 Issue#2238: some syntax errors from *args or **kwargs expressions
would give bogus error messages, because of untested exceptions::

    >>> f(**g(1=2))
    XXX undetected error
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'int' object is not iterable

instead of the expected SyntaxError: keyword can't be an expression

Will backport.
2008-03-05 01:50:33 +00:00
Raymond Hettinger d553d856e7 Beef-up docs and tests for itertools. Fix-up end-case for product(). 2008-03-04 04:17:08 +00:00
Georg Brandl 26bc177fe6 15 -> 16, the 2nd 2008-03-03 20:39:00 +00:00
Christian Heimes 728bee897f 15 -> 16 2008-03-03 20:30:29 +00:00
Christian Heimes 608c1d8e87 Since abc._Abstract was replaces by a new type flags the regression test suite fails. I've added a new function inspect.isabstract(). Is the mmethod fine or should I check if object is a instance of type or subclass of object, too? 2008-03-03 18:28:04 +00:00
Brett Cannon 7dbd91811d Add test_main() functions to various tests where it was simple to do. Done so
that regrtest can execute the test_main() directly instead of relying on import
side-effects.
2008-03-03 04:19:29 +00:00
Brett Cannon 963c80fd45 Add a note in the main test class' docstring that the order of execution of the
tests is important.
2008-03-03 03:26:43 +00:00
Brett Cannon bfbf5b3715 Add a note in the main test class' docstring that the order of execution of the
tests is important.
2008-03-03 03:24:48 +00:00
Brett Cannon 6382ffc892 Move test_largefile over to using 'with' statements for open files.
Also rename the driver function to test_main() instead of main_test().
2008-03-03 02:41:40 +00:00
Brett Cannon 56c4debe0d Refactor test_logging to use unittest. This should finally solve the flakiness
issues.

Thanks to Antoine Pitrou for the patch.
2008-03-03 00:38:58 +00:00
Gerhard Häring 1cc60ed214 Updated to pysqlite 2.4.1. Documentation additions will come later. 2008-02-29 22:08:41 +00:00
Raymond Hettinger 08ff6822cc Handle the repeat keyword argument for itertools.product(). 2008-02-29 02:21:48 +00:00
Mark Dickinson 1ddf1d8482 Add __format__ method to Decimal, to support PEP 3101 2008-02-29 02:16:37 +00:00
Raymond Hettinger b4cbc98c39 Add alternate constructor for itertools.chain(). 2008-02-28 22:46:41 +00:00
Raymond Hettinger 05bf6338b8 Have itertools.chain() consume its inputs lazily instead of building a tuple of iterators at the outset. 2008-02-28 22:30:42 +00:00
Christian Heimes acfd8ed0cd Windows fix for signal test - skip it earlier 2008-02-28 21:00:45 +00:00
Jeffrey Yasskin 392c159ad6 Prevent SocketServer.ForkingMixIn from waiting on child processes that it
didn't create, in most cases. When there are max_children handlers running, it
will still wait for any child process, not just handler processes.
2008-02-28 18:03:15 +00:00
Jeffrey Yasskin 180997b2bb Speed test_socketserver up from 28.739s to 0.226s, simplify the logic, and make
sure all tests run even if some fail.
2008-02-28 05:53:18 +00:00
Jeffrey Yasskin 960b9b7a2f Move abc._Abstract into object by adding a new flag Py_TPFLAGS_IS_ABSTRACT,
which forbids constructing types that have it set. The effect is to speed

  ./python.exe -m timeit -s 'import abc' -s 'class Foo(object): __metaclass__ = abc.ABCMeta' 'Foo()'

up from 2.5us to 0.201us. This fixes issue 1762.
2008-02-28 04:45:36 +00:00
Raymond Hettinger 2ab0552b5e Larger test range 2008-02-27 01:08:30 +00:00
Raymond Hettinger 93e804da9c Add itertools.combinations(). 2008-02-26 23:40:50 +00:00
Christian Heimes ea837931cf Patch #1691070 from Roger Upole: Speed up PyArg_ParseTupleAndKeywords() and improve error msg
My tests don't show the promised speed up of 10%. The code is as fast as the old code for simple cases and slightly faster for complex cases with several of args and kwargs. But the patch simplifies the code, too.
2008-02-26 17:23:51 +00:00
Neal Norwitz 75992edfae Speed up this test by about 99%. Remove sleeps and replace with events.
(This may fail on some slow platforms, but we can fix those cases which
should be relatively isolated and easier to find now.)
Move two test cases that didn't require a server to be started
to a separate TestCase.  These tests were taking 3 seconds which
is what the timeout was set to.
2008-02-26 08:04:59 +00:00
Neal Norwitz b0917c14f2 Don't use a hard coded port. This test could hang/fail if the port is in use.
Speed this test up by avoiding a sleep and using the event.
2008-02-26 04:50:37 +00:00
Raymond Hettinger 9d63837e9b Make sure the itertools filter functions give the same performance for func=bool as func=None. 2008-02-25 22:42:32 +00:00
Andrew M. Kuchling aa5e3cea7a Move .setupterm() output so that we don't try to call endwin() if it fails 2008-02-25 16:29:19 +00:00
Brett Cannon c6b5200931 Fix a minor typo in a docstring. 2008-02-25 05:33:33 +00:00
Neal Norwitz 6057b2e645 Create a db_home directory with a unique name so multiple users can
run the test simultaneously.  The simplest thing I found that worked
on both Windows and Unix was to use the PID.  It's unique so should be
sufficient.  This should prevent many of the spurious failures of
the automated tests since they run as different users.

Also cleanup the directory consistenly in the tearDown methods.

It would be nice if someone ensured that the directories are always
created with a consistent name.
2008-02-24 18:47:03 +00:00
Facundo Batista c11cecf3d0 Issue 1742669. Now %d accepts very big float numbers.
Thanks Gabriel Genellina.
2008-02-24 03:17:21 +00:00
Georg Brandl 8c460d5241 #1627: httplib now ignores negative Content-Length headers. 2008-02-24 00:14:24 +00:00
Georg Brandl 2363503074 #900744: If an invalid chunked-encoding header is sent by a server,
httplib will now raise IncompleteRead and close the connection instead
of raising ValueError.
2008-02-24 00:03:22 +00:00
Georg Brandl ebcfd11c16 #1506171: added operator.methodcaller(). 2008-02-23 23:04:35 +00:00
Georg Brandl e2065c65d3 #1826: allow dotted attribute paths in operator.attrgetter. 2008-02-23 23:02:23 +00:00
Facundo Batista c12b9888f7 Added simple test case. Thanks Benjamin Peterson. 2008-02-23 22:54:12 +00:00
Georg Brandl 0bb8567e1e In test_heapq and test_bisect, test both the Python and the C implementation.
Originally written for GHOP by Josip Dzolonga, heavily patched by me.
2008-02-23 22:35:33 +00:00
Jeffrey Yasskin a885c1521a Followup to r61011: Also avoid the reference cycle when the Thread's target
raises an exception.
2008-02-23 20:40:35 +00:00
Jeffrey Yasskin 3414ea9ed9 Prevent classes like:
class RunSelfFunction(object):
        def __init__(self):
            self.thread = threading.Thread(target=self._run)
            self.thread.start()
        def _run(self):
            pass
from creating a permanent cycle between the object and the thread by having the
Thread delete its references to the object when it completes.

As an example of the effect of this bug, paramiko.Transport inherits from
Thread to avoid it.
2008-02-23 19:40:54 +00:00