aboutsummaryrefslogtreecommitdiff
path: root/unittests
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2022-09-11 20:01:56 -0400
committerEli Schwartz <eschwartz@archlinux.org>2022-09-19 15:19:00 -0400
commitd3dac3cfb255e1f6f018c4cd3fcbd04706b3c16e (patch)
tree397885595ef420c69e2ba80ed8563e078f21f18d /unittests
parent5bfab845d0bc2414e5323d2a59d6c357808c02ea (diff)
downloadmeson-d3dac3cfb255e1f6f018c4cd3fcbd04706b3c16e.zip
meson-d3dac3cfb255e1f6f018c4cd3fcbd04706b3c16e.tar.gz
meson-d3dac3cfb255e1f6f018c4cd3fcbd04706b3c16e.tar.bz2
compilers: don't export every compiler as a top-level property
This is wasteful and generally unneeded, since code can just use the compiler they detected instead of manually poking at the internals of this subpackage. It also avoids importing an absolute ton of code the instant one runs `from . import compilers`
Diffstat (limited to 'unittests')
-rw-r--r--unittests/allplatformstests.py7
-rw-r--r--unittests/internaltests.py13
-rw-r--r--unittests/linuxliketests.py6
3 files changed, 16 insertions, 10 deletions
diff --git a/unittests/allplatformstests.py b/unittests/allplatformstests.py
index 7f0dd44..34997ce 100644
--- a/unittests/allplatformstests.py
+++ b/unittests/allplatformstests.py
@@ -45,9 +45,12 @@ from mesonbuild.mesonlib import (
MesonException, EnvironmentException, OptionKey
)
+from mesonbuild.compilers.mixins.clang import ClangCompiler
+from mesonbuild.compilers.mixins.gnu import GnuCompiler
+from mesonbuild.compilers.mixins.intel import IntelGnuLikeCompiler
+from mesonbuild.compilers.c import VisualStudioCCompiler, ClangClCCompiler
+from mesonbuild.compilers.cpp import VisualStudioCPPCompiler, ClangClCPPCompiler
from mesonbuild.compilers import (
- GnuCompiler, ClangCompiler, IntelGnuLikeCompiler, VisualStudioCCompiler,
- VisualStudioCPPCompiler, ClangClCCompiler, ClangClCPPCompiler,
detect_static_linker, detect_c_compiler, compiler_from_language,
detect_compiler_for
)
diff --git a/unittests/internaltests.py b/unittests/internaltests.py
index b87aae4..8581512 100644
--- a/unittests/internaltests.py
+++ b/unittests/internaltests.py
@@ -32,11 +32,12 @@ import mesonbuild.mlog
import mesonbuild.depfile
import mesonbuild.dependencies.base
import mesonbuild.dependencies.factory
-import mesonbuild.compilers
import mesonbuild.envconfig
import mesonbuild.environment
import mesonbuild.modules.gnome
from mesonbuild import coredata
+from mesonbuild.compilers.c import ClangCCompiler, GnuCCompiler
+from mesonbuild.compilers.d import DmdDCompiler
from mesonbuild.interpreterbase import typed_pos_args, InvalidArguments, ObjectHolder
from mesonbuild.interpreterbase import typed_pos_args, InvalidArguments, typed_kwargs, ContainerTypeInfo, KwargInfo
from mesonbuild.mesonlib import (
@@ -116,7 +117,7 @@ class InternalTests(unittest.TestCase):
stat.S_IRGRP | stat.S_IXGRP)
def test_compiler_args_class_none_flush(self):
- cc = mesonbuild.compilers.ClangCCompiler([], 'fake', MachineChoice.HOST, False, mock.Mock())
+ cc = ClangCCompiler([], 'fake', MachineChoice.HOST, False, mock.Mock())
a = cc.compiler_args(['-I.'])
#first we are checking if the tree construction deduplicates the correct -I argument
a += ['-I..']
@@ -133,14 +134,14 @@ class InternalTests(unittest.TestCase):
self.assertEqual(a, ['-I.', '-I./tests2/', '-I./tests/', '-I..'])
def test_compiler_args_class_d(self):
- d = mesonbuild.compilers.DmdDCompiler([], 'fake', MachineChoice.HOST, 'info', 'arch')
+ d = DmdDCompiler([], 'fake', MachineChoice.HOST, 'info', 'arch')
# check include order is kept when deduplicating
a = d.compiler_args(['-Ifirst', '-Isecond', '-Ithird'])
a += ['-Ifirst']
self.assertEqual(a, ['-Ifirst', '-Isecond', '-Ithird'])
def test_compiler_args_class_clike(self):
- cc = mesonbuild.compilers.ClangCCompiler([], 'fake', MachineChoice.HOST, False, mock.Mock())
+ cc = ClangCCompiler([], 'fake', MachineChoice.HOST, False, mock.Mock())
# Test that empty initialization works
a = cc.compiler_args()
self.assertEqual(a, [])
@@ -222,7 +223,7 @@ class InternalTests(unittest.TestCase):
def test_compiler_args_class_gnuld(self):
## Test --start/end-group
linker = mesonbuild.linkers.GnuBFDDynamicLinker([], MachineChoice.HOST, '-Wl,', [])
- gcc = mesonbuild.compilers.GnuCCompiler([], 'fake', False, MachineChoice.HOST, mock.Mock(), linker=linker)
+ gcc = GnuCCompiler([], 'fake', False, MachineChoice.HOST, mock.Mock(), linker=linker)
## Ensure that the fake compiler is never called by overriding the relevant function
gcc.get_default_include_dirs = lambda: ['/usr/include', '/usr/share/include', '/usr/local/include']
## Test that 'direct' append and extend works
@@ -250,7 +251,7 @@ class InternalTests(unittest.TestCase):
def test_compiler_args_remove_system(self):
## Test --start/end-group
linker = mesonbuild.linkers.GnuBFDDynamicLinker([], MachineChoice.HOST, '-Wl,', [])
- gcc = mesonbuild.compilers.GnuCCompiler([], 'fake', False, MachineChoice.HOST, mock.Mock(), linker=linker)
+ gcc = GnuCCompiler([], 'fake', False, MachineChoice.HOST, mock.Mock(), linker=linker)
## Ensure that the fake compiler is never called by overriding the relevant function
gcc.get_default_include_dirs = lambda: ['/usr/include', '/usr/share/include', '/usr/local/include']
## Test that 'direct' append and extend works
diff --git a/unittests/linuxliketests.py b/unittests/linuxliketests.py
index d7d657d..69e4c6f 100644
--- a/unittests/linuxliketests.py
+++ b/unittests/linuxliketests.py
@@ -40,9 +40,11 @@ from mesonbuild.mesonlib import (
)
from mesonbuild.compilers import (
detect_c_compiler, detect_cpp_compiler, compiler_from_language,
- AppleClangCCompiler, AppleClangCPPCompiler, AppleClangObjCCompiler,
- AppleClangObjCPPCompiler
)
+from mesonbuild.compilers.c import AppleClangCCompiler
+from mesonbuild.compilers.cpp import AppleClangCPPCompiler
+from mesonbuild.compilers.objc import AppleClangObjCCompiler
+from mesonbuild.compilers.objcpp import AppleClangObjCPPCompiler
from mesonbuild.dependencies import PkgConfigDependency
import mesonbuild.modules.pkgconfig