Skip to content

Commit

Permalink
Add some tests for Mingw32CCompiler class
Browse files Browse the repository at this point in the history
  • Loading branch information
naveen521kk committed Nov 9, 2023
1 parent 83ecc93 commit 638496c
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions distutils/tests/test_mingwccompiler.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import pytest

from distutils.util import is_mingw, split_quoted
from distutils.errors import DistutilsPlatformError, CCompilerError


class TestMingw32CCompiler:
def test_compiler_type(self):
from distutils.cygwinccompiler import Mingw32CCompiler

compiler = Mingw32CCompiler()
assert compiler.compiler_type == 'mingw32'

def test_set_executables(self, monkeypatch):
from distutils.cygwinccompiler import Mingw32CCompiler

monkeypatch.setenv('CC', 'cc')
monkeypatch.setenv('CXX', 'c++')

compiler = Mingw32CCompiler()

assert compiler.compiler == split_quoted('cc -O -Wall')
assert compiler.compiler_so == split_quoted('cc -mdll -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')

def test_runtime_library_dir_option(self):
from distutils.cygwinccompiler import Mingw32CCompiler

compiler = Mingw32CCompiler()
with pytest.raises(DistutilsPlatformError):
compiler.runtime_library_dir_option('/usr/lib')

def test_cygwincc_error(self, monkeypatch):
import distutils.cygwinccompiler

monkeypatch.setattr(distutils.cygwinccompiler, 'is_cygwincc', lambda _: True)

with pytest.raises(CCompilerError):
distutils.cygwinccompiler.Mingw32CCompiler()

0 comments on commit 638496c

Please sign in to comment.