mirror of
https://github.com/python/cpython.git
synced 2025-10-09 08:31:26 +00:00
improved distutils.spawn test coverage + cleaned it up
This commit is contained in:
parent
36c3928fdc
commit
abb4ec6dc4
2 changed files with 74 additions and 60 deletions
|
@ -1,8 +1,17 @@
|
|||
"""Tests for distutils.spawn."""
|
||||
import unittest
|
||||
from distutils.spawn import _nt_quote_args
|
||||
import os
|
||||
import time
|
||||
from test.test_support import captured_stdout
|
||||
|
||||
class SpawnTestCase(unittest.TestCase):
|
||||
from distutils.spawn import _nt_quote_args
|
||||
from distutils.spawn import spawn, find_executable
|
||||
from distutils.errors import DistutilsExecError
|
||||
from distutils.tests import support
|
||||
|
||||
class SpawnTestCase(support.TempdirManager,
|
||||
support.LoggingSilencer,
|
||||
unittest.TestCase):
|
||||
|
||||
def test_nt_quote_args(self):
|
||||
|
||||
|
@ -13,6 +22,37 @@ class SpawnTestCase(unittest.TestCase):
|
|||
res = _nt_quote_args(args)
|
||||
self.assertEquals(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 os.name == 'posix':
|
||||
exe = os.path.join(tmpdir, 'foo.sh')
|
||||
self.write_file(exe, '#!/bin/sh\nexit 1')
|
||||
os.chmod(exe, 0777)
|
||||
else:
|
||||
exe = os.path.join(tmpdir, 'foo.bat')
|
||||
self.write_file(exe, 'exit 1')
|
||||
|
||||
os.chmod(exe, 0777)
|
||||
self.assertRaises(DistutilsExecError, spawn, [exe])
|
||||
|
||||
# now something that works
|
||||
if os.name == 'posix':
|
||||
exe = os.path.join(tmpdir, 'foo.sh')
|
||||
self.write_file(exe, '#!/bin/sh\nexit 0')
|
||||
os.chmod(exe, 0777)
|
||||
else:
|
||||
exe = os.path.join(tmpdir, 'foo.bat')
|
||||
self.write_file(exe, 'exit 0')
|
||||
|
||||
os.chmod(exe, 0777)
|
||||
spawn([exe]) # should work without any error
|
||||
|
||||
def test_suite():
|
||||
return unittest.makeSuite(SpawnTestCase)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue