Age | Commit message (Collapse) | Author | Files | Lines |
|
Along the way, add __future__ annotations where lacking.
|
|
Introduced via commit 0d0a4fa0fe02ca8297743a5a8e64ee72060cc990, probably
in the course of heavy rebasing.
|
|
|
|
CustomTarget.is_linkable_target has '.dylib'.
See also 93b1d31af9d90f306aa104eee1e9be8e1ebbacad that added '.dylib'
to CustomTarget.is_linkable_target but didn't add '.dylib' to
CustomTargetIndex.is_linkable_target.
|
|
Just like some of glib tools, wayland-scanner can be defined in the
pkgconfig dependency variables. Share code between gnome and wayland
modules into ModuleState.
|
|
There are a couple issues that combine to make the current handling a
bit confusing.
- we call it "install_dir_name" but it is only ever the class default
- CustomTarget always has it set to None, and then we check if it is
None then create a different variable with a safe fallback. The if is
useless -- it cannot fail, but if it did we'd get an undefined
variable error when we tried to use `dir_name`
Remove the special handling for CustomTarget. Instead, just always
accept None as a possible value of outdir_name when constructing install
data, and, if it is None, fall back to {prefix}/outdir regardless of
what type it used to be.
|
|
AsyncIO.StreamReader.readuntil() occasionally raises IncompleteRead
exception before a byte of data has been read. Do not process the "read"
data in those cases.
|
|
Store a reference to the console logger instance in a test harness'
member variable to allow accessing it (and its logging utilities) from
any other functions in test harness.
This added functionality will be used in future commits.
|
|
Store return code, test result and additional error directly to the
relevant TestRun instance. This reduces the number of individual
arguments to other relevant functions that need to be passed around and
thus simplifies the code. The test output (and error) were earlier
similarly moved to be stored directly to the TestRun instance for the
same reason.
|
|
By storing test output directly to the TestRun instance we avoid the
need to pass the outputs around in individual function arguments thus
simplifying the code.
The amount of individual arguments will be further reduced in a
future commit.
|
|
|
|
|
|
Write additional metadata such as exit details and try to visually
differentiate the tests better from each other in the (textual) test
logs.
|
|
Make --no-stdsplit option affect test log text files as well. This means
that if the option --no-stdsplit is used only "output" is seen not only
on the console but in the test log text file as well.
|
|
Since running only one test sort of implies --num-processes=1 the "live"
output of the test should be printed out when --verbose option has been
given and running only a single test.
|
|
The only time the argument would matter (console_mode ==
ConsoleUser.STDOUT) never happens as the only time the function is
ever called is when parsing of the output is needed which in turns
implies that console_mode != ConsoleUser.STDOUT.
|
|
|
|
These new functions will be used individually in later commits.
|
|
As fetching the returned data is non-trivial (we e.g. iterate over all
subtest results) it is best not to hide that fact from the caller of the
property / function.
|
|
|
|
|
|
|
|
Which could receive `None | Sequence[Optional[str]]`, but isn't
annotated for the `None`
|
|
and pie"
This reverts commit 5f02d0d9e164a5bcda072d223eaa5bc92b57747e.
Which isn't correct, we have very strange behavior of "force on pie/pic
or let the toolchain do whatever it wants, but you can't turn it off."
|
|
Because everything except ExternalProgram in CustomTarget.sources is a
valid dependency
|
|
|
|
Calling `isinstance(self, X)` is an anti-pattern, we should just be using
inheritance for this, letting the `StaticLibrary` override the method, and
having the base class always return `False`.
|
|
and fix a bug in the backend that the correct annotations uncover
|
|
Since they are actually dependencies out the output not the Generator
itself.
This fixes dependency issues in the ninja backend, allowing Meson to
rebuild more accurately. It also does sometimes in the vs backend, but
there are problems in the vs backend I'm not sure how to solve. The
vsbackend is, itself, so fragile looking I don't want to get too
involved with it.
|
|
This doesn't actually fix the problem, but it provides parity with what
is currently happening. I don't have access to a Windows machine to
further debug, however, so not breaking anything is the best I can do
ATM.
|
|
Any iterable is acceptable, not just Set | OrderedSet
|
|
Which does the same thing, but is a builtin and is more accurate
|
|
|
|
There's no reason for this to be defined at the instance level (and thus
duplicated into each instance, when it's really a class constant.
|
|
|
|
Which can be shared by BuildTarget
|
|
Co-authored-by: Xavier Claessens <xavier.claessens@collabora.com>
|
|
Leak sanitizer can be enabled without the whole AddressSanitizer, this
can be done by passing -fsanitize=leak as documented at [1].
Meson doesn't support this, so add support for it.
[1] https://clang.llvm.org/docs/LeakSanitizer.html
|
|
We might be using all fallbacks, or be super weird and not use
bash-completion, or simply have a different PKG_CONFIG_LIBDIR set. And
devenv already checks whether the dependency is found, but defaults to
required anyway, which is wrong.
|
|
|
|
Currently, the code puts a placeholder in for the first output, then
replaces all of the outputs when it generates final value. Instead,
let's only replace the placeholder value.
|
|
|
|
|
|
CustomTarget allows multiple install dirs, while basically everything
else allows only one. So this provides a shared instance for that.
|
|
It's a `List[str | int]`, just like in the build module. In fact, we
should probably share the same type information between the two.
|
|
|
|
|
|
|
|
This lets us not import quite as much at runtime
|
|
|