003 File Manager
Current Path:
/usr/local/lib/python3.8/distutils/tests
usr
/
local
/
lib
/
python3.8
/
distutils
/
tests
/
📁
..
📄
Setup.sample
(2.2 KB)
📄
__init__.py
(1.31 KB)
📁
__pycache__
📄
includetest.rst
(25 B)
📄
support.py
(6.39 KB)
📄
test_archive_util.py
(13.97 KB)
📄
test_bdist.py
(1.85 KB)
📄
test_bdist_dumb.py
(2.84 KB)
📄
test_bdist_msi.py
(728 B)
📄
test_bdist_rpm.py
(4.89 KB)
📄
test_bdist_wininst.py
(1.36 KB)
📄
test_build.py
(1.92 KB)
📄
test_build_clib.py
(4.57 KB)
📄
test_build_ext.py
(20.15 KB)
📄
test_build_py.py
(6.19 KB)
📄
test_build_scripts.py
(3.51 KB)
📄
test_check.py
(5.58 KB)
📄
test_clean.py
(1.41 KB)
📄
test_cmd.py
(3.75 KB)
📄
test_config.py
(3.8 KB)
📄
test_config_cmd.py
(2.97 KB)
📄
test_core.py
(3.98 KB)
📄
test_cygwinccompiler.py
(5.5 KB)
📄
test_dep_util.py
(2.75 KB)
📄
test_dir_util.py
(4.54 KB)
📄
test_dist.py
(18.65 KB)
📄
test_extension.py
(2.7 KB)
📄
test_file_util.py
(4.31 KB)
📄
test_filelist.py
(11.21 KB)
📄
test_install.py
(8.33 KB)
📄
test_install_data.py
(2.52 KB)
📄
test_install_headers.py
(1.21 KB)
📄
test_install_lib.py
(4.05 KB)
📄
test_install_scripts.py
(2.56 KB)
📄
test_log.py
(1.82 KB)
📄
test_msvc9compiler.py
(5.9 KB)
📄
test_msvccompiler.py
(2.78 KB)
📄
test_register.py
(9.54 KB)
📄
test_sdist.py
(16.65 KB)
📄
test_spawn.py
(5.53 KB)
📄
test_sysconfig.py
(10.79 KB)
📄
test_text_file.py
(3.36 KB)
📄
test_unixccompiler.py
(4.52 KB)
📄
test_upload.py
(6.38 KB)
📄
test_util.py
(11.3 KB)
📄
test_version.py
(2.55 KB)
📄
test_versionpredicate.py
(280 B)
📄
xxmodule.c
(12.61 KB)
Editing: test_spawn.py
"""Tests for distutils.spawn.""" import os import stat import sys import unittest from unittest import mock from test.support import run_unittest, unix_shell from test import support as test_support from distutils.spawn import find_executable from distutils.spawn import _nt_quote_args from distutils.spawn import spawn from distutils.errors import DistutilsExecError from distutils.tests import support class SpawnTestCase(support.TempdirManager, support.LoggingSilencer, unittest.TestCase): def test_nt_quote_args(self): for (args, wanted) in ((['with space', 'nospace'], ['"with space"', 'nospace']), (['nochange', 'nospace'], ['nochange', 'nospace'])): res = _nt_quote_args(args) self.assertEqual(res, wanted) @unittest.skipUnless(os.name in ('nt', 'posix'), 'Runs only under posix or nt') def test_spawn(self): tmpdir = self.mkdtemp() # creating something executable # through the shell that returns 1 if sys.platform != 'win32': exe = os.path.join(tmpdir, 'foo.sh') self.write_file(exe, '#!%s\nexit 1' % unix_shell) else: exe = os.path.join(tmpdir, 'foo.bat') self.write_file(exe, 'exit 1') os.chmod(exe, 0o777) self.assertRaises(DistutilsExecError, spawn, [exe]) # now something that works if sys.platform != 'win32': exe = os.path.join(tmpdir, 'foo.sh') self.write_file(exe, '#!%s\nexit 0' % unix_shell) else: exe = os.path.join(tmpdir, 'foo.bat') self.write_file(exe, 'exit 0') os.chmod(exe, 0o777) spawn([exe]) # should work without any error def test_find_executable(self): with test_support.temp_dir() as tmp_dir: # use TESTFN to get a pseudo-unique filename program_noeext = test_support.TESTFN # Give the temporary program an ".exe" suffix for all. # It's needed on Windows and not harmful on other platforms. program = program_noeext + ".exe" filename = os.path.join(tmp_dir, program) with open(filename, "wb"): pass os.chmod(filename, stat.S_IXUSR) # test path parameter rv = find_executable(program, path=tmp_dir) self.assertEqual(rv, filename) if sys.platform == 'win32': # test without ".exe" extension rv = find_executable(program_noeext, path=tmp_dir) self.assertEqual(rv, filename) # test find in the current directory with test_support.change_cwd(tmp_dir): rv = find_executable(program) self.assertEqual(rv, program) # test non-existent program dont_exist_program = "dontexist_" + program rv = find_executable(dont_exist_program , path=tmp_dir) self.assertIsNone(rv) # PATH='': no match, except in the current directory with test_support.EnvironmentVarGuard() as env: env['PATH'] = '' with unittest.mock.patch('distutils.spawn.os.confstr', return_value=tmp_dir, create=True), \ unittest.mock.patch('distutils.spawn.os.defpath', tmp_dir): rv = find_executable(program) self.assertIsNone(rv) # look in current directory with test_support.change_cwd(tmp_dir): rv = find_executable(program) self.assertEqual(rv, program) # PATH=':': explicitly looks in the current directory with test_support.EnvironmentVarGuard() as env: env['PATH'] = os.pathsep with unittest.mock.patch('distutils.spawn.os.confstr', return_value='', create=True), \ unittest.mock.patch('distutils.spawn.os.defpath', ''): rv = find_executable(program) self.assertIsNone(rv) # look in current directory with test_support.change_cwd(tmp_dir): rv = find_executable(program) self.assertEqual(rv, program) # missing PATH: test os.confstr("CS_PATH") and os.defpath with test_support.EnvironmentVarGuard() as env: env.pop('PATH', None) # without confstr with unittest.mock.patch('distutils.spawn.os.confstr', side_effect=ValueError, create=True), \ unittest.mock.patch('distutils.spawn.os.defpath', tmp_dir): rv = find_executable(program) self.assertEqual(rv, filename) # with confstr with unittest.mock.patch('distutils.spawn.os.confstr', return_value=tmp_dir, create=True), \ unittest.mock.patch('distutils.spawn.os.defpath', ''): rv = find_executable(program) self.assertEqual(rv, filename) def test_suite(): return unittest.makeSuite(SpawnTestCase) if __name__ == "__main__": run_unittest(test_suite())
Upload File
Create Folder