@@ -41,9 +41,9 @@ def test_recursive_wildcard_expansion() -> None:
4141 mod_a = mod_a_dir / "__init__.py"
4242 mod_b = mod_b_dir / "__init__.py"
4343 mod_c = mod_b_dir / "mod_c.py"
44- mod_c .write_text ("CONST_X = 'X'\n CONST_Y = 'Y'" )
45- mod_b .write_text ("from .mod_c import *" )
46- mod_a .write_text ("from .mod_b import *" )
44+ mod_c .write_text ("CONST_X = 'X'\n CONST_Y = 'Y'" , encoding = "utf8" )
45+ mod_b .write_text ("from .mod_c import *" , encoding = "utf8" )
46+ mod_a .write_text ("from .mod_b import *" , encoding = "utf8" )
4747
4848 loader = GriffeLoader (search_paths = [tmp_package .tmpdir ])
4949 package = loader .load (tmp_package .name )
@@ -69,9 +69,9 @@ def test_dont_shortcut_alias_chain_after_expanding_wildcards() -> None:
6969 mod_b = tmp_package .path / "mod_b.py"
7070 mod_c = tmp_package .path / "mod_c.py"
7171
72- mod_a .write_text ("from package.mod_b import *\n class Child(Base): ...\n " )
73- mod_b .write_text ("from package.mod_c import Base\n __all__ = ['Base']\n " )
74- mod_c .write_text ("class Base: ...\n " )
72+ mod_a .write_text ("from package.mod_b import *\n class Child(Base): ...\n " , encoding = "utf8" )
73+ mod_b .write_text ("from package.mod_c import Base\n __all__ = ['Base']\n " , encoding = "utf8" )
74+ mod_c .write_text ("class Base: ...\n " , encoding = "utf8" )
7575
7676 loader = GriffeLoader (search_paths = [tmp_package .tmpdir ])
7777 package = loader .load (tmp_package .name )
@@ -90,8 +90,8 @@ def test_dont_overwrite_lower_member_when_expanding_wildcard() -> None:
9090 mod_a = tmp_package .path / "mod_a.py"
9191 mod_b = tmp_package .path / "mod_b.py"
9292
93- mod_a .write_text ("overwritten = 0\n from package.mod_b import *\n not_overwritten = 0\n " )
94- mod_b .write_text ("overwritten = 1\n not_overwritten = 1\n " )
93+ mod_a .write_text ("overwritten = 0\n from package.mod_b import *\n not_overwritten = 0\n " , encoding = "utf8" )
94+ mod_b .write_text ("overwritten = 1\n not_overwritten = 1\n " , encoding = "utf8" )
9595
9696 loader = GriffeLoader (search_paths = [tmp_package .tmpdir ])
9797 package = loader .load (tmp_package .name )
@@ -129,9 +129,10 @@ def __init__(self, watch_paths: List[str], debug: bool) -> None:
129129 debug: if true, print details about all events to stderr
130130 """
131131 '''
132- tmp_package .path .joinpath ("_rust_notify.pyi" ).write_text (dedent (code ))
132+ tmp_package .path .joinpath ("_rust_notify.pyi" ).write_text (dedent (code ), encoding = "utf8" )
133133 tmp_package .path .joinpath ("__init__.py" ).write_text (
134134 "from ._rust_notify import RustNotify\n __all__ = ['RustNotify']" ,
135+ encoding = "utf8" ,
135136 )
136137 loader = GriffeLoader (search_paths = [tmp_package .tmpdir ])
137138 package = loader .load (tmp_package .name )
@@ -160,6 +161,7 @@ def function2(self, arg1=2.2):
160161 pass
161162 """ ,
162163 ),
164+ encoding = "utf8" ,
163165 )
164166 tmp_package .path .joinpath ("mod.pyi" ).write_text (
165167 dedent (
@@ -179,6 +181,7 @@ def function1(self, arg1: bytes) -> Sequence[bytes]: ...
179181 def function2(self, arg1: float) -> float: ...
180182 """ ,
181183 ),
184+ encoding = "utf8" ,
182185 )
183186 loader = GriffeLoader (search_paths = [tmp_package .tmpdir ])
184187 package = loader .load (tmp_package .name )
@@ -215,8 +218,8 @@ def function2(self, arg1: float) -> float: ...
215218def test_overwrite_module_with_attribute () -> None :
216219 """Check we are able to overwrite a module with an attribute."""
217220 with temporary_pypackage ("package" , ["mod.py" ]) as tmp_package :
218- tmp_package .path .joinpath ("mod.py" ).write_text ("mod: list = [0, 1, 2]" )
219- tmp_package .path .joinpath ("__init__.py" ).write_text ("from package.mod import *" )
221+ tmp_package .path .joinpath ("mod.py" ).write_text ("mod: list = [0, 1, 2]" , encoding = "utf8" )
222+ tmp_package .path .joinpath ("__init__.py" ).write_text ("from package.mod import *" , encoding = "utf8" )
220223 loader = GriffeLoader (search_paths = [tmp_package .tmpdir ])
221224 loader .load (tmp_package .name )
222225 loader .resolve_aliases ()
@@ -229,8 +232,8 @@ def test_load_package_from_both_py_and_pyi_files() -> None:
229232 `__init__.pyi` (not so uncommon).
230233 """
231234 with temporary_pypackage ("package" , ["__init__.py" , "__init__.pyi" ]) as tmp_package :
232- tmp_package .path .joinpath ("__init__.py" ).write_text ("globals()['f'] = lambda x: str(x)" )
233- tmp_package .path .joinpath ("__init__.pyi" ).write_text ("def f(x: int) -> str: ..." )
235+ tmp_package .path .joinpath ("__init__.py" ).write_text ("globals()['f'] = lambda x: str(x)" , encoding = "utf8" )
236+ tmp_package .path .joinpath ("__init__.pyi" ).write_text ("def f(x: int) -> str: ..." , encoding = "utf8" )
234237
235238 loader = GriffeLoader (search_paths = [tmp_package .tmpdir ])
236239 package = loader .load (tmp_package .name )
@@ -245,8 +248,8 @@ def test_load_single_module_from_both_py_and_pyi_files() -> None:
245248 """
246249 with temporary_pypackage ("just_a_folder" , ["mod.py" , "mod.pyi" ]) as tmp_folder :
247250 tmp_folder .path .joinpath ("__init__.py" ).unlink ()
248- tmp_folder .path .joinpath ("mod.py" ).write_text ("globals()['f'] = lambda x: str(x)" )
249- tmp_folder .path .joinpath ("mod.pyi" ).write_text ("def f(x: int) -> str: ..." )
251+ tmp_folder .path .joinpath ("mod.py" ).write_text ("globals()['f'] = lambda x: str(x)" , encoding = "utf8" )
252+ tmp_folder .path .joinpath ("mod.pyi" ).write_text ("def f(x: int) -> str: ..." , encoding = "utf8" )
250253
251254 loader = GriffeLoader (search_paths = [tmp_folder .path ])
252255 package = loader .load ("mod" )
@@ -261,8 +264,11 @@ def test_unsupported_item_in_all(caplog: pytest.LogCaptureFixture) -> None:
261264 """
262265 item_name = "XXX"
263266 with temporary_pypackage ("package" , ["mod.py" ]) as tmp_folder :
264- tmp_folder .path .joinpath ("__init__.py" ).write_text (f"from .mod import { item_name } \n __all__ = [{ item_name } ]" )
265- tmp_folder .path .joinpath ("mod.py" ).write_text (f"class { item_name } : ..." )
267+ tmp_folder .path .joinpath ("__init__.py" ).write_text (
268+ f"from .mod import { item_name } \n __all__ = [{ item_name } ]" ,
269+ encoding = "utf8" ,
270+ )
271+ tmp_folder .path .joinpath ("mod.py" ).write_text (f"class { item_name } : ..." , encoding = "utf8" )
266272 loader = GriffeLoader (search_paths = [tmp_folder .tmpdir ])
267273 loader .expand_exports (loader .load ("package" )) # type: ignore[arg-type]
268274 assert any (item_name in record .message and record .levelname == "WARNING" for record in caplog .records )
@@ -384,17 +390,17 @@ def test_loading_stubs_only_packages(tmp_path: Path, namespace: bool) -> None:
384390 package = package_parent / "package"
385391 package .mkdir ()
386392 if not namespace :
387- package .joinpath ("__init__.py" ).write_text ("a: int = 0" )
388- package .joinpath ("module.py" ).write_text ("a: int = 0" )
393+ package .joinpath ("__init__.py" ).write_text ("a: int = 0" , encoding = "utf8" )
394+ package .joinpath ("module.py" ).write_text ("a: int = 0" , encoding = "utf8" )
389395
390396 # Create stubs.
391397 stubs_parent = tmp_path / "stubs_parent"
392398 stubs_parent .mkdir ()
393399 stubs = stubs_parent / "package-stubs"
394400 stubs .mkdir ()
395401 if not namespace :
396- stubs .joinpath ("__init__.pyi" ).write_text ("b: int" )
397- stubs .joinpath ("module.pyi" ).write_text ("b: int" )
402+ stubs .joinpath ("__init__.pyi" ).write_text ("b: int" , encoding = "utf8" )
403+ stubs .joinpath ("module.pyi" ).write_text ("b: int" , encoding = "utf8" )
398404
399405 # Exposing stubs first, to make sure order doesn't matter.
400406 loader = GriffeLoader (search_paths = [stubs_parent , package_parent ])
0 commit comments