aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarvin Scholz <epirat07@gmail.com>2022-03-30 23:30:39 +0200
committerMarvin Scholz <epirat07@gmail.com>2022-03-31 10:55:55 +0200
commit34ea8fdf981b5e10c702e9adfcab7f9e316a129b (patch)
tree1eb02f1fc230ead3a7d6cddb58164f33db4a0658
parent9e597ce905aa2b426e87f590a671b6726c09f075 (diff)
downloadmeson-34ea8fdf981b5e10c702e9adfcab7f9e316a129b.zip
meson-34ea8fdf981b5e10c702e9adfcab7f9e316a129b.tar.gz
meson-34ea8fdf981b5e10c702e9adfcab7f9e316a129b.tar.bz2
unittests: move get_convincing_fake_env_and_cc to run_tests.py
-rwxr-xr-xrun_tests.py13
-rw-r--r--unittests/allplatformstests.py17
2 files changed, 15 insertions, 15 deletions
diff --git a/run_tests.py b/run_tests.py
index dc7a8f9..fcd9337 100755
--- a/run_tests.py
+++ b/run_tests.py
@@ -40,7 +40,7 @@ from mesonbuild import mesonlib
from mesonbuild import mesonmain
from mesonbuild import mtest
from mesonbuild import mlog
-from mesonbuild.environment import Environment, detect_ninja
+from mesonbuild.environment import Environment, detect_ninja, detect_machine_info
from mesonbuild.coredata import backendlist, version as meson_version
from mesonbuild.mesonlib import OptionKey, setup_vsenv
@@ -153,6 +153,17 @@ def get_fake_env(sdir='', bdir=None, prefix='', opts=None):
env.machines.host.cpu_family = 'x86_64' # Used on macOS inside find_library
return env
+def get_convincing_fake_env_and_cc(bdir, prefix):
+ '''
+ Return a fake env and C compiler with the fake env
+ machine info properly detected using that compiler.
+ Useful for running compiler checks in the unit tests.
+ '''
+ env = get_fake_env('', bdir, prefix)
+ cc = compilers.detect_c_compiler(env, mesonlib.MachineChoice.HOST)
+ # Detect machine info
+ env.machines.host = detect_machine_info({'c':cc})
+ return (env, cc)
Backend = Enum('Backend', 'ninja vs xcode')
diff --git a/unittests/allplatformstests.py b/unittests/allplatformstests.py
index 25d6305..67c50e7 100644
--- a/unittests/allplatformstests.py
+++ b/unittests/allplatformstests.py
@@ -60,7 +60,7 @@ from mesonbuild.scripts import destdir_join
from mesonbuild.wrap.wrap import PackageDefinition, WrapException
from run_tests import (
- Backend, exe_suffix, get_fake_env
+ Backend, exe_suffix, get_fake_env, get_convincing_fake_env_and_cc
)
from .baseplatformtests import BasePlatformTests
@@ -1546,23 +1546,12 @@ class AllPlatformTests(BasePlatformTests):
self.build()
self.run_tests()
- def get_convincing_fake_env_and_cc(self) -> None:
- '''
- Return a fake env and C compiler with the fake env
- machine info properly detected using that compiler.
- '''
- env = get_fake_env('', self.builddir, self.prefix)
- cc = detect_c_compiler(env, MachineChoice.HOST)
- # Detect machine info
- env.machines.host = mesonbuild.environment.detect_machine_info({'c':cc})
- return (env, cc)
-
def test_underscore_prefix_detection_list(self) -> None:
'''
Test the underscore detection hardcoded lookup list
against what was detected in the binary.
'''
- env, cc = self.get_convincing_fake_env_and_cc()
+ env, cc = get_convincing_fake_env_and_cc(self.builddir, self.prefix)
expected_uscore = cc._symbols_have_underscore_prefix_searchbin(env)
list_uscore = cc._symbols_have_underscore_prefix_list(env)
if list_uscore is not None:
@@ -1575,7 +1564,7 @@ class AllPlatformTests(BasePlatformTests):
Test the underscore detection based on compiler-defined preprocessor macro
against what was detected in the binary.
'''
- env, cc = self.get_convincing_fake_env_and_cc()
+ env, cc = get_convincing_fake_env_and_cc(self.builddir, self.prefix)
expected_uscore = cc._symbols_have_underscore_prefix_searchbin(env)
define_uscore = cc._symbols_have_underscore_prefix_define(env)
if define_uscore is not None: