AndroidTestRunner: make build command program deduction more robust
Currently, if the cmake program path passed to androidtestrunner contains space, QProcess will get an invalid program path. To fix that, quote the cmake command passed to androidtestrunner and use QProcess::splitCommand() to get the program and args list. Task-number: QTBUG-105524 Change-Id: Icb665033884127972bff205157ff22aa469c135c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit a1b1759abfce0972a75072893148fc8ed7fa6bd2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
65553541af
commit
73521467d2
@ -201,7 +201,7 @@ function(qt_internal_android_test_arguments target timeout out_test_runner out_t
|
||||
"--path" "${apk_dir}"
|
||||
"--adb" "${ANDROID_SDK_ROOT}/platform-tools/adb"
|
||||
"--skip-install-root"
|
||||
"--make" "${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target ${target}_make_apk"
|
||||
"--make" "\"${CMAKE_COMMAND}\" --build ${CMAKE_BINARY_DIR} --target ${target}_make_apk"
|
||||
"--apk" "${apk_dir}/${target}.apk"
|
||||
"--ndk-stack" "${ANDROID_NDK_ROOT}/ndk-stack"
|
||||
"--timeout" "${timeout}"
|
||||
|
@ -191,7 +191,7 @@ static bool execAdbCommand(const QStringList &args, QByteArray *output = nullptr
|
||||
|
||||
static bool execCommand(const QString &command, QByteArray *output = nullptr, bool verbose = true)
|
||||
{
|
||||
auto args = command.split(u' ');
|
||||
auto args = QProcess::splitCommand(command);
|
||||
const auto program = args.first();
|
||||
args.removeOne(program);
|
||||
return execCommand(program, args, output, verbose);
|
||||
|
Loading…
x
Reference in New Issue
Block a user