[Python-checkins] cpython (2.7): Add test file for scripts in Tools (#13447).
eric.araujo
python-checkins at python.org
Sat Feb 25 16:25:08 CET 2012
http://hg.python.org/cpython/rev/020364d3e359
changeset: 75257:020364d3e359
branch: 2.7
user: Éric Araujo <merwok at netwok.org>
date: Sat Feb 25 16:24:59 2012 +0100
summary:
Add test file for scripts in Tools (#13447).
When people find bugs in scripts such as reindent.py, msgfmt.py or
pygettext.py, we have to try to reproduce the bug manually, apply a fix
and test manually again. The alternative is to only read the code and
trust that it works. This test file is a way to stop that
unsatisfactory state of things and write proper unit tests instead.
files:
Lib/test/test_tools.py | 39 ++++++++++++++++++++++++++++++
Misc/NEWS | 3 ++
2 files changed, 42 insertions(+), 0 deletions(-)
diff --git a/Lib/test/test_tools.py b/Lib/test/test_tools.py
new file mode 100644
--- /dev/null
+++ b/Lib/test/test_tools.py
@@ -0,0 +1,39 @@
+"""Tests for scripts in the Tools directory.
+
+This file contains regression tests for some of the scripts found in the
+Tools directory of a Python checkout or tarball, such as reindent.py.
+"""
+
+import os
+import unittest
+import sysconfig
+from test import test_support
+from test.script_helper import assert_python_ok
+
+if not sysconfig.is_python_build():
+ # XXX some installers do contain the tools, should we detect that
+ # and run the tests in that case too?
+ raise unittest.SkipTest('test irrelevant for an installed Python')
+
+srcdir = sysconfig.get_config_var('projectbase')
+basepath = os.path.join(os.getcwd(), srcdir, 'Tools')
+
+
+class ReindentTests(unittest.TestCase):
+ script = os.path.join(basepath, 'scripts', 'reindent.py')
+
+ def test_noargs(self):
+ assert_python_ok(self.script)
+
+ def test_help(self):
+ rc, out, err = assert_python_ok(self.script, '-h')
+ self.assertEqual(out, b'')
+ self.assertGreater(err, b'')
+
+
+def test_main():
+ test_support.run_unittest(ReindentTests)
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -98,6 +98,9 @@
Library
-------
+- Issue #13447: Add a test file to host regression tests for bugs in the
+ scripts found in the Tools directory.
+
- Issue #6884: Fix long-standing bugs with MANIFEST.in parsing in distutils
on Windows.
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list