diff options
| author | Patrick Steinhardt <ps@pks.im> | 2025-01-02 11:42:34 +0100 |
|---|---|---|
| committer | Eli Schwartz <eschwartz93@gmail.com> | 2025-02-27 15:25:57 -0500 |
| commit | 7fd17ab12854ff5339f3309156cd9b705f517fd0 (patch) | |
| tree | 2ed88495e7663b43468308f1e4249e386b14856d /mesonbuild/modules/rust.py | |
| parent | 4526a75e25c8f4e908e6c142cf6658bac0acb5e3 (diff) | |
| download | meson-7fd17ab12854ff5339f3309156cd9b705f517fd0.tar.gz | |
mtest: introduce ignored tests
When running tests in interactive mode then the standard file streams
will remain connected to the executing terminal so that the user can
interact with the tests. This has the consequence that Meson itself does
not have access to those streams anymore, which is problematic for any
of the test types that require parsing, like for example with the TAP
protocol. This means that Meson is essentially flying blind in those
cases because the test result cannot be determined by parsing the exit
code of the test, but can only reliably be derived from the parsed
output.
One obvious solution to this problem would be to splice the test output
so that both Meson and the user's terminal have access to it. But when
running in interactive mode it is quite likely that the test itself will
actually be driven from the command line, and the chance is high that
the resulting data on stdout cannot be parsed as properly anymore. This
is for example the case in the Git project, where interactive mode is
typically used to drop the user into a shell or invoke a debugger.
So continuing to treat the output as properly formatted output that can
be parsed is likely a dead end in many use cases. Instead, we introduce
a new "IGNORED" test result: when executing tests in interactive mode,
and when the test type indicates that it requires parsing, we will not
try to parse the test at all but mark the test result as ignored
instead.
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Diffstat (limited to 'mesonbuild/modules/rust.py')
0 files changed, 0 insertions, 0 deletions
