Viewing file: test_sundry.py (1.85 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
"""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. """
import os import sys import unittest from test.support import import_helper
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 allowlist below.
# scripts that have independent tests. allowlist = ['reindent', 'pdeps', 'gprof2html', 'md5sum'] # scripts that can't be imported without running denylist = ['make_ctype'] # scripts that use windows-only modules windows_only = ['win_add2path'] # denylisted for other reasons other = ['analyze_dxp', '2to3']
skiplist = denylist + allowlist + windows_only + other
def test_sundry(self): old_modules = import_helper.modules_setup() try: for fn in os.listdir(scriptsdir): if not fn.endswith('.py'): continue
name = fn[:-3] if name in self.skiplist: continue
import_tool(name) finally: # Unload all modules loaded in this test import_helper.modules_cleanup(*old_modules)
@unittest.skipIf(sys.platform != "win32", "Windows-only test") def test_sundry_windows(self): for name in self.windows_only: import_tool(name)
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()
|