49 lines
1.3 KiB
Python
49 lines
1.3 KiB
Python
|
|
import os
|
|
from tendo.tee import quote_command, system, system2
|
|
|
|
|
|
def test_1():
|
|
"""No CMD os.system()
|
|
|
|
1 sort /? ok ok
|
|
2 "sort" /? ok ok
|
|
3 sort "/?" ok ok
|
|
4 "sort" "/?" ok [bad]
|
|
5 ""sort /?"" ok [bad]
|
|
6 "sort /?" [bad] ok
|
|
7 "sort "/?"" [bad] ok
|
|
8 ""sort" "/?"" [bad] ok
|
|
"""
|
|
|
|
quotes = {
|
|
'dir >nul': 'dir >nul',
|
|
'cd /D "C:\\Program Files\\"': '"cd /D "C:\\Program Files\\""',
|
|
'python -c "import os" dummy': '"python -c "import os" dummy"',
|
|
'sort': 'sort',
|
|
}
|
|
|
|
# we fake the os name because we want to run the test on any platform
|
|
save = os.name
|
|
os.name = 'nt'
|
|
|
|
for key, value in quotes.items():
|
|
resulted_value = quote_command(key)
|
|
assert value == resulted_value
|
|
# ret = os.system(resulted_value)
|
|
# if not ret==0:
|
|
# print("failed")
|
|
os.name = save
|
|
|
|
|
|
def test_2():
|
|
assert system(['python', '-V']) == 0
|
|
|
|
|
|
def test_3():
|
|
assert system2(['python', '-V'])[0] == 0
|
|
|
|
|
|
def test_4():
|
|
assert system(['python', '-c', "print('c c')"]) == 0
|