aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2019-05-08 15:33:22 -0700
committerDylan Baker <dylan@pnwbakers.com>2019-05-10 10:55:58 -0700
commit53c8852f47aa5e8ae9a1ac0c0d851b60dab1ea9e (patch)
tree58e5d677e2e9fb99221b959fb004c02aab7f10d3
parentd770f1c8151cf91b755ae496a66c2b4ac0b83dfa (diff)
downloadmeson-53c8852f47aa5e8ae9a1ac0c0d851b60dab1ea9e.zip
meson-53c8852f47aa5e8ae9a1ac0c0d851b60dab1ea9e.tar.gz
meson-53c8852f47aa5e8ae9a1ac0c0d851b60dab1ea9e.tar.bz2
tests: Add test for Dependency.get_variable
-rw-r--r--test cases/common/219 dependency get_variable method/meson.build52
1 files changed, 52 insertions, 0 deletions
diff --git a/test cases/common/219 dependency get_variable method/meson.build b/test cases/common/219 dependency get_variable method/meson.build
new file mode 100644
index 0000000..b4306b0
--- /dev/null
+++ b/test cases/common/219 dependency get_variable method/meson.build
@@ -0,0 +1,52 @@
+project(
+ 'dependency get_variable',
+ ['c', 'cpp'],
+)
+
+# Just some string that nothing should return
+default = 'asufoiqwjtl;adjfbpiuqwoehtl;ajdfl;ghal;sdjg'
+
+dep = dependency('zlib', method: 'pkg-config', required : false)
+if not dep.found()
+ warning('Skipping pkg-config tests as zlib is not avialable or is not pkg-config')
+else
+ # Test for regular pkg-config
+ # We don't know what the value will be, but we know it should be the same
+ dep = dependency('zlib', method : 'pkg-config')
+ assert(dep.get_pkgconfig_variable('prefix') == dep.get_variable(pkgconfig : 'prefix'),
+ 'Got different values from get_pkgconfig_variable and get_variable(pkgconfig: )')
+ assert(dep.get_variable(pkgconfig : default, default : default) == default,
+ 'pkg-config didnt get default when we should have.')
+ assert(dep.get_variable(pkgconfig : 'prefix', default : default) != default,
+ 'pkg-config got default when we shouldnt have.')
+endif
+
+dep_ct = dependency('llvm', method : 'config-tool', required : false)
+if not dep_ct.found()
+ warning('Skipping config-tool tests as llvm is not available or llvm-config was not found.')
+else
+ assert(dep_ct.get_configtool_variable('has-rtti') == dep_ct.get_variable(configtool : 'has-rtti'),
+ 'Got different values from get_configtool_variable and get_variable(configtool: )')
+ assert(dep_ct.get_variable(configtool : default, default : default) == default,
+ 'config-tool didnt get default when we should have.')
+ assert(dep_ct.get_variable(configtool : 'has-rtti', default : default) != default,
+ 'config-tool got default when we shouldnt have.')
+endif
+
+dep_cm = dependency('llvm', method : 'cmake', required : false)
+if not dep_cm.found()
+ warning('Skipping cmake tests as llvm is not available via the cmake finder.')
+else
+ if dep_ct.found()
+ assert((dep_cm.get_variable(cmake : 'LLVM_ENABLE_RTTI') == 'ON') == (dep_ct.get_variable(configtool : 'has-rtti') == 'YES'),
+ 'RTTI information for cmake and config tools disagree')
+ endif
+ assert(dep_cm.get_variable(cmake : default, default : default) == default,
+ 'cmake didnt get default when we should have.')
+ assert(dep_cm.get_variable(cmake : 'LLVM_ENABLE_RTTI', default : default) != default,
+ 'cmake config-tool got default when we shouldnt have.')
+endif
+
+idep = declare_dependency()
+assert(idep.get_variable(pkgconfig : 'foo', cmake : 'foo', configtool : 'foo', default : default) == default,
+ 'Got something other than default from an internal dependency')