Commit graph

203 commits

Author SHA1 Message Date
Brett Cannon
7a54073a56 Issue #10992: make tests pass when run under coverage.
Various tests fail when run under coverage. A primary culprit is refcount tests
which fail as the counts are thrown off by the coverage code. A new decorator
-- test.support.refcount_test -- is used to decorate tests which test refcounts
and to skip them when running under coverage. Other tests simply fail because
of changes in the system (e.g., __local__ suddenly appearing).

Thanks to Kristian Vlaardingerbroek for helping to diagnose the test failures.
2011-02-22 03:04:06 +00:00
Brett Cannon
31f5929c1e Issue #10990: Prevent tests from clobbering a set trace function.
Many tests simply didn't care if they unset a pre-existing trace function. This
made test coverage impossible. This patch fixes various tests to put back any
pre-existing trace function. It also introduces test.support.no_tracing as a
decorator which will temporarily unset the trace function for tests which
simply fail otherwise.

Thanks to Kristian Vlaardingerbroek for helping to find the cause of various
trace function unsets.
2011-02-21 19:29:56 +00:00
Antoine Pitrou
78ae1fb1b9 Merged revisions 87968,87971-87975 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r87968 | antoine.pitrou | 2011-01-12 21:46:37 +0100 (mer., 12 janv. 2011) | 4 lines

  Fix the expected memory use of utf-8 encoding.  Also, release the
  one reference to a huge object even when an exception is raised.
........
  r87971 | antoine.pitrou | 2011-01-12 22:19:59 +0100 (mer., 12 janv. 2011) | 3 lines

  Make test skipping message nicer, and remove the rather useless "overhead" parameter.
........
  r87972 | antoine.pitrou | 2011-01-12 22:40:20 +0100 (mer., 12 janv. 2011) | 3 lines

  Fix @bigmemtest when no limit is given by the user (oops)
........
  r87973 | antoine.pitrou | 2011-01-12 22:50:44 +0100 (mer., 12 janv. 2011) | 3 lines

  More informative skip message in @bigaddrspace
........
  r87974 | antoine.pitrou | 2011-01-12 22:58:39 +0100 (mer., 12 janv. 2011) | 3 lines

  A better message again
........
  r87975 | antoine.pitrou | 2011-01-12 23:02:45 +0100 (mer., 12 janv. 2011) | 3 lines

  Fix test_bigaddrspace (some tests didn't trigger the expected MemoryError)
........
2011-01-14 20:19:57 +00:00
Antoine Pitrou
98c62bd1c8 A better message again 2011-01-12 21:58:39 +00:00
Antoine Pitrou
e0d3f8a654 More informative skip message in @bigaddrspace 2011-01-12 21:50:44 +00:00
Antoine Pitrou
9dd1171305 Fix @bigmemtest when no limit is given by the user (oops) 2011-01-12 21:40:20 +00:00
Antoine Pitrou
aca5fa7010 Make test skipping message nicer, and remove the rather useless "overhead" parameter. 2011-01-12 21:19:59 +00:00
Eric Smith
a3e8f3d85f Typo. 2011-01-11 10:24:34 +00:00
Nick Coghlan
90be5fb817 Issue 10556: test_zipimport_support implicitly imports too many modules (including _ssl) to safely clobber sys.modules after each test 2011-01-11 10:05:20 +00:00
Antoine Pitrou
50778ab4c2 Merged revisions 87861,87863 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r87861 | antoine.pitrou | 2011-01-08 11:23:29 +0100 (sam., 08 janv. 2011) | 3 lines

  Fix test_ssl after r87849
........
  r87863 | antoine.pitrou | 2011-01-08 11:28:11 +0100 (sam., 08 janv. 2011) | 3 lines

  Add EHOSTUNREACH ('No route to host') to the errnos trapped by transient_internet().
........
2011-01-08 10:31:09 +00:00
Antoine Pitrou
5d938cb366 Add EHOSTUNREACH ('No route to host') to the errnos trapped by transient_internet(). 2011-01-08 10:28:11 +00:00
Antoine Pitrou
f50a6b6b6d Merged revisions 87695 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r87695 | antoine.pitrou | 2011-01-03 19:23:55 +0100 (lun., 03 janv. 2011) | 5 lines

  Issue #10806, issue #9905: Fix subprocess pipes when some of the standard
  file descriptors (0, 1, 2) are closed in the parent process.  Initial
  patch by Ross Lagerwall.
........
2011-01-03 18:36:36 +00:00
Brian Curtin
57160d7204 Fix #9333 on Windows XP, where os.symlink is not a possibility. 2010-12-29 02:04:28 +00:00
Brian Curtin
3b4499c5c7 Fix #9333. The symlink function is always available now, raising OSError
when the user doesn't hold the symbolic link privilege rather than hiding it.
2010-12-28 14:31:47 +00:00
Nick Coghlan
6b22f3fa17 Issue #10188 (partial resolution): tidy up some behaviour in the new tempfile.TemporaryDirectory context manager 2010-12-12 15:24:21 +00:00
Vinay Sajip
40e86f0df2 Fied typo 2010-12-10 09:11:23 +00:00
Vinay Sajip
129fd04440 test.support: Added TestHandler and Matcher classes for better support of assertions about logging. 2010-12-10 08:19:38 +00:00
Eric Smith
44588b45d2 More issue #10624: Add requires_IEEE_754 to __all__. 2010-12-04 17:12:41 +00:00
Eric Smith
f24a0d90a9 Issue #10624: Move requires_IEEE_754 into test.support. I'll fix up other uses of it shortly. 2010-12-04 13:32:18 +00:00
Brian Curtin
52173d4959 Fix #9333. Expose os.symlink on Windows only when usable.
In order to create symlinks on Windows, SeCreateSymbolicLinkPrivilege
is an account privilege that is required to be held by the user. Not only
must the privilege be enabled for the account, the activated privileges for
the currently running application must be adjusted to enable the requested
privilege.

Rather than exposing an additional function to be called prior to the user's
first os.symlink call, we handle the AdjustTokenPrivileges Windows API call
internally and only expose os.symlink when the privilege escalation was
successful.

Due to the change of only exposing os.symlink when it's available, we can
go back to the original test skipping methods of checking via `hasattr`.
2010-12-02 18:29:18 +00:00
Antoine Pitrou
64474542eb PY_CFLAGS doesn't exist under Windows 2010-10-31 11:34:47 +00:00
Benjamin Peterson
65c66ab255 make gdb skip expected 2010-10-29 21:31:35 +00:00
Antoine Pitrou
31e08a4df6 Make check_warnings error messages more informative 2010-10-29 11:54:03 +00:00
Antoine Pitrou
2731494720 Merged revisions 85482 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85482 | antoine.pitrou | 2010-10-14 17:34:31 +0200 (jeu., 14 oct. 2010) | 4 lines

  Replace the "compiler" resource with the more generic "cpu", so
  as to mark CPU-heavy tests.
........
2010-10-14 15:41:23 +00:00
Antoine Pitrou
5bc4fa7a49 Replace the "compiler" resource with the more generic "cpu", so
as to mark CPU-heavy tests.
2010-10-14 15:34:31 +00:00
Antoine Pitrou
1b03f2ca83 Inherit interpreter flags in parallel testing 2010-10-14 11:12:00 +00:00
Victor Stinner
d24fc5d7c4 test_sys: Remove workaround #8611
It looks like it is no more needed: Python 3.2 is slowly able to support
non-ascii paths with an ascii locale.
2010-10-13 23:41:57 +00:00
Victor Stinner
0ea31a9355 Recorded merge of revisions 83987 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83987 | victor.stinner | 2010-08-14 00:23:24 +0200 (sam., 14 août 2010) | 2 lines

  Fix a typo: TESTFN_UNENCODEABLE => TESTFN_UNENCODABLE
........
2010-09-10 12:32:58 +00:00
Victor Stinner
0d823ed434 Merged revisions 84666 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84666 | victor.stinner | 2010-09-10 13:19:59 +0200 (ven., 10 sept. 2010) | 2 lines

  Issue #9819: fix TESTFN_UNENCODABLE for japanese code page
........
2010-09-10 12:19:37 +00:00
Victor Stinner
8ce7df67de Issue #9819: fix TESTFN_UNENCODABLE for japanese code page 2010-09-10 11:19:59 +00:00
Antoine Pitrou
dae0c63fc8 Merged revisions 84604 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84604 | antoine.pitrou | 2010-09-07 23:43:31 +0200 (mar., 07 sept. 2010) | 3 lines

  Also catch some gaierrors
........
2010-09-07 21:44:17 +00:00
Antoine Pitrou
2673c5bf5e Also catch some gaierrors 2010-09-07 21:43:31 +00:00
Antoine Pitrou
4d7979be72 Merged revisions 84597-84599 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84597 | antoine.pitrou | 2010-09-07 22:42:19 +0200 (mar., 07 sept. 2010) | 5 lines

  Issue #8574: better implementation of test.support.transient_internet().
  Original patch by Victor.
........
  r84598 | antoine.pitrou | 2010-09-07 23:05:49 +0200 (mar., 07 sept. 2010) | 6 lines

  Issue #9792: In case of connection failure, socket.create_connection()
  would swallow the exception and raise a new one, making it impossible
  to fetch the original errno, or to filter timeout errors.  Now the
  original error is re-raised.
........
  r84599 | antoine.pitrou | 2010-09-07 23:09:09 +0200 (mar., 07 sept. 2010) | 4 lines

  Improve transient_internet() again to detect more network errors,
  and use it in test_robotparser. Fixes #8574.
........
2010-09-07 21:22:56 +00:00
Antoine Pitrou
8bc09039ed Improve transient_internet() again to detect more network errors,
and use it in test_robotparser. Fixes #8574.
2010-09-07 21:09:09 +00:00
Antoine Pitrou
a88c83cbab Issue #8574: better implementation of test.support.transient_internet().
Original patch by Victor.
2010-09-07 20:42:19 +00:00
Victor Stinner
c44abb127b Workaround issue #8611 in test_undecodable_code() of test_sys
Write test.support.workaroundIssue8611() function so it will be easier to
remove this workaround from all tests.
2010-08-20 16:52:14 +00:00
Victor Stinner
74a833fa96 Decompose TESTFN_UNICODE on Mac OS X 2010-08-18 21:06:23 +00:00
Victor Stinner
d91df1a7a9 Improve PEP 383 tests (in test_os)
* Use the current filesystem encoding instead of always using utf-8
 * Enable the test on Mac OS X
 * Use TESTFN_UNENCODABLE and TESTFN_UNICODE instead of arbitrary filenames
 * To decode a filename, use strict error handler instead surrogateescape for
   mbcs encoding (on Windows)
 * Use TESTFN_UNENCODABLE (if available) for the directory name

Skip the test if no non-ascii filename can be created.
2010-08-18 10:56:19 +00:00
Nick Coghlan
d26c18adcc Issue #8202: Set sys.argv[0] to -m rather than -c while searching for the module to execute. Also updates all the cmd_line_script tests to validate the setting of sys.path[0] and the current working directory 2010-08-17 13:06:11 +00:00
Victor Stinner
a0241c8587 Fix TESTFN_UNENCODABLE of test.support on Mac OS X 2010-08-15 19:28:21 +00:00
Victor Stinner
03c9e1dbc2 Mac OS X denies unencodable filenames (invalid utf-8) 2010-08-14 17:35:20 +00:00
Victor Stinner
09c449c7de Fix a typo: TESTFN_UNENCODEABLE => TESTFN_UNENCODABLE 2010-08-13 22:23:24 +00:00
Victor Stinner
b4b8eb9163 Oops, I did it again: add missing \ removed in previous commit 2010-08-13 13:47:18 +00:00
Victor Stinner
11fd4e962d Oops, create TESTFN_UNENCODEABLE from TEST_FN, not TESTFN_UNICODE
test_imp fails on Linux with C locale because TESTFN_UNICODE is not encodable
to ascii.
2010-08-13 13:45:00 +00:00
Victor Stinner
3d85a6fa04 Set TESTFN_UNENCODEABLE on non-Windows OSes
* Use 0xff byte on non-Windows OSes
 * mbcs is now really strict by default: i closed the issue #850997, so use the
   filesystem encoding and not Latin-1
 * Rename TESTFN_UNICODE_UNENCODEABLE to TESTFN_UNENCODEABLE
2010-08-13 13:02:04 +00:00
Antoine Pitrou
62f68ed31f Factor out stripping of interpreter debug output in test.support.strip_python_stderr() 2010-08-04 11:48:56 +00:00
Victor Stinner
3f682adcf2 Partial port of r78919 from trunk: add subdir argument to the findfile helper 2010-07-13 23:14:46 +00:00
Alexander Belopolsky
0a5d9a29bb Merged revisions 82850 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r82850 | alexander.belopolsky | 2010-07-13 10:50:16 -0400 (Tue, 13 Jul 2010) | 1 line

  Set sys.modules[name] to None instead of 0 to block module import.
........
2010-07-13 14:55:04 +00:00
Alexander Belopolsky
903396ee66 Set sys.modules[name] to None instead of 0 to block module import. 2010-07-13 14:50:16 +00:00
Brian Curtin
d40e6f70a5 Implement #1578269. Patch by Jason R. Coombs.
Added Windows support for os.symlink when run on Windows 6.0 or greater,
aka Vista. Previous Windows versions will raise NotImplementedError
when trying to symlink.

Includes numerous test updates and additions to test_os, including
a symlink_support module because of the fact that privilege escalation
is required in order to run the tests to ensure that the user is able
to create symlinks. By default, accounts do not have the required
privilege, so the escalation code will have to be exposed later (or
documented on how to do so). I'll be following up with that work next.

Note that the tests use ctypes, which was agreed on during the PyCon
language summit.
2010-07-08 21:39:08 +00:00