From eb27adf971b241950803589c96b20a9548152882 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Sat, 2 Mar 2024 16:45:05 -0500 Subject: [PATCH] For consistency, ensure Extension.sources is always a pathlib.Path object and adjust expectations in tests. --- distutils/extension.py | 3 ++- distutils/tests/test_build_ext.py | 3 ++- distutils/tests/test_extension.py | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/distutils/extension.py b/distutils/extension.py index 2d6950fe..3f950d5a 100644 --- a/distutils/extension.py +++ b/distutils/extension.py @@ -4,6 +4,7 @@ modules in setup scripts.""" import os +import pathlib import warnings # This class is really only used by the "build_ext" command, so it might @@ -115,7 +116,7 @@ def __init__( ) self.name = name - self.sources = sources + self.sources = list(map(pathlib.Path, sources)) self.include_dirs = include_dirs or [] self.define_macros = define_macros or [] self.undef_macros = undef_macros or [] diff --git a/distutils/tests/test_build_ext.py b/distutils/tests/test_build_ext.py index ae66bc4e..7e8a4ddb 100644 --- a/distutils/tests/test_build_ext.py +++ b/distutils/tests/test_build_ext.py @@ -4,6 +4,7 @@ import textwrap import site import contextlib +import pathlib import platform import tempfile import importlib @@ -335,7 +336,7 @@ def test_get_source_files(self): dist = Distribution({'name': 'xx', 'ext_modules': modules}) cmd = self.build_ext(dist) cmd.ensure_finalized() - assert cmd.get_source_files() == ['xxx'] + assert cmd.get_source_files() == [pathlib.Path('xxx')] def test_unicode_module_names(self): modules = [ diff --git a/distutils/tests/test_extension.py b/distutils/tests/test_extension.py index 9a537873..023c7f9f 100644 --- a/distutils/tests/test_extension.py +++ b/distutils/tests/test_extension.py @@ -75,7 +75,7 @@ def test_extension_init(self): with pytest.raises(AssertionError): Extension('name', ['file', 1]) ext = Extension('name', ['file1', 'file2']) - assert ext.sources == ['file1', 'file2'] + assert ext.sources == [Path('file1'), Path('file2')] ext = Extension('name', [Path('file1'), Path('file2')]) assert ext.sources == [Path('file1'), Path('file2')]