aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2018-03-17 19:44:16 +0200
committerNirbheek Chauhan <nirbheek@centricular.com>2018-03-21 19:01:08 +0530
commite3e54badfc8b0201db7d9ab956d0fef5f7402ab2 (patch)
tree1054e17a4936a27cc93218699731cf478f4b0c5f
parentb13778e13be7333474971852097408fa00659dd3 (diff)
downloadmeson-e3e54badfc8b0201db7d9ab956d0fef5f7402ab2.zip
meson-e3e54badfc8b0201db7d9ab956d0fef5f7402ab2.tar.gz
meson-e3e54badfc8b0201db7d9ab956d0fef5f7402ab2.tar.bz2
Fix existing tests.
-rw-r--r--mesonbuild/modules/pkgconfig.py3
-rwxr-xr-xrun_unittests.py11
-rw-r--r--test cases/common/51 pkgconfig-gen/dependencies/meson.build2
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',