From 86134366e9a506ecec1deb949f6f6669b2ae8ebd Mon Sep 17 00:00:00 2001 From: zhukoff-pavel Date: Tue, 10 Oct 2023 12:44:43 +0300 Subject: port all tests to py3 --- .../python/testing/yatest_common/yatest/common/process.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'library/python') diff --git a/library/python/testing/yatest_common/yatest/common/process.py b/library/python/testing/yatest_common/yatest/common/process.py index 29ee702f652..e84f2abc08c 100644 --- a/library/python/testing/yatest_common/yatest/common/process.py +++ b/library/python/testing/yatest_common/yatest/common/process.py @@ -1,5 +1,6 @@ # coding: utf-8 +import io import os import re import time @@ -547,13 +548,14 @@ def execute( def get_out_stream(stream, default_name): mode = 'w+t' if text else 'w+b' + open_kwargs = {'errors': 'ignore', 'encoding': 'utf-8'} if text else {} if stream is None: # No stream is supplied: open new temp file - return _get_command_output_file(command, default_name, mode), False + return _get_command_output_file(command, default_name, mode, open_kwargs), False if isinstance(stream, six.string_types): # User filename is supplied: open file for writing - return open(stream, mode), stream.startswith('/dev/') + return io.open(stream, mode, **open_kwargs), stream.startswith('/dev/') # Open file or PIPE sentinel is supplied is_pipe = stream == subprocess.PIPE @@ -650,7 +652,9 @@ def execute( return res -def _get_command_output_file(cmd, ext, mode): +def _get_command_output_file(cmd, ext, mode, open_kwargs=None): + if open_kwargs is None: + open_kwargs = {} parts = [get_command_name(cmd)] if 'YA_RETRY_INDEX' in os.environ: parts.append('retry{}'.format(os.environ.get('YA_RETRY_INDEX'))) @@ -667,9 +671,9 @@ def _get_command_output_file(cmd, ext, mode): raise ImportError("not in test") filename = path.get_unique_file_path(yatest.common.output_path(), filename) yatest_logger.debug("Command %s will be placed to %s", ext, os.path.basename(filename)) - return open(filename, mode) + return io.open(filename, mode, **open_kwargs) except ImportError: - return tempfile.NamedTemporaryFile(mode=mode, delete=False, suffix=filename) + return tempfile.NamedTemporaryFile(mode=mode, delete=False, suffix=filename, **(open_kwargs if six.PY3 else {})) def _get_proc_tree_info(pids): -- cgit v1.3