diff options
author | Zachary Ware <zachary.ware@gmail.com> | 2014-07-16 19:26:09 (GMT) |
---|---|---|
committer | Zachary Ware <zachary.ware@gmail.com> | 2014-07-16 19:26:09 (GMT) |
commit | 2b0a6102974bdcacf8b8c4d964d3f7379878100a (patch) | |
tree | 2a18ee067b685b0a7af77e1d1b2f52138a996fa4 /Lib/test/test_tools/test_sundry.py | |
parent | 52b2bc03693d663fe1d1bdf974c23800232213dd (diff) | |
download | cpython-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.py | 53 |
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() |