diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2018-03-17 19:44:16 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2018-03-19 23:21:56 +0200 |
commit | cf5f1a83d55d05412e29058844e4fda5e420553b (patch) | |
tree | e91004bd2d8b468140c8d4df012d0c214acfa0a9 | |
parent | c385f7973777e0e7b7e4694d69d6584e2ceae69f (diff) | |
download | meson-cf5f1a83d55d05412e29058844e4fda5e420553b.zip meson-cf5f1a83d55d05412e29058844e4fda5e420553b.tar.gz meson-cf5f1a83d55d05412e29058844e4fda5e420553b.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 5254731..bd89670 100644 --- a/mesonbuild/modules/pkgconfig.py +++ b/mesonbuild/modules/pkgconfig.py @@ -95,6 +95,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 44d5c9d..d528717 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -510,7 +510,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): @@ -2717,6 +2718,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) @@ -2737,8 +2742,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 018b72f..2e00943 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', |