Commit 2ce09941 authored by Josip Sokcevic's avatar Josip Sokcevic Committed by LUCI CQ

Add win support for subprocess2 unit tests

Change-Id: Idea502dc67d8cf0b7387c1b68eb0c62837af971b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2111430Reviewed-by: 's avatarEdward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
parent 44baaea9
......@@ -88,7 +88,6 @@ def CommonChecks(input_api, output_api, tests_to_black_list, run_on_python3):
r'.*ninjalog_uploader_test\.py$',
r'.*recipes_test\.py$',
r'.*roll_dep_test\.py$',
r'.*subprocess2_test\.py$',
]
# TODO(maruel): Make sure at least one file is modified first.
......
......@@ -38,11 +38,21 @@ if args:
def do(string):
if options.stdout:
sys.stdout.write(string.upper())
sys.stdout.write(options.eol)
if sys.version_info.major == 2:
sys.stdout.write(string.upper())
sys.stdout.write(options.eol)
else:
sys.stdout.buffer.write(string.upper().encode('utf-8'))
sys.stdout.buffer.write(options.eol.encode('utf-8'))
if options.stderr:
sys.stderr.write(string.lower())
sys.stderr.write(options.eol)
if sys.version_info.major == 2:
sys.stderr.write(string.lower())
sys.stderr.write(options.eol)
else:
sys.stderr.buffer.write(string.lower().encode('utf-8'))
sys.stderr.buffer.write(options.eol.encode('utf-8'))
sys.stderr.flush()
do('A')
do('BB')
......
......@@ -20,10 +20,11 @@ sys.path.insert(0, DEPOT_TOOLS)
import subprocess
import subprocess2
TEST_FILENAME = 'subprocess2_test_script.py'
TEST_COMMAND = [
sys.executable,
os.path.join(DEPOT_TOOLS, 'testing_support', 'subprocess2_test_script.py'),
os.path.join(DEPOT_TOOLS, 'testing_support', TEST_FILENAME),
]
......@@ -143,11 +144,11 @@ class SmokeTests(unittest.TestCase):
subp.check_output(TEST_COMMAND, stdout=subp.PIPE)
def test_print_exception(self):
cmd = TEST_COMMAND + ['--fail', '--stdout']
with self.assertRaises(subprocess2.CalledProcessError) as e:
subprocess2.check_output(cmd)
subprocess2.check_output(TEST_COMMAND + ['--fail', '--stdout'])
exception_str = str(e.exception)
self.assertIn(' '.join(cmd), exception_str)
# Windows escapes backslashes so check only filename
self.assertIn(TEST_FILENAME + ' --fail --stdout', exception_str)
self.assertIn(str(e.exception.returncode), exception_str)
self.assertIn(e.exception.stdout.decode('utf-8', 'ignore'), exception_str)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment