aboutsummaryrefslogtreecommitdiff
path: root/run_unittests.py
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2017-11-16 18:15:09 -0800
committerDylan Baker <dylan@pnwbakers.com>2017-12-19 10:10:40 -0800
commite245e578656f1b3876d22cae6253b58872b10463 (patch)
treee6ca59e45f343b44368a2acb0c4ce06a5e8d6f8b /run_unittests.py
parente1c9d2f53a1fb021e266e189e615919cb74569e2 (diff)
downloadmeson-e245e578656f1b3876d22cae6253b58872b10463.zip
meson-e245e578656f1b3876d22cae6253b58872b10463.tar.gz
meson-e245e578656f1b3876d22cae6253b58872b10463.tar.bz2
Warn on unknown command line arguments
I have a tendency to typo things. Humans in general are bad at spotting spelling mistakes, computers are not. This patches prints the bad options and provides the generic meson "This will be a hard error someday" message.
Diffstat (limited to 'run_unittests.py')
-rwxr-xr-xrun_unittests.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/run_unittests.py b/run_unittests.py
index d7d5ed0..9706b45 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -1782,6 +1782,25 @@ class FailureTests(BasePlatformTests):
'''
self.assertMesonRaises(code, "Method.*configtool.*is invalid.*internal")
+ def test_bad_option(self):
+ tdir = os.path.join(self.unit_test_dir, '19 bad command line options')
+ os.environ['MESON_FORCE_BACKTRACE'] = '1'
+ self.init(tdir, extra_args=['-Dopt=bar', '-Dc_args=-Wall'], inprocess=True)
+ self.wipe()
+ out = self.init(tdir, extra_args=['-Dfoo=bar', '-Dbad=true'], inprocess=True)
+ self.assertRegex(
+ out, r'Unknown command line options: "bad, foo"')
+
+ def test_bad_option_subproject(self):
+ tdir = os.path.join(self.unit_test_dir, '19 bad command line options')
+ os.environ['MESON_FORCE_BACKTRACE'] = '1'
+ self.init(tdir, extra_args=['-Done:one=bar'], inprocess=True)
+ self.wipe()
+ out = self.init(tdir, extra_args=['-Done:two=bar'], inprocess=True)
+ self.assertRegex(
+ out,
+ r'In subproject one: Unknown command line options: "one:two"')
+
class WindowsTests(BasePlatformTests):
'''