summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_tools/test_sundry.py
diff options
context:
space:
mode:
authorZachary Ware <zachary.ware@gmail.com>2014-07-16 19:26:09 (GMT)
committerZachary Ware <zachary.ware@gmail.com>2014-07-16 19:26:09 (GMT)
commit2b0a6102974bdcacf8b8c4d964d3f7379878100a (patch)
tree2a18ee067b685b0a7af77e1d1b2f52138a996fa4 /Lib/test/test_tools/test_sundry.py
parent52b2bc03693d663fe1d1bdf974c23800232213dd (diff)
downloadcpython-2b0a6102974bdcacf8b8c4d964d3f7379878100a.zip
cpython-2b0a6102974bdcacf8b8c4d964d3f7379878100a.tar.gz
cpython-2b0a6102974bdcacf8b8c4d964d3f7379878100a.tar.bz2
Issue #21918: Convert test_tools.py to a sub-package of test.
Diffstat (limited to 'Lib/test/test_tools/test_sundry.py')
-rw-r--r--Lib/test/test_tools/test_sundry.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/Lib/test/test_tools/test_sundry.py b/Lib/test/test_tools/test_sundry.py
new file mode 100644
index 0000000..39e541b
--- /dev/null
+++ b/Lib/test/test_tools/test_sundry.py
@@ -0,0 +1,53 @@
+"""Tests for scripts in the Tools directory.
+
+This file contains extremely basic regression tests for the scripts found in
+the Tools directory of a Python checkout or tarball which don't have separate
+tests of their own, such as h2py.py.
+"""
+
+import os
+import sys
+import unittest
+from test import support
+
+from test.test_tools import scriptsdir, import_tool, skip_if_missing
+
+skip_if_missing()
+
+class TestSundryScripts(unittest.TestCase):
+ # At least make sure the rest don't have syntax errors. When tests are
+ # added for a script it should be added to the whitelist below.
+
+ # scripts that have independent tests.
+ whitelist = ['reindent', 'pdeps', 'gprof2html', 'md5sum']
+ # scripts that can't be imported without running
+ blacklist = ['make_ctype']
+ # scripts that use windows-only modules
+ windows_only = ['win_add2path']
+ # blacklisted for other reasons
+ other = ['analyze_dxp']
+
+ skiplist = blacklist + whitelist + windows_only + other
+
+ def test_sundry(self):
+ for fn in os.listdir(scriptsdir):
+ name = fn[:-3]
+ if fn.endswith('.py') and name not in self.skiplist:
+ import_tool(name)
+
+ @unittest.skipIf(sys.platform != "win32", "Windows-only test")
+ def test_sundry_windows(self):
+ for name in self.windows_only:
+ import_tool(name)
+
+ @unittest.skipIf(not support.threading, "test requires _thread module")
+ def test_analyze_dxp_import(self):
+ if hasattr(sys, 'getdxp'):
+ import_tool('analyze_dxp')
+ else:
+ with self.assertRaises(RuntimeError):
+ import_tool('analyze_dxp')
+
+
+if __name__ == '__main__':
+ unittest.main()