diff options
author | Elliott Sales de Andrade <quantum.analyst@gmail.com> | 2016-09-02 17:00:58 -0400 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2016-09-03 00:00:58 +0300 |
commit | a7cf241334e3a76317b843b83991d7b1d50118b9 (patch) | |
tree | 0a2760f6f8d2339245d6cfae248e31c01493b8e4 | |
parent | 84995b2993a875496827b28293f228902038dcd7 (diff) | |
download | meson-a7cf241334e3a76317b843b83991d7b1d50118b9.zip meson-a7cf241334e3a76317b843b83991d7b1d50118b9.tar.gz meson-a7cf241334e3a76317b843b83991d7b1d50118b9.tar.bz2 |
Fix validation of man page extension. (#749)
If the extension does not exist or is not a number, the error message is
not raised because the assumptions cause a different exception.
-rw-r--r-- | mesonbuild/interpreter.py | 5 | ||||
-rw-r--r-- | test cases/failing/31 invalid man extension/meson.build | 2 | ||||
-rw-r--r-- | test cases/failing/32 no man extension/meson.build | 2 |
3 files changed, 8 insertions, 1 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index abbeaf7..ad381b6 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -454,7 +454,10 @@ class Man(InterpreterObject): def validate_sources(self): for s in self.sources: - num = int(s.split('.')[-1]) + try: + num = int(s.split('.')[-1]) + except (IndexError, ValueError): + num = 0 if num < 1 or num > 8: raise InvalidArguments('Man file must have a file extension of a number between 1 and 8') diff --git a/test cases/failing/31 invalid man extension/meson.build b/test cases/failing/31 invalid man extension/meson.build new file mode 100644 index 0000000..45eddca --- /dev/null +++ b/test cases/failing/31 invalid man extension/meson.build @@ -0,0 +1,2 @@ +project('man install', 'c') +m1 = install_man('foo.a1') diff --git a/test cases/failing/32 no man extension/meson.build b/test cases/failing/32 no man extension/meson.build new file mode 100644 index 0000000..bf83571 --- /dev/null +++ b/test cases/failing/32 no man extension/meson.build @@ -0,0 +1,2 @@ +project('man install', 'c') +m1 = install_man('foo') |