aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/setuptools/_distutils/compilers/C/tests/test_mingw.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/setuptools/_distutils/compilers/C/tests/test_mingw.py')
-rw-r--r--.venv/lib/python3.12/site-packages/setuptools/_distutils/compilers/C/tests/test_mingw.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/setuptools/_distutils/compilers/C/tests/test_mingw.py b/.venv/lib/python3.12/site-packages/setuptools/_distutils/compilers/C/tests/test_mingw.py
new file mode 100644
index 00000000..dc45687a
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/setuptools/_distutils/compilers/C/tests/test_mingw.py
@@ -0,0 +1,48 @@
+from distutils import sysconfig
+from distutils.errors import DistutilsPlatformError
+from distutils.util import is_mingw, split_quoted
+
+import pytest
+
+from .. import cygwin, errors
+
+
+class TestMinGW32Compiler:
+ @pytest.mark.skipif(not is_mingw(), reason='not on mingw')
+ def test_compiler_type(self):
+ compiler = cygwin.MinGW32Compiler()
+ assert compiler.compiler_type == 'mingw32'
+
+ @pytest.mark.skipif(not is_mingw(), reason='not on mingw')
+ def test_set_executables(self, monkeypatch):
+ monkeypatch.setenv('CC', 'cc')
+ monkeypatch.setenv('CXX', 'c++')
+
+ compiler = cygwin.MinGW32Compiler()
+
+ assert compiler.compiler == split_quoted('cc -O -Wall')
+ assert compiler.compiler_so == split_quoted('cc -shared -O -Wall')
+ assert compiler.compiler_cxx == split_quoted('c++ -O -Wall')
+ assert compiler.linker_exe == split_quoted('cc')
+ assert compiler.linker_so == split_quoted('cc -shared')
+
+ @pytest.mark.skipif(not is_mingw(), reason='not on mingw')
+ def test_runtime_library_dir_option(self):
+ compiler = cygwin.MinGW32Compiler()
+ with pytest.raises(DistutilsPlatformError):
+ compiler.runtime_library_dir_option('/usr/lib')
+
+ @pytest.mark.skipif(not is_mingw(), reason='not on mingw')
+ def test_cygwincc_error(self, monkeypatch):
+ monkeypatch.setattr(cygwin, 'is_cygwincc', lambda _: True)
+
+ with pytest.raises(errors.Error):
+ cygwin.MinGW32Compiler()
+
+ @pytest.mark.skipif('sys.platform == "cygwin"')
+ def test_customize_compiler_with_msvc_python(self):
+ # In case we have an MSVC Python build, but still want to use
+ # MinGW32Compiler, then customize_compiler() shouldn't fail at least.
+ # https://github.com/pypa/setuptools/issues/4456
+ compiler = cygwin.MinGW32Compiler()
+ sysconfig.customize_compiler(compiler)