From 7619f31f716ef24fcd3ddee7275f4aa48c2e4b5c Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Mon, 14 Jun 2021 15:36:17 -0700 Subject: [PATCH] interpreter: man sections can be up to 9 on many platforms Linux and FreeBSD use section 9 for kernel man pages, so we should allow that. --- mesonbuild/interpreter/interpreter.py | 7 ++++--- test cases/failing/30 invalid man extension/test.json | 2 +- test cases/failing/31 no man extension/test.json | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index 0b496b38b..d7e468266 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -1915,11 +1915,12 @@ This will become a hard error in the future.''' % kwargs['input'], location=self sources = self.source_strings_to_files(args[0]) for s in sources: try: - num = int(s.split('.')[-1]) + num = int(s.rsplit('.', 1)[-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') + if not 1 <= num <= 9: + raise InvalidArguments('Man file must have a file extension of a number between 1 and 9') + custom_install_mode = self._get_kwarg_install_mode(kwargs) custom_install_dir = kwargs.get('install_dir', None) locale = kwargs.get('locale') diff --git a/test cases/failing/30 invalid man extension/test.json b/test cases/failing/30 invalid man extension/test.json index 3f77a04f4..3e5f45de5 100644 --- a/test cases/failing/30 invalid man extension/test.json +++ b/test cases/failing/30 invalid man extension/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/30 invalid man extension/meson.build:2:0: ERROR: Man file must have a file extension of a number between 1 and 8" + "line": "test cases/failing/30 invalid man extension/meson.build:2:0: ERROR: Man file must have a file extension of a number between 1 and 9" } ] } diff --git a/test cases/failing/31 no man extension/test.json b/test cases/failing/31 no man extension/test.json index 6e1f542c4..0972da1f3 100644 --- a/test cases/failing/31 no man extension/test.json +++ b/test cases/failing/31 no man extension/test.json @@ -1,7 +1,7 @@ { "stdout": [ { - "line": "test cases/failing/31 no man extension/meson.build:2:0: ERROR: Man file must have a file extension of a number between 1 and 8" + "line": "test cases/failing/31 no man extension/meson.build:2:0: ERROR: Man file must have a file extension of a number between 1 and 9" } ] }