forked from qt-creator/qt-creator
Revert "Utils: Fix quoting on Linux"
This reverts commit 97a37eb6fd
, breaks tst_Process::iterations.
The new tst_CommandLine::testMultiQuote_win() fails in the CI, too.
Change-Id: I657b7bbf073a06a3175c88a25eba019dad2c830d
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
@@ -516,7 +516,7 @@ QString ProcessArgs::quoteArgUnix(const QString &arg)
|
|||||||
if (arg == "&&" || arg == "||" || arg == "&" || arg == ';')
|
if (arg == "&&" || arg == "||" || arg == "&" || arg == ';')
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
ret.replace(QLatin1Char('\''), QLatin1String(R"('"'"')"));
|
ret.replace(QLatin1Char('\''), QLatin1String("'\\''"));
|
||||||
ret.prepend(QLatin1Char('\''));
|
ret.prepend(QLatin1Char('\''));
|
||||||
ret.append(QLatin1Char('\''));
|
ret.append(QLatin1Char('\''));
|
||||||
}
|
}
|
||||||
|
@@ -72,48 +72,6 @@ private slots:
|
|||||||
QCOMPARE(run(cmd), expected);
|
QCOMPARE(run(cmd), expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
void testMultiQuote_unix()
|
|
||||||
{
|
|
||||||
CommandLine cmd("echo", {"This is a long argument"}, OsTypeLinux);
|
|
||||||
CommandLine outer("echo", {}, OsTypeLinux);
|
|
||||||
|
|
||||||
outer.addCommandLineAsSingleArg(cmd, OsTypeLinux);
|
|
||||||
QCOMPARE(outer.toUserOutput(), R"(echo 'echo '"'"'This is a long argument'"'"'')");
|
|
||||||
|
|
||||||
CommandLine triple("echo", {}, OsTypeLinux);
|
|
||||||
QString expectedTriple
|
|
||||||
= R"(echo 'echo '"'"'echo '"'"'"'"'"'"'"'"'This is a long argument'"'"'"'"'"'"'"'"''"'"'')";
|
|
||||||
|
|
||||||
triple.addCommandLineAsSingleArg(outer, OsTypeLinux);
|
|
||||||
QCOMPARE(triple.toUserOutput(), expectedTriple);
|
|
||||||
}
|
|
||||||
|
|
||||||
void testMultiQuote_win()
|
|
||||||
{
|
|
||||||
CommandLine cmd("echo", {"This is a long argument"}, OsTypeWindows);
|
|
||||||
CommandLine outer("echo", {}, OsTypeWindows);
|
|
||||||
|
|
||||||
outer.addCommandLineAsSingleArg(cmd);
|
|
||||||
QCOMPARE(outer.toUserOutput(), R"(echo 'echo "This is a long argument"')");
|
|
||||||
|
|
||||||
CommandLine triple("echo", {}, OsTypeWindows);
|
|
||||||
triple.addCommandLineAsSingleArg(outer, OsTypeWindows);
|
|
||||||
QString expectedTriple = R"(echo "echo 'echo "\^""This is a long argument"\^""'")";
|
|
||||||
QCOMPARE(triple.toUserOutput(), expectedTriple);
|
|
||||||
}
|
|
||||||
|
|
||||||
void testMixedMultiQuote()
|
|
||||||
{
|
|
||||||
CommandLine
|
|
||||||
dockerExec("docker", {"exec", "not really an ID", "/bin/sh", "-c"}, OsTypeWindows);
|
|
||||||
CommandLine binsh("/bin/sh", {"-c", "echo 'Hello World'"}, OsTypeLinux);
|
|
||||||
|
|
||||||
dockerExec.addCommandLineAsSingleArg(binsh, OsTypeLinux);
|
|
||||||
QString expected
|
|
||||||
= R"(docker exec "not really an ID" /bin/sh -c '/bin/sh -c '"'"'echo '"'"'"'"'"'"'"'"'Hello World'"'"'"'"'"'"'"'"''"'"'')";
|
|
||||||
QCOMPARE(dockerExec.toUserOutput(), expected);
|
|
||||||
}
|
|
||||||
|
|
||||||
void testAnd()
|
void testAnd()
|
||||||
{
|
{
|
||||||
QStringList args = {"foo", "bar", "baz"};
|
QStringList args = {"foo", "bar", "baz"};
|
||||||
|
Reference in New Issue
Block a user