mypy: fix broken logic checks that used "if func"

It's always true because the func is always a real, truthy func object.

In the cmake case, the logic seems to be broken because if a path is not
a file, then that includes the case where it does not exist. It also
clearly meant "or" instead of "and".

What actually ended up happening was that this check never fired at all.
Because "if not func and not ..." would always fail, because "not func"
is always false. Maybe we don't need this logic at all...
pull/13483/head
Eli Schwartz 11 months ago
parent 433c13c5c4
commit f2de6dfd10
No known key found for this signature in database
GPG Key ID: CEB167EFB5722BD6
  1. 2
      mesonbuild/cmake/traceparser.py
  2. 2
      mesonbuild/dependencies/boost.py

@ -165,7 +165,7 @@ class CMakeTraceParser:
def parse(self, trace: T.Optional[str] = None) -> None:
# First load the trace (if required)
if not self.requires_stderr():
if not self.trace_file_path.exists and not self.trace_file_path.is_file():
if not self.trace_file_path.is_file():
raise CMakeException(f'CMake: Trace file "{self.trace_file_path!s}" not found')
trace = self.trace_file_path.read_text(errors='ignore', encoding='utf-8')
if not trace:

@ -261,7 +261,7 @@ class BoostLibraryFile():
update_vers(i[2:])
elif i.isdigit():
update_vers(i)
elif len(i) >= 3 and i[0].isdigit and i[2].isdigit() and i[1] == '.':
elif len(i) >= 3 and i[0].isdigit() and i[2].isdigit() and i[1] == '.':
update_vers(i)
else:
other_tags += [i]

Loading…
Cancel
Save