Commit b344dd06 authored by Éric Araujo's avatar Éric Araujo

Merged revisions 86236,86240,86332,86340,87271,87273,87447 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

The missing NEWS entries correspond to changes that were made before 3.1.3, but
I think it’s not usual to edit entries of released versions, so I put them at
the top.

........
  r86236 | eric.araujo | 2010-11-06 03:44:43 +0100 (sam., 06 nov. 2010) | 2 lines

  Make sure each test can be run standalone (./python Lib/distutils/tests/x.py)
........
  r86240 | eric.araujo | 2010-11-06 05:11:59 +0100 (sam., 06 nov. 2010) | 2 lines

  Prevent ResourceWarnings in test_gettext
........
  r86332 | eric.araujo | 2010-11-08 19:15:17 +0100 (lun., 08 nov. 2010) | 4 lines

  Add missing NEWS entry for a fix committed by Senthil.

  All recent modifications to distutils should now be covered in NEWS.
........
  r86340 | eric.araujo | 2010-11-08 22:48:23 +0100 (lun., 08 nov. 2010) | 2 lines

  This was actually fixed for the previous alpha.
........
  r87271 | eric.araujo | 2010-12-15 20:09:58 +0100 (mer., 15 déc. 2010) | 2 lines

  Improve trace documentation (#9264).  Patch by Eli Bendersky.
........
  r87273 | eric.araujo | 2010-12-15 20:30:15 +0100 (mer., 15 déc. 2010) | 2 lines

  Use nested method directives, rewrap long lines, fix whitespace.
........
  r87447 | eric.araujo | 2010-12-23 20:13:05 +0100 (jeu., 23 déc. 2010) | 2 lines

  Fix typo in superclass method name
........
parent 65548873
...@@ -13,103 +13,178 @@ or from the command line. ...@@ -13,103 +13,178 @@ or from the command line.
.. _trace-cli: .. _trace-cli:
Command Line Usage Command-Line Usage
------------------ ------------------
The :mod:`trace` module can be invoked from the command line. It can be as The :mod:`trace` module can be invoked from the command line. It can be as
simple as :: simple as ::
python -m trace --count somefile.py ... python -m trace --count -C . somefile.py ...
The above will generate annotated listings of all Python modules imported during The above will execute :file:`somefile.py` and generate annotated listings of
the execution of :file:`somefile.py`. all Python modules imported during the execution into the current directory.
The following command-line arguments are supported: .. program:: trace
.. cmdoption:: --help
Display usage and exit.
.. cmdoption:: --version
Display the version of the module and exit.
Main options
^^^^^^^^^^^^
At least one of the following options must be specified when invoking
:mod:`trace`. The :option:`--listfuncs <-l>` option is mutually exclusive with
the :option:`--trace <-t>` and :option:`--counts <-c>` options . When
:option:`--listfuncs <-l>` is provided, neither :option:`--counts <-c>` nor
:option:`--trace <-t>` are accepted, and vice versa.
.. program:: trace
.. cmdoption:: -c, --count
Produce a set of annotated listing files upon program completion that shows
how many times each statement was executed. See also
:option:`--coverdir <-C>`, :option:`--file <-f>` and
:option:`--no-report <-R>` below.
.. cmdoption:: -t, --trace
:option:`--trace`, :option:`-t`
Display lines as they are executed. Display lines as they are executed.
:option:`--count`, :option:`-c` .. cmdoption:: -l, --listfuncs
Produce a set of annotated listing files upon program completion that shows how
many times each statement was executed. Display the functions executed by running the program.
.. cmdoption:: -r, --report
:option:`--report`, :option:`-r`
Produce an annotated list from an earlier program run that used the Produce an annotated list from an earlier program run that used the
:option:`--count` and :option:`--file` arguments. :option:`--count <-c>` and :option:`--file <-f>` option. This does not
execute any code.
:option:`--no-report`, :option:`-R` .. cmdoption:: -T, --trackcalls
Do not generate annotated listings. This is useful if you intend to make
several runs with :option:`--count` then produce a single set of annotated Display the calling relationships exposed by running the program.
listings at the end.
Modifiers
^^^^^^^^^
.. program:: trace
.. cmdoption:: -f, --file=<file>
:option:`--listfuncs`, :option:`-l` Name of a file to accumulate counts over several tracing runs. Should be
List the functions executed by running the program. used with the :option:`--count <-c>` option.
:option:`--trackcalls`, :option:`-T` .. cmdoption:: -C, --coverdir=<dir>
Generate calling relationships exposed by running the program.
:option:`--file`, :option:`-f` Directory where the report files go. The coverage report for
Name a file containing (or to contain) counts. ``package.module`` is written to file :file:`{dir}/{package}/{module}.cover`.
:option:`--coverdir`, :option:`-C` .. cmdoption:: -m, --missing
Name a directory in which to save annotated listing files.
:option:`--missing`, :option:`-m`
When generating annotated listings, mark lines which were not executed with When generating annotated listings, mark lines which were not executed with
'``>>>>>>``'. ``>>>>>>``.
:option:`--summary`, :option:`-s` .. cmdoption:: -s, --summary
When using :option:`--count` or :option:`--report`, write a brief summary to
stdout for each file processed.
:option:`--ignore-module` When using :option:`--count <-c>` or :option:`--report <-r>`, write a brief
Accepts comma separated list of module names. Ignore each of the named summary to stdout for each file processed.
module and its submodules (if it is a package). May be given
multiple times.
:option:`--ignore-dir` .. cmdoption:: -R, --no-report
Ignore all modules and packages in the named directory and subdirectories
(multiple directories can be joined by os.pathsep). May be given multiple
times.
Do not generate annotated listings. This is useful if you intend to make
several runs with :option:`--count <-c>`, and then produce a single set of
annotated listings at the end.
.. _trace-api: .. cmdoption:: -g, --timing
Prefix each line with the time since the program started. Only used while
tracing.
Filters
^^^^^^^
These options may be repeated multiple times.
.. program:: trace
.. cmdoption:: --ignore-module=<mod>
Ignore each of the given module names and its submodules (if it is a
package). The argument can be a list of names separated by a comma.
Programming Interface .. cmdoption:: --ignore-dir=<dir>
---------------------
Ignore all modules and packages in the named directory and subdirectories.
The argument can be a list of directories separated by :data:`os.pathsep`.
.. class:: Trace(count=1, trace=1, countfuncs=0, countcallers=0, ignoremods=(), ignoredirs=(), infile=None, outfile=None, timing=False) .. _trace-api:
Programmatic Interface
----------------------
.. class:: Trace(count=1, trace=1, countfuncs=0, countcallers=0, ignoremods=(),\
ignoredirs=(), infile=None, outfile=None, timing=False)
Create an object to trace execution of a single statement or expression. All Create an object to trace execution of a single statement or expression. All
parameters are optional. *count* enables counting of line numbers. *trace* parameters are optional. *count* enables counting of line numbers. *trace*
enables line execution tracing. *countfuncs* enables listing of the functions enables line execution tracing. *countfuncs* enables listing of the
called during the run. *countcallers* enables call relationship tracking. functions called during the run. *countcallers* enables call relationship
*ignoremods* is a list of modules or packages to ignore. *ignoredirs* is a list tracking. *ignoremods* is a list of modules or packages to ignore.
of directories whose modules or packages should be ignored. *infile* is the *ignoredirs* is a list of directories whose modules or packages should be
file from which to read stored count information. *outfile* is a file in which ignored. *infile* is the name of the file from which to read stored count
to write updated count information. *timing* enables a timestamp relative information. *outfile* is the name of the file in which to write updated
to when tracing was started to be displayed. count information. *timing* enables a timestamp relative to when tracing was
started to be displayed.
.. method:: run(cmd)
Execute the command and gather statistics from the execution with
the current tracing parameters. *cmd* must be a string or code object,
suitable for passing into :func:`exec`.
.. method:: runctx(cmd, globals=None, locals=None)
Execute the command and gather statistics from the execution with the
current tracing parameters, in the defined global and local
environments. If not defined, *globals* and *locals* default to empty
dictionaries.
.. method:: runfunc(func, *args, **kwds)
Call *func* with the given arguments under control of the :class:`Trace`
object with the current tracing parameters.
.. method:: Trace.run(cmd) .. method:: results()
Run *cmd* under control of the Trace object with the current tracing parameters. Return a :class:`CoverageResults` object that contains the cumulative
results of all previous calls to ``run``, ``runctx`` and ``runfunc``
for the given :class:`Trace` instance. Does not reset the accumulated
trace results.
.. class:: CoverageResults
.. method:: Trace.runctx(cmd, globals=None, locals=None) A container for coverage results, created by :meth:`Trace.results`. Should
not be created directly by the user.
Run *cmd* under control of the Trace object with the current tracing parameters .. method:: update(other)
in the defined global and local environments. If not defined, *globals* and
*locals* default to empty dictionaries.
Merge in data from another :class:`CoverageResults` object.
.. method:: Trace.runfunc(func, *args, **kwds) .. method:: write_results(show_missing=True, summary=False, coverdir=None)
Call *func* with the given arguments under control of the :class:`Trace` object Write coverage results. Set *show_missing* to show lines that had no
with the current tracing parameters. hits. Set *summary* to include in the output the coverage summary per
module. *coverdir* specifies the directory into which the coverage
result files will be output. If ``None``, the results for each source
file are placed in its directory.
This is a simple example showing the use of this module:: A simple example demonstrating the use of the programmatic interface::
import sys import sys
import trace import trace
......
...@@ -15,9 +15,10 @@ by import rather than matching pre-defined names. ...@@ -15,9 +15,10 @@ by import rather than matching pre-defined names.
import os import os
import sys import sys
import unittest import unittest
from test.support import run_unittest
here = os.path.dirname(__file__) here = os.path.dirname(__file__) or os.curdir
def test_suite(): def test_suite():
...@@ -32,4 +33,4 @@ def test_suite(): ...@@ -32,4 +33,4 @@ def test_suite():
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -12,7 +12,7 @@ from distutils.archive_util import (check_archive_formats, make_tarball, ...@@ -12,7 +12,7 @@ from distutils.archive_util import (check_archive_formats, make_tarball,
ARCHIVE_FORMATS) ARCHIVE_FORMATS)
from distutils.spawn import find_executable, spawn from distutils.spawn import find_executable, spawn
from distutils.tests import support from distutils.tests import support
from test.support import check_warnings from test.support import check_warnings, run_unittest
try: try:
import zipfile import zipfile
...@@ -211,4 +211,4 @@ def test_suite(): ...@@ -211,4 +211,4 @@ def test_suite():
return unittest.makeSuite(ArchiveUtilTestCase) return unittest.makeSuite(ArchiveUtilTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -4,6 +4,7 @@ import sys ...@@ -4,6 +4,7 @@ import sys
import os import os
import tempfile import tempfile
import shutil import shutil
from test.support import run_unittest
from distutils.core import Distribution from distutils.core import Distribution
from distutils.command.bdist import bdist from distutils.command.bdist import bdist
...@@ -40,4 +41,4 @@ def test_suite(): ...@@ -40,4 +41,4 @@ def test_suite():
return unittest.makeSuite(BuildTestCase) return unittest.makeSuite(BuildTestCase)
if __name__ == '__main__': if __name__ == '__main__':
test_support.run_unittest(test_suite()) run_unittest(test_suite())
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
import unittest import unittest
import sys import sys
import os import os
from test.support import run_unittest
from distutils.core import Distribution from distutils.core import Distribution
from distutils.command.bdist_dumb import bdist_dumb from distutils.command.bdist_dumb import bdist_dumb
...@@ -77,4 +78,4 @@ def test_suite(): ...@@ -77,4 +78,4 @@ def test_suite():
return unittest.makeSuite(BuildDumbTestCase) return unittest.makeSuite(BuildDumbTestCase)
if __name__ == '__main__': if __name__ == '__main__':
test_support.run_unittest(test_suite()) run_unittest(test_suite())
...@@ -5,6 +5,7 @@ import sys ...@@ -5,6 +5,7 @@ import sys
import os import os
import tempfile import tempfile
import shutil import shutil
from test.support import run_unittest
from distutils.core import Distribution from distutils.core import Distribution
from distutils.command.bdist_rpm import bdist_rpm from distutils.command.bdist_rpm import bdist_rpm
...@@ -122,4 +123,4 @@ def test_suite(): ...@@ -122,4 +123,4 @@ def test_suite():
return unittest.makeSuite(BuildRpmTestCase) return unittest.makeSuite(BuildRpmTestCase)
if __name__ == '__main__': if __name__ == '__main__':
test_support.run_unittest(test_suite()) run_unittest(test_suite())
"""Tests for distutils.command.bdist_wininst.""" """Tests for distutils.command.bdist_wininst."""
import unittest import unittest
from test.support import run_unittest
from distutils.command.bdist_wininst import bdist_wininst from distutils.command.bdist_wininst import bdist_wininst
from distutils.tests import support from distutils.tests import support
...@@ -27,4 +28,4 @@ def test_suite(): ...@@ -27,4 +28,4 @@ def test_suite():
return unittest.makeSuite(BuildWinInstTestCase) return unittest.makeSuite(BuildWinInstTestCase)
if __name__ == '__main__': if __name__ == '__main__':
test_support.run_unittest(test_suite()) run_unittest(test_suite())
...@@ -3,6 +3,8 @@ import unittest ...@@ -3,6 +3,8 @@ import unittest
import os import os
import sys import sys
from test.support import run_unittest
from distutils.command.build_clib import build_clib from distutils.command.build_clib import build_clib
from distutils.errors import DistutilsSetupError from distutils.errors import DistutilsSetupError
from distutils.tests import support from distutils.tests import support
...@@ -141,4 +143,4 @@ def test_suite(): ...@@ -141,4 +143,4 @@ def test_suite():
return unittest.makeSuite(BuildCLibTestCase) return unittest.makeSuite(BuildCLibTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -15,6 +15,7 @@ from distutils.errors import (UnknownFileError, DistutilsSetupError, ...@@ -15,6 +15,7 @@ from distutils.errors import (UnknownFileError, DistutilsSetupError,
import unittest import unittest
from test import support from test import support
from test.support import run_unittest
# http://bugs.python.org/issue4373 # http://bugs.python.org/issue4373
# Don't load the xx module more than once. # Don't load the xx module more than once.
......
...@@ -10,6 +10,7 @@ from distutils.core import Distribution ...@@ -10,6 +10,7 @@ from distutils.core import Distribution
from distutils.errors import DistutilsFileError from distutils.errors import DistutilsFileError
from distutils.tests import support from distutils.tests import support
from test.support import run_unittest
class BuildPyTestCase(support.TempdirManager, class BuildPyTestCase(support.TempdirManager,
...@@ -114,4 +115,4 @@ def test_suite(): ...@@ -114,4 +115,4 @@ def test_suite():
return unittest.makeSuite(BuildPyTestCase) return unittest.makeSuite(BuildPyTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -8,6 +8,7 @@ from distutils.core import Distribution ...@@ -8,6 +8,7 @@ from distutils.core import Distribution
from distutils import sysconfig from distutils import sysconfig
from distutils.tests import support from distutils.tests import support
from test.support import run_unittest
class BuildScriptsTestCase(support.TempdirManager, class BuildScriptsTestCase(support.TempdirManager,
...@@ -108,4 +109,4 @@ def test_suite(): ...@@ -108,4 +109,4 @@ def test_suite():
return unittest.makeSuite(BuildScriptsTestCase) return unittest.makeSuite(BuildScriptsTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
"""Tests for distutils.command.check.""" """Tests for distutils.command.check."""
import unittest import unittest
from test.support import run_unittest
from distutils.command.check import check, HAS_DOCUTILS from distutils.command.check import check, HAS_DOCUTILS
from distutils.tests import support from distutils.tests import support
...@@ -95,4 +96,4 @@ def test_suite(): ...@@ -95,4 +96,4 @@ def test_suite():
return unittest.makeSuite(CheckTestCase) return unittest.makeSuite(CheckTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -6,6 +6,7 @@ import getpass ...@@ -6,6 +6,7 @@ import getpass
from distutils.command.clean import clean from distutils.command.clean import clean
from distutils.tests import support from distutils.tests import support
from test.support import run_unittest
class cleanTestCase(support.TempdirManager, class cleanTestCase(support.TempdirManager,
support.LoggingSilencer, support.LoggingSilencer,
...@@ -47,4 +48,4 @@ def test_suite(): ...@@ -47,4 +48,4 @@ def test_suite():
return unittest.makeSuite(cleanTestCase) return unittest.makeSuite(cleanTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
"""Tests for distutils.cmd.""" """Tests for distutils.cmd."""
import unittest import unittest
import os import os
from test.support import captured_stdout from test.support import captured_stdout, run_unittest
from distutils.cmd import Command from distutils.cmd import Command
from distutils.dist import Distribution from distutils.dist import Distribution
...@@ -99,7 +99,7 @@ class CommandTestCase(unittest.TestCase): ...@@ -99,7 +99,7 @@ class CommandTestCase(unittest.TestCase):
def test_ensure_dirname(self): def test_ensure_dirname(self):
cmd = self.cmd cmd = self.cmd
cmd.option1 = os.path.dirname(__file__) cmd.option1 = os.path.dirname(__file__) or os.curdir
cmd.ensure_dirname('option1') cmd.ensure_dirname('option1')
cmd.option2 = 'xxx' cmd.option2 = 'xxx'
self.assertRaises(DistutilsOptionError, cmd.ensure_dirname, 'option2') self.assertRaises(DistutilsOptionError, cmd.ensure_dirname, 'option2')
...@@ -124,4 +124,4 @@ def test_suite(): ...@@ -124,4 +124,4 @@ def test_suite():
return unittest.makeSuite(CommandTestCase) return unittest.makeSuite(CommandTestCase)
if __name__ == '__main__': if __name__ == '__main__':
test_support.run_unittest(test_suite()) run_unittest(test_suite())
...@@ -10,6 +10,7 @@ from distutils.log import set_threshold ...@@ -10,6 +10,7 @@ from distutils.log import set_threshold
from distutils.log import WARN from distutils.log import WARN
from distutils.tests import support from distutils.tests import support
from test.support import run_unittest
PYPIRC = """\ PYPIRC = """\
[distutils] [distutils]
...@@ -116,4 +117,4 @@ def test_suite(): ...@@ -116,4 +117,4 @@ def test_suite():
return unittest.makeSuite(PyPIRCCommandTestCase) return unittest.makeSuite(PyPIRCCommandTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
import unittest import unittest
import os import os
import sys import sys
from test.support import run_unittest
from distutils.command.config import dump_file, config from distutils.command.config import dump_file, config
from distutils.tests import support from distutils.tests import support
...@@ -86,4 +87,4 @@ def test_suite(): ...@@ -86,4 +87,4 @@ def test_suite():
return unittest.makeSuite(ConfigTestCase) return unittest.makeSuite(ConfigTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -6,7 +6,7 @@ import os ...@@ -6,7 +6,7 @@ import os
import shutil import shutil
import sys import sys
import test.support import test.support
from test.support import captured_stdout from test.support import captured_stdout, run_unittest
import unittest import unittest
from distutils.tests import support from distutils.tests import support
...@@ -105,4 +105,4 @@ def test_suite(): ...@@ -105,4 +105,4 @@ def test_suite():
return unittest.makeSuite(CoreTestCase) return unittest.makeSuite(CoreTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -4,6 +4,7 @@ import sys ...@@ -4,6 +4,7 @@ import sys
import os import os
from io import BytesIO from io import BytesIO
import subprocess import subprocess
from test.support import run_unittest
from distutils import cygwinccompiler from distutils import cygwinccompiler
from distutils.cygwinccompiler import (CygwinCCompiler, check_config_h, from distutils.cygwinccompiler import (CygwinCCompiler, check_config_h,
...@@ -151,4 +152,4 @@ def test_suite(): ...@@ -151,4 +152,4 @@ def test_suite():
return unittest.makeSuite(CygwinCCompilerTestCase) return unittest.makeSuite(CygwinCCompilerTestCase)
if __name__ == '__main__': if __name__ == '__main__':
test_support.run_unittest(test_suite()) run_unittest(test_suite())
...@@ -10,6 +10,7 @@ from distutils.dir_util import (mkpath, remove_tree, create_tree, copy_tree, ...@@ -10,6 +10,7 @@ from distutils.dir_util import (mkpath, remove_tree, create_tree, copy_tree,
from distutils import log from distutils import log
from distutils.tests import support from distutils.tests import support
from test.support import run_unittest
class DirUtilTestCase(support.TempdirManager, unittest.TestCase): class DirUtilTestCase(support.TempdirManager, unittest.TestCase):
...@@ -112,4 +113,4 @@ def test_suite(): ...@@ -112,4 +113,4 @@ def test_suite():
return unittest.makeSuite(DirUtilTestCase) return unittest.makeSuite(DirUtilTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -10,7 +10,7 @@ import textwrap ...@@ -10,7 +10,7 @@ import textwrap
from distutils.dist import Distribution, fix_help_options from distutils.dist import Distribution, fix_help_options
from distutils.cmd import Command from distutils.cmd import Command
from test.support import TESTFN, captured_stdout from test.support import TESTFN, captured_stdout, run_unittest
from distutils.tests import support from distutils.tests import support
...@@ -326,4 +326,4 @@ def test_suite(): ...@@ -326,4 +326,4 @@ def test_suite():
return suite return suite
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -3,7 +3,7 @@ import unittest ...@@ -3,7 +3,7 @@ import unittest
import os import os
import warnings import warnings
from test.support import check_warnings from test.support import check_warnings, run_unittest
from distutils.extension import read_setup_file, Extension from distutils.extension import read_setup_file, Extension
class ExtensionTestCase(unittest.TestCase): class ExtensionTestCase(unittest.TestCase):
...@@ -66,4 +66,4 @@ def test_suite(): ...@@ -66,4 +66,4 @@ def test_suite():
return unittest.makeSuite(ExtensionTestCase) return unittest.makeSuite(ExtensionTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -6,6 +6,7 @@ import shutil ...@@ -6,6 +6,7 @@ import shutil
from distutils.file_util import move_file from distutils.file_util import move_file
from distutils import log from distutils import log
from distutils.tests import support from distutils.tests import support
from test.support import run_unittest
class FileUtilTestCase(support.TempdirManager, unittest.TestCase): class FileUtilTestCase(support.TempdirManager, unittest.TestCase):
...@@ -62,4 +63,4 @@ def test_suite(): ...@@ -62,4 +63,4 @@ def test_suite():
return unittest.makeSuite(FileUtilTestCase) return unittest.makeSuite(FileUtilTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
import unittest import unittest
from distutils.filelist import glob_to_re, FileList from distutils.filelist import glob_to_re, FileList
from test.support import captured_stdout from test.support import captured_stdout, run_unittest
from distutils import debug from distutils import debug
class FileListTestCase(unittest.TestCase): class FileListTestCase(unittest.TestCase):
...@@ -39,4 +39,4 @@ def test_suite(): ...@@ -39,4 +39,4 @@ def test_suite():
return unittest.makeSuite(FileListTestCase) return unittest.makeSuite(FileListTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -6,7 +6,7 @@ import sys ...@@ -6,7 +6,7 @@ import sys
import unittest import unittest
import site import site
from test.support import captured_stdout from test.support import captured_stdout, run_unittest
from distutils.command.install import install from distutils.command.install import install
from distutils.command import install as install_module from distutils.command import install as install_module
...@@ -203,4 +203,4 @@ def test_suite(): ...@@ -203,4 +203,4 @@ def test_suite():
return unittest.makeSuite(InstallTestCase) return unittest.makeSuite(InstallTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -6,6 +6,7 @@ import getpass ...@@ -6,6 +6,7 @@ import getpass
from distutils.command.install_data import install_data from distutils.command.install_data import install_data
from distutils.tests import support from distutils.tests import support
from test.support import run_unittest
class InstallDataTestCase(support.TempdirManager, class InstallDataTestCase(support.TempdirManager,
support.LoggingSilencer, support.LoggingSilencer,
...@@ -73,4 +74,4 @@ def test_suite(): ...@@ -73,4 +74,4 @@ def test_suite():
return unittest.makeSuite(InstallDataTestCase) return unittest.makeSuite(InstallDataTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -6,6 +6,7 @@ import getpass ...@@ -6,6 +6,7 @@ import getpass
from distutils.command.install_headers import install_headers from distutils.command.install_headers import install_headers
from distutils.tests import support from distutils.tests import support
from test.support import run_unittest
class InstallHeadersTestCase(support.TempdirManager, class InstallHeadersTestCase(support.TempdirManager,
support.LoggingSilencer, support.LoggingSilencer,
...@@ -37,4 +38,4 @@ def test_suite(): ...@@ -37,4 +38,4 @@ def test_suite():
return unittest.makeSuite(InstallHeadersTestCase) return unittest.makeSuite(InstallHeadersTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -7,6 +7,7 @@ from distutils.command.install_lib import install_lib ...@@ -7,6 +7,7 @@ from distutils.command.install_lib import install_lib
from distutils.extension import Extension from distutils.extension import Extension
from distutils.tests import support from distutils.tests import support
from distutils.errors import DistutilsOptionError from distutils.errors import DistutilsOptionError
from test.support import run_unittest
class InstallLibTestCase(support.TempdirManager, class InstallLibTestCase(support.TempdirManager,
support.LoggingSilencer, support.LoggingSilencer,
...@@ -98,4 +99,4 @@ def test_suite(): ...@@ -98,4 +99,4 @@ def test_suite():
return unittest.makeSuite(InstallLibTestCase) return unittest.makeSuite(InstallLibTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -7,6 +7,7 @@ from distutils.command.install_scripts import install_scripts ...@@ -7,6 +7,7 @@ from distutils.command.install_scripts import install_scripts
from distutils.core import Distribution from distutils.core import Distribution
from distutils.tests import support from distutils.tests import support
from test.support import run_unittest
class InstallScriptsTestCase(support.TempdirManager, class InstallScriptsTestCase(support.TempdirManager,
...@@ -78,4 +79,4 @@ def test_suite(): ...@@ -78,4 +79,4 @@ def test_suite():
return unittest.makeSuite(InstallScriptsTestCase) return unittest.makeSuite(InstallScriptsTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
import sys import sys
import unittest import unittest
from tempfile import NamedTemporaryFile from tempfile import NamedTemporaryFile
from test.support import run_unittest
from distutils import log from distutils import log
...@@ -33,4 +34,4 @@ def test_suite(): ...@@ -33,4 +34,4 @@ def test_suite():
return unittest.makeSuite(TestLog) return unittest.makeSuite(TestLog)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -5,6 +5,7 @@ import os ...@@ -5,6 +5,7 @@ import os
from distutils.errors import DistutilsPlatformError from distutils.errors import DistutilsPlatformError
from distutils.tests import support from distutils.tests import support
from test.support import run_unittest
_MANIFEST = """\ _MANIFEST = """\
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
...@@ -137,4 +138,4 @@ def test_suite(): ...@@ -137,4 +138,4 @@ def test_suite():
return unittest.makeSuite(msvc9compilerTestCase) return unittest.makeSuite(msvc9compilerTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -6,7 +6,7 @@ import getpass ...@@ -6,7 +6,7 @@ import getpass
import urllib import urllib
import warnings import warnings
from test.support import check_warnings from test.support import check_warnings, run_unittest
from distutils.command import register as register_module from distutils.command import register as register_module
from distutils.command.register import register from distutils.command.register import register
...@@ -259,4 +259,4 @@ def test_suite(): ...@@ -259,4 +259,4 @@ def test_suite():
return unittest.makeSuite(RegisterTestCase) return unittest.makeSuite(RegisterTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -8,11 +8,9 @@ import sys ...@@ -8,11 +8,9 @@ import sys
import tempfile import tempfile
import warnings import warnings
from test.support import check_warnings from test.support import captured_stdout, check_warnings, run_unittest
from test.support import captured_stdout
from distutils.command.sdist import sdist from distutils.command.sdist import sdist, show_formats
from distutils.command.sdist import show_formats
from distutils.core import Distribution from distutils.core import Distribution
from distutils.tests.test_config import PyPIRCCommandTestCase from distutils.tests.test_config import PyPIRCCommandTestCase
from distutils.errors import DistutilsExecError, DistutilsOptionError from distutils.errors import DistutilsExecError, DistutilsOptionError
...@@ -356,4 +354,4 @@ def test_suite(): ...@@ -356,4 +354,4 @@ def test_suite():
return unittest.makeSuite(SDistTestCase) return unittest.makeSuite(SDistTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
import unittest import unittest
import os import os
import time import time
from test.support import captured_stdout from test.support import captured_stdout, run_unittest
from distutils.spawn import _nt_quote_args from distutils.spawn import _nt_quote_args
from distutils.spawn import spawn, find_executable from distutils.spawn import spawn, find_executable
...@@ -55,4 +55,4 @@ def test_suite(): ...@@ -55,4 +55,4 @@ def test_suite():
return unittest.makeSuite(SpawnTestCase) return unittest.makeSuite(SpawnTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -3,6 +3,7 @@ import os ...@@ -3,6 +3,7 @@ import os
import unittest import unittest
from distutils.text_file import TextFile from distutils.text_file import TextFile
from distutils.tests import support from distutils.tests import support
from test.support import run_unittest
TEST_DATA = """# test file TEST_DATA = """# test file
...@@ -103,4 +104,4 @@ def test_suite(): ...@@ -103,4 +104,4 @@ def test_suite():
return unittest.makeSuite(TextFileTestCase) return unittest.makeSuite(TextFileTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
"""Tests for distutils.unixccompiler.""" """Tests for distutils.unixccompiler."""
import sys import sys
import unittest import unittest
from test.support import run_unittest
from distutils import sysconfig from distutils import sysconfig
from distutils.unixccompiler import UnixCCompiler from distutils.unixccompiler import UnixCCompiler
...@@ -118,4 +119,4 @@ def test_suite(): ...@@ -118,4 +119,4 @@ def test_suite():
return unittest.makeSuite(UnixCCompilerTestCase) return unittest.makeSuite(UnixCCompilerTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
"""Tests for distutils.command.upload.""" """Tests for distutils.command.upload."""
import sys
import os import os
import unittest import unittest
import http.client as httpclient import http.client as httpclient
from test.support import run_unittest
from distutils.command.upload import upload from distutils.command.upload import upload
from distutils.core import Distribution from distutils.core import Distribution
from distutils.tests import support
from distutils.tests.test_config import PYPIRC, PyPIRCCommandTestCase from distutils.tests.test_config import PYPIRC, PyPIRCCommandTestCase
PYPIRC_LONG_PASSWORD = """\ PYPIRC_LONG_PASSWORD = """\
...@@ -136,4 +135,4 @@ def test_suite(): ...@@ -136,4 +135,4 @@ def test_suite():
return unittest.makeSuite(uploadTestCase) return unittest.makeSuite(uploadTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -3,6 +3,7 @@ import os ...@@ -3,6 +3,7 @@ import os
import sys import sys
import unittest import unittest
from copy import copy from copy import copy
from test.support import run_unittest
from distutils.errors import DistutilsPlatformError, DistutilsByteCompileError from distutils.errors import DistutilsPlatformError, DistutilsByteCompileError
from distutils.util import (get_platform, convert_path, change_root, from distutils.util import (get_platform, convert_path, change_root,
...@@ -274,4 +275,4 @@ def test_suite(): ...@@ -274,4 +275,4 @@ def test_suite():
return unittest.makeSuite(UtilTestCase) return unittest.makeSuite(UtilTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
import unittest import unittest
from distutils.version import LooseVersion from distutils.version import LooseVersion
from distutils.version import StrictVersion from distutils.version import StrictVersion
from test.support import run_unittest
class VersionTestCase(unittest.TestCase): class VersionTestCase(unittest.TestCase):
...@@ -67,4 +68,4 @@ def test_suite(): ...@@ -67,4 +68,4 @@ def test_suite():
return unittest.makeSuite(VersionTestCase) return unittest.makeSuite(VersionTestCase)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main(defaultTest="test_suite") run_unittest(test_suite())
...@@ -4,6 +4,10 @@ ...@@ -4,6 +4,10 @@
import distutils.versionpredicate import distutils.versionpredicate
import doctest import doctest
from test.support import run_unittest
def test_suite(): def test_suite():
return doctest.DocTestSuite(distutils.versionpredicate) return doctest.DocTestSuite(distutils.versionpredicate)
if __name__ == '__main__':
run_unittest(test_suite())
...@@ -64,15 +64,12 @@ class GettextBaseTest(unittest.TestCase): ...@@ -64,15 +64,12 @@ class GettextBaseTest(unittest.TestCase):
def setUp(self): def setUp(self):
if not os.path.isdir(LOCALEDIR): if not os.path.isdir(LOCALEDIR):
os.makedirs(LOCALEDIR) os.makedirs(LOCALEDIR)
fp = open(MOFILE, 'wb') with open(MOFILE, 'wb') as fp:
fp.write(base64.decodebytes(GNU_MO_DATA)) fp.write(base64.decodebytes(GNU_MO_DATA))
fp.close() with open(UMOFILE, 'wb') as fp:
fp = open(UMOFILE, 'wb')
fp.write(base64.decodebytes(UMO_DATA)) fp.write(base64.decodebytes(UMO_DATA))
fp.close() with open(MMOFILE, 'wb') as fp:
fp = open(MMOFILE, 'wb')
fp.write(base64.decodebytes(MMO_DATA)) fp.write(base64.decodebytes(MMO_DATA))
fp.close()
self.env = support.EnvironmentVarGuard() self.env = support.EnvironmentVarGuard()
self.env['LANGUAGE'] = 'xx' self.env['LANGUAGE'] = 'xx'
gettext._translations.clear() gettext._translations.clear()
...@@ -135,9 +132,8 @@ trggrkg zrffntr pngnybt yvoenel.''') ...@@ -135,9 +132,8 @@ trggrkg zrffntr pngnybt yvoenel.''')
def test_the_alternative_interface(self): def test_the_alternative_interface(self):
eq = self.assertEqual eq = self.assertEqual
# test the alternative interface # test the alternative interface
fp = open(self.mofile, 'rb') with open(self.mofile, 'rb') as fp:
t = gettext.GNUTranslations(fp) t = gettext.GNUTranslations(fp)
fp.close()
# Install the translation object # Install the translation object
t.install() t.install()
eq(_('nudge nudge'), 'wink wink') eq(_('nudge nudge'), 'wink wink')
...@@ -227,9 +223,8 @@ class PluralFormsTestCase(GettextBaseTest): ...@@ -227,9 +223,8 @@ class PluralFormsTestCase(GettextBaseTest):
def test_plural_forms2(self): def test_plural_forms2(self):
eq = self.assertEqual eq = self.assertEqual
fp = open(self.mofile, 'rb') with open(self.mofile, 'rb') as fp:
t = gettext.GNUTranslations(fp) t = gettext.GNUTranslations(fp)
fp.close()
x = t.ngettext('There is %s file', 'There are %s files', 1) x = t.ngettext('There is %s file', 'There are %s files', 1)
eq(x, 'Hay %s fichero') eq(x, 'Hay %s fichero')
x = t.ngettext('There is %s file', 'There are %s files', 2) x = t.ngettext('There is %s file', 'There are %s files', 2)
...@@ -299,11 +294,8 @@ class PluralFormsTestCase(GettextBaseTest): ...@@ -299,11 +294,8 @@ class PluralFormsTestCase(GettextBaseTest):
class UnicodeTranslationsTest(GettextBaseTest): class UnicodeTranslationsTest(GettextBaseTest):
def setUp(self): def setUp(self):
GettextBaseTest.setUp(self) GettextBaseTest.setUp(self)
fp = open(UMOFILE, 'rb') with open(UMOFILE, 'rb') as fp:
try:
self.t = gettext.GNUTranslations(fp) self.t = gettext.GNUTranslations(fp)
finally:
fp.close()
self._ = self.t.gettext self._ = self.t.gettext
def test_unicode_msgid(self): def test_unicode_msgid(self):
...@@ -319,15 +311,12 @@ class UnicodeTranslationsTest(GettextBaseTest): ...@@ -319,15 +311,12 @@ class UnicodeTranslationsTest(GettextBaseTest):
class WeirdMetadataTest(GettextBaseTest): class WeirdMetadataTest(GettextBaseTest):
def setUp(self): def setUp(self):
GettextBaseTest.setUp(self) GettextBaseTest.setUp(self)
fp = open(MMOFILE, 'rb') with open(MMOFILE, 'rb') as fp:
try:
try: try:
self.t = gettext.GNUTranslations(fp) self.t = gettext.GNUTranslations(fp)
except: except:
self.tearDown() self.tearDown()
raise raise
finally:
fp.close()
def test_weird_metadata(self): def test_weird_metadata(self):
info = self.t.info() info = self.t.info()
......
...@@ -6,7 +6,7 @@ class TupleTest(seq_tests.CommonTest): ...@@ -6,7 +6,7 @@ class TupleTest(seq_tests.CommonTest):
type2test = tuple type2test = tuple
def test_constructors(self): def test_constructors(self):
super().test_len() super().test_constructors()
# calling built-in types without argument must return empty # calling built-in types without argument must return empty
self.assertEqual(tuple(), ()) self.assertEqual(tuple(), ())
t0_3 = (0, 1, 2, 3) t0_3 = (0, 1, 2, 3)
......
...@@ -37,6 +37,10 @@ Core and Builtins ...@@ -37,6 +37,10 @@ Core and Builtins
Library Library
------- -------
- Issue #2236: distutils' mkpath ignored the mode parameter.
- Fix typo in one sdist option (medata-check).
- Issue #11089: Fix performance issue limiting the use of ConfigParser() - Issue #11089: Fix performance issue limiting the use of ConfigParser()
with large config files. with large config files.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment