When passing kernel arguments to QEMU with --append we need to take care that things are properly escaped. It's easier if we get the run script to do it for us that constructed the nested escaped --qargs.
Reviewed-by: Marc-André Lureau <[email protected]> Message-ID: <[email protected]> Signed-off-by: Alex Bennée <[email protected]> --- tests/guest-debug/run-test.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/guest-debug/run-test.py b/tests/guest-debug/run-test.py index 838c1c26971..4aa24939b7d 100755 --- a/tests/guest-debug/run-test.py +++ b/tests/guest-debug/run-test.py @@ -25,6 +25,7 @@ def get_args(): required=True) parser.add_argument("--qargs", help="Qemu arguments for test") parser.add_argument("--pargs", help="Program arguments for test") + parser.add_argument("--kargs", help="Kernel args to --append") parser.add_argument("--binary", help="Binary to debug", required=True) parser.add_argument("--test", help="GDB test script") @@ -82,6 +83,8 @@ def log(output, msg): suspend = ' -S' cmd = f'{args.qemu} {args.qargs} {args.binary}' \ f'{suspend} -gdb unix:path={socket_name},server=on' + if args.kargs: + cmd += f" --append '{args.kargs}'" # There is no guest program command-line in system mode. assert not args.pargs else: @@ -93,6 +96,8 @@ def log(output, msg): f' {args.binary}' if args.pargs: cmd += f' {args.pargs}' + # There are no appended args in user-mode + assert not args.kargs log(output, "QEMU CMD: %s" % (cmd)) inferior = subprocess.Popen(shlex.split(cmd)) -- 2.47.3
