diff options
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-x | run_unittests.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/run_unittests.py b/run_unittests.py index 9ea9e23..79cdae0 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -18,6 +18,7 @@ import subprocess import re, json import tempfile from mesonbuild.environment import detect_ninja +from mesonbuild.dependencies import PkgConfigDependency def get_soname(fname): # HACK, fix to not use shell. @@ -28,6 +29,13 @@ def get_soname(fname): if m is not None: return m.group(1) +class FakeEnvironment(object): + def __init__(self): + self.cross_info = None + + def is_cross_build(self): + return False + class LinuxlikeTests(unittest.TestCase): def setUp(self): super().setUp() @@ -38,9 +46,11 @@ class LinuxlikeTests(unittest.TestCase): self.ninja_command = [detect_ninja(), '-C', self.builddir] self.common_test_dir = os.path.join(src_root, 'test cases/common') self.output = b'' + self.orig_env = os.environ.copy() def tearDown(self): shutil.rmtree(self.builddir) + os.environ = self.orig_env super().tearDown() def init(self, srcdir): @@ -87,5 +97,16 @@ class LinuxlikeTests(unittest.TestCase): compdb = self.get_compdb() self.assertTrue('-fPIC' not in compdb[0]['command']) + def test_pkgconfig_gen(self): + testdir = os.path.join(self.common_test_dir, '51 pkgconfig-gen') + self.init(testdir) + env = FakeEnvironment() + kwargs = {'required': True, 'silent': True} + os.environ['PKG_CONFIG_LIBDIR'] = os.path.join(self.builddir, 'meson-private') + simple_dep = PkgConfigDependency('libfoo', env, kwargs) + self.assertTrue(simple_dep.found()) + self.assertEqual(simple_dep.get_version(), '1.0') + self.assertTrue('-lfoo' in simple_dep.get_link_args()) + if __name__ == '__main__': unittest.main() |