MRTestRepo/pylibraries/tendo/tests/test_tee.py

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