diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2018-03-17 19:44:16 +0200 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2018-03-21 19:01:08 +0530 |
commit | e3e54badfc8b0201db7d9ab956d0fef5f7402ab2 (patch) | |
tree | 1054e17a4936a27cc93218699731cf478f4b0c5f | |
parent | b13778e13be7333474971852097408fa00659dd3 (diff) | |
download | meson-e3e54badfc8b0201db7d9ab956d0fef5f7402ab2.zip meson-e3e54badfc8b0201db7d9ab956d0fef5f7402ab2.tar.gz meson-e3e54badfc8b0201db7d9ab956d0fef5f7402ab2.tar.bz2 |
Fix existing tests.
-rw-r--r-- | mesonbuild/modules/pkgconfig.py | 3 | ||||
-rwxr-xr-x | run_unittests.py | 11 | ||||
-rw-r--r-- | test cases/common/51 pkgconfig-gen/dependencies/meson.build | 2 |
3 files changed, 13 insertions, 3 deletions
diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py index dbd86a8..d601a7e 100644 --- a/mesonbuild/modules/pkgconfig.py +++ b/mesonbuild/modules/pkgconfig.py @@ -77,6 +77,9 @@ class DependenciesHelper: processed_cflags += obj.get_compile_args() elif isinstance(obj, build.SharedLibrary): processed_libs.append(obj) + if public: + if not hasattr(obj, 'generated_pc'): + obj.generated_pc = self.name elif isinstance(obj, build.StaticLibrary): # Due to a "feature" in pkgconfig, it leaks out private dependencies. # Thus we will not add them to the pc file unless the target diff --git a/run_unittests.py b/run_unittests.py index 9e434d3..06146c2 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -494,7 +494,8 @@ class BasePlatformTests(unittest.TestCase): windows_proof_rmtree(path) except FileNotFoundError: pass - os.environ = self.orig_env + os.environ.clear() + os.environ.update(self.orig_env) super().tearDown() def _run(self, command, workdir=None): @@ -2663,6 +2664,10 @@ endian = 'little' def test_pkgconfig_usage(self): testdir1 = os.path.join(self.unit_test_dir, '24 pkgconfig usage/dependency') testdir2 = os.path.join(self.unit_test_dir, '24 pkgconfig usage/dependee') + if subprocess.call(['pkg-config', '--cflags', 'glib-2.0'], + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL) != 0: + raise unittest.SkipTest('Glib 2.0 dependency not available.') with tempfile.TemporaryDirectory() as tempdirname: self.init(testdir1, ['--prefix=' + tempdirname, '--libdir=lib'], default_args=False) self.install(use_destdir=False) @@ -2683,8 +2688,10 @@ endian = 'little' self.build() myenv = os.environ.copy() myenv['LD_LIBRARY_PATH'] = lib_dir + if is_cygwin(): + bin_dir = os.path.join(tempdirname, 'bin') + myenv['PATH'] = bin_dir + os.pathsep + myenv['PATH'] self.assertTrue(os.path.isdir(lib_dir)) - self.assertTrue(os.path.isfile(os.path.join(lib_dir, 'libpkgdep.so'))) test_exe = os.path.join(self.builddir, 'pkguser') self.assertTrue(os.path.isfile(test_exe)) subprocess.check_call(test_exe, env=myenv) diff --git a/test cases/common/51 pkgconfig-gen/dependencies/meson.build b/test cases/common/51 pkgconfig-gen/dependencies/meson.build index a767eb5..3afc589 100644 --- a/test cases/common/51 pkgconfig-gen/dependencies/meson.build +++ b/test cases/common/51 pkgconfig-gen/dependencies/meson.build @@ -5,7 +5,7 @@ pkgg = import('pkgconfig') # libmain internally use libinternal and expose libexpose in its API exposed_lib = shared_library('libexposed', 'exposed.c') internal_lib = shared_library('libinternal', 'internal.c') -main_lib = shared_library('libmain', link_with : [exposed_lib, internal_lib]) +main_lib = static_library('libmain', link_with : [exposed_lib, internal_lib]) pkgg.generate(libraries : exposed_lib, version : '1.0', |