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>
This commit is contained in:
Khem Raj 2023-04-27 22:35:59 -07:00
parent 4a9f3bfa22
commit 647468e3e1
2 changed files with 42 additions and 0 deletions

View File

@ -0,0 +1,41 @@
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

View File

@ -13,6 +13,7 @@ SRC_URI[sha256sum] = "7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37
inherit pypi setuptools3 ptest
SRC_URI += " \
file://0001-tests-Fix-test_bytes_args.patch \
file://run-ptest \
"