fix up units

pull/82696/head
Matt Martz 3 months ago
parent 85be31ae68
commit 948872eb97
No known key found for this signature in database
GPG Key ID: 40832D88E9FC91D8

@ -22,8 +22,9 @@ import sys
import json import json
from contextlib import contextmanager from contextlib import contextmanager
from io import BytesIO, StringIO from io import BytesIO, TextIOWrapper
import unittest import unittest
from unittest.mock import patch
from ansible.module_utils.common.text.converters import to_bytes from ansible.module_utils.common.text.converters import to_bytes
@ -35,14 +36,13 @@ def swap_stdin_and_argv(stdin_data='', argv_data=tuple()):
real_stdin = sys.stdin real_stdin = sys.stdin
real_argv = sys.argv real_argv = sys.argv
fake_stream = StringIO(stdin_data) fake_stream = TextIOWrapper(BytesIO(to_bytes(stdin_data)))
fake_stream.buffer = BytesIO(to_bytes(stdin_data))
try: try:
sys.stdin = fake_stream sys.stdin = fake_stream
sys.argv = argv_data sys.argv = argv_data
with patch('select.select', return_value=([sys.stdin], [], [])):
yield yield
finally: finally:
sys.stdin = real_stdin sys.stdin = real_stdin
sys.argv = real_argv sys.argv = real_argv

@ -5,7 +5,7 @@ from __future__ import annotations
import json import json
import sys import sys
from io import BytesIO from io import BytesIO, TextIOWrapper
import pytest import pytest
@ -34,10 +34,11 @@ def stdin(mocker, request):
else: else:
raise Exception('Malformed data to the stdin pytest fixture') raise Exception('Malformed data to the stdin pytest fixture')
fake_stdin = BytesIO(to_bytes(args, errors='surrogate_or_strict')) fake_stdin = TextIOWrapper(BytesIO(to_bytes(args, errors='surrogate_or_strict')))
mocker.patch('ansible.module_utils.basic.sys.stdin', mocker.MagicMock()) mocker.patch('ansible.module_utils.basic.sys.stdin', fake_stdin)
mocker.patch('ansible.module_utils.basic.sys.stdin.buffer', fake_stdin)
mocker.patch('select.select', return_value=([fake_stdin], [], []))
yield fake_stdin yield fake_stdin

Loading…
Cancel
Save