aboutsummaryrefslogtreecommitdiff
path: root/run_unittests.py
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2017-12-07 22:14:29 +0530
committerJussi Pakkanen <jpakkane@gmail.com>2017-12-09 22:05:05 +0200
commit2c4e7ebb9b8567ebe198b2d436963dacf667a093 (patch)
tree19631c978e3742f43ab81aa85e423b59e5c0535e /run_unittests.py
parent7ae5716f6703700496e36241cdfdc46c8f2c828b (diff)
downloadmeson-2c4e7ebb9b8567ebe198b2d436963dacf667a093.zip
meson-2c4e7ebb9b8567ebe198b2d436963dacf667a093.tar.gz
meson-2c4e7ebb9b8567ebe198b2d436963dacf667a093.tar.bz2
dependencies: Don't use NotImplementedError for invalid methods
Using NotImplementedError throws an ugly traceback to the user which does not print the line number and other information making it impossible to figure out what's causing it. Also override it for internal dependencies because self.name is "null" for them.
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-xrun_unittests.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/run_unittests.py b/run_unittests.py
index 343065d..f717e6d 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -1766,6 +1766,22 @@ class FailureTests(BasePlatformTests):
self.assertMesonRaises("dependency('boost')",
"(BOOST_ROOT.*absolute|{})".format(self.dnf))
+ def test_dependency_invalid_method(self):
+ code = '''zlib_dep = dependency('zlib', required : false)
+ zlib_dep.get_configtool_variable('foo')
+ '''
+ self.assertMesonRaises(code, "'zlib' is not a config-tool dependency")
+ code = '''zlib_dep = dependency('zlib', required : false)
+ dep = declare_dependency(dependencies : zlib_dep)
+ dep.get_pkgconfig_variable('foo')
+ '''
+ self.assertMesonRaises(code, "Method.*pkgconfig.*is invalid.*internal")
+ code = '''zlib_dep = dependency('zlib', required : false)
+ dep = declare_dependency(dependencies : zlib_dep)
+ dep.get_configtool_variable('foo')
+ '''
+ self.assertMesonRaises(code, "Method.*configtool.*is invalid.*internal")
+
class WindowsTests(BasePlatformTests):
'''