meta-openembedded/meta-python/recipes-devtools/python/python3-click/0001-tests-Fix-test_bytes_args.patch
Khem Raj 647468e3e1 python3-click: Fix ptest failure
test_bytes_args fails especially on musl, therefore use mocked sys.stdin.encoding

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-04-27 22:37:56 -07:00

42 lines
1.3 KiB
Diff

From da83bd7ca0959027086115f23534957b0917aaa5 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
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 <raj.khem@gmail.com>
---
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