diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2017-12-07 22:14:29 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2017-12-07 22:14:29 +0530 |
commit | 5ecc036de5bceaafe1aa6d2b95be838365a7e61f (patch) | |
tree | be003082c2b2697779827f89db2b31333f4ffbde /run_unittests.py | |
parent | 4ae0cadb7f951691e2913a660a61d024d04b5485 (diff) | |
download | meson-nirbheek/dependency-notimplementederror.tar.gz |
dependencies: Don't use NotImplementedError for invalid methodsnirbheek/dependency-notimplementederror
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-x | run_unittests.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/run_unittests.py b/run_unittests.py index fed8fae1b..fe3e5be6c 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): ''' |