diff options
author | Eli Schwartz <eschwartz@archlinux.org> | 2022-09-11 20:01:56 -0400 |
---|---|---|
committer | Eli Schwartz <eschwartz@archlinux.org> | 2022-09-19 15:19:00 -0400 |
commit | d3dac3cfb255e1f6f018c4cd3fcbd04706b3c16e (patch) | |
tree | 397885595ef420c69e2ba80ed8563e078f21f18d /unittests | |
parent | 5bfab845d0bc2414e5323d2a59d6c357808c02ea (diff) | |
download | meson-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.py | 7 | ||||
-rw-r--r-- | unittests/internaltests.py | 13 | ||||
-rw-r--r-- | unittests/linuxliketests.py | 6 |
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 |