* [PATCH] qtest: Allow and ignore blank lines in input
@ 2025-11-06 15:19 Peter Maydell
2025-11-21 18:38 ` Fabiano Rosas
0 siblings, 1 reply; 2+ messages in thread
From: Peter Maydell @ 2025-11-06 15:19 UTC (permalink / raw)
To: qemu-devel; +Cc: Paolo Bonzini, Fabiano Rosas, Laurent Vivier
Currently the code that reads the qtest protocol commands insists
that every input line has a command. If it receives a line with
nothing but whitespace it will trip an assertion in
qtest_process_command().
This is a little awkward for the case where we are feeding qtest a
set of bug-reproduction commands via standard input or a file,
because it means you need to be careful not to leave a blank line at
the start or the end when cutting and pasting the command sequence
from a bug report.
Change the code to allow and ignore blank lines in the input.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
system/qtest.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/system/qtest.c b/system/qtest.c
index e4d1cd75daa..baef06d4d1b 100644
--- a/system/qtest.c
+++ b/system/qtest.c
@@ -69,6 +69,9 @@ static void *qtest_server_send_opaque;
* so clients should always handle many async messages before the response
* comes in.
*
+ * Extra ASCII space characters in command inputs are permitted and ignored.
+ * Lines containing only spaces are permitted and ignored.
+ *
* Valid requests
* ^^^^^^^^^^^^^^
*
@@ -367,7 +370,11 @@ static void qtest_process_command(CharFrontend *chr, gchar **words)
fprintf(qtest_log_fp, "\n");
}
- g_assert(command);
+ if (!command) {
+ /* Input line was blank: ignore it */
+ return;
+ }
+
if (strcmp(words[0], "irq_intercept_out") == 0
|| strcmp(words[0], "irq_intercept_in") == 0) {
DeviceState *dev;
--
2.43.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] qtest: Allow and ignore blank lines in input
2025-11-06 15:19 [PATCH] qtest: Allow and ignore blank lines in input Peter Maydell
@ 2025-11-21 18:38 ` Fabiano Rosas
0 siblings, 0 replies; 2+ messages in thread
From: Fabiano Rosas @ 2025-11-21 18:38 UTC (permalink / raw)
To: Peter Maydell, qemu-devel; +Cc: Paolo Bonzini, Laurent Vivier
Peter Maydell <peter.maydell@linaro.org> writes:
> Currently the code that reads the qtest protocol commands insists
> that every input line has a command. If it receives a line with
> nothing but whitespace it will trip an assertion in
> qtest_process_command().
>
> This is a little awkward for the case where we are feeding qtest a
> set of bug-reproduction commands via standard input or a file,
> because it means you need to be careful not to leave a blank line at
> the start or the end when cutting and pasting the command sequence
> from a bug report.
>
> Change the code to allow and ignore blank lines in the input.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> system/qtest.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/system/qtest.c b/system/qtest.c
> index e4d1cd75daa..baef06d4d1b 100644
> --- a/system/qtest.c
> +++ b/system/qtest.c
> @@ -69,6 +69,9 @@ static void *qtest_server_send_opaque;
> * so clients should always handle many async messages before the response
> * comes in.
> *
> + * Extra ASCII space characters in command inputs are permitted and ignored.
> + * Lines containing only spaces are permitted and ignored.
> + *
> * Valid requests
> * ^^^^^^^^^^^^^^
> *
> @@ -367,7 +370,11 @@ static void qtest_process_command(CharFrontend *chr, gchar **words)
> fprintf(qtest_log_fp, "\n");
> }
>
> - g_assert(command);
> + if (!command) {
> + /* Input line was blank: ignore it */
> + return;
> + }
> +
> if (strcmp(words[0], "irq_intercept_out") == 0
> || strcmp(words[0], "irq_intercept_in") == 0) {
> DeviceState *dev;
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Queued
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-11-22 3:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-06 15:19 [PATCH] qtest: Allow and ignore blank lines in input Peter Maydell
2025-11-21 18:38 ` Fabiano Rosas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).