From da83bd7ca0959027086115f23534957b0917aaa5 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 27 Apr 2023 22:21:24 -0700 Subject: [PATCH] tests: Fix test_bytes_args sys.stdin.encoding is readonly therefore use Mocking to wrap it. Sourced from - Alpine Upstream-Status: Pending Signed-off-by: Khem Raj --- tests/test_arguments.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/test_arguments.py b/tests/test_arguments.py index 735df4b..3395c55 100644 --- a/tests/test_arguments.py +++ b/tests/test_arguments.py @@ -1,4 +1,5 @@ import sys +from unittest import mock import pytest @@ -86,9 +87,12 @@ def test_bytes_args(runner, monkeypatch): ), "UTF-8 encoded argument should be implicitly converted to Unicode" # Simulate empty locale environment variables - monkeypatch.setattr(sys.stdin, "encoding", "utf-8") monkeypatch.setattr(sys, "getfilesystemencoding", lambda: "utf-8") monkeypatch.setattr(sys, "getdefaultencoding", lambda: "utf-8") + # sys.stdin.encoding is readonly, needs some extra effort to patch. + stdin = mock.Mock(wraps=sys.stdin) + stdin.encoding = "utf-8" + monkeypatch.setattr(sys, "stdin", stdin) runner.invoke( from_bytes, -- 2.40.1