diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2017-07-19 15:50:04 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-19 15:50:04 +0300 |
commit | e89b6cdd1037d4c7cfdcb37555f2cbaf66f6ae05 (patch) | |
tree | e812ee63ecf54b37d17611e8514c5223ff058e47 /run_unittests.py | |
parent | acb7e3aaa0a006b36ad8fb86527e46c3b17ff70c (diff) | |
parent | c8981ff111ccb2419c8689dadc567760e0a20750 (diff) | |
download | meson-e89b6cdd1037d4c7cfdcb37555f2cbaf66f6ae05.zip meson-e89b6cdd1037d4c7cfdcb37555f2cbaf66f6ae05.tar.gz meson-e89b6cdd1037d4c7cfdcb37555f2cbaf66f6ae05.tar.bz2 |
Merge pull request #1374 from mesonbuild/simd
Add support for SIMD detection
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-x | run_unittests.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/run_unittests.py b/run_unittests.py index 6a50302..cc034c3 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -948,6 +948,7 @@ class AllPlatformTests(BasePlatformTests): # Detect with evar and do sanity checks on that if evar in os.environ: ecc = getattr(env, 'detect_{}_compiler'.format(lang))(False) + self.assertTrue(ecc.version) elinker = env.detect_static_linker(ecc) # Pop it so we don't use it for the next detection evalue = os.environ.pop(evar) @@ -971,6 +972,7 @@ class AllPlatformTests(BasePlatformTests): self.assertEqual(ecc.get_exelist(), shlex.split(evalue)) # Do auto-detection of compiler based on platform, PATH, etc. cc = getattr(env, 'detect_{}_compiler'.format(lang))(False) + self.assertTrue(cc.version) linker = env.detect_static_linker(cc) # Check compiler type if isinstance(cc, gnu): @@ -1004,11 +1006,18 @@ class AllPlatformTests(BasePlatformTests): self.assertTrue(is_windows()) self.assertIsInstance(linker, lib) self.assertEqual(cc.id, 'msvc') + self.assertTrue(hasattr(cc, 'is_64')) + # If we're in the appveyor CI, we know what the compiler will be + if 'arch' in os.environ: + if os.environ['arch'] == 'x64': + self.assertTrue(cc.is_64) + else: + self.assertFalse(cc.is_64) # Set evar ourselves to a wrapper script that just calls the same # exelist + some argument. This is meant to test that setting # something like `ccache gcc -pipe` or `distcc ccache gcc` works. wrapper = os.path.join(testdir, 'compiler wrapper.py') - wrappercc = [sys.executable, wrapper] + cc.get_exelist() + cc.get_always_args() + wrappercc = [sys.executable, wrapper] + cc.get_exelist() + ['-DSOME_ARG'] wrappercc_s = '' for w in wrappercc: wrappercc_s += shlex.quote(w) + ' ' @@ -1027,6 +1036,10 @@ class AllPlatformTests(BasePlatformTests): # Ensure that the exelist is correct self.assertEqual(wcc.get_exelist(), wrappercc) self.assertEqual(wlinker.get_exelist(), wrapperlinker) + # Ensure that the version detection worked correctly + self.assertEqual(cc.version, wcc.version) + if hasattr(cc, 'is_64'): + self.assertEqual(cc.is_64, wcc.is_64) def test_always_prefer_c_compiler_for_asm(self): testdir = os.path.join(self.common_test_dir, '141 c cpp and asm') |