From 7cfe7c198224babeb06eac583e419bbd82c7217e Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 6 Dec 2013 10:17:05 +0200 Subject: Windows command line parsing: Do escape backslash. This will break network paths passed as command line arguments. Introduced by 4ff6951550cb6e39c3b31895c3af57037e90c9ac . Task-number: QTBUG-35432 Task-number: QTBUG-30628 Change-Id: Ice9ce15275ef69e9e9e82daf5a303e7c56294368 Reviewed-by: Lars Knoll --- .../auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp b/tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp index d8965dee5d..06234ad22d 100644 --- a/tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp +++ b/tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp @@ -550,15 +550,16 @@ void tst_QCommandLineParser::testQuoteEscaping() QProcess process; process.start("testhelper/qcommandlineparser_test_helper", QStringList() << QString::number(QCommandLineParser::ParseAsCompactedShortOptions) << - "-DKEY1=\"VALUE1\"" << "-DKEY2=\\\"VALUE2\\\"" << + "\\\\server\\path" << + "-DKEY1=\"VALUE1\"" "-DQTBUG-15379=C:\\path\\'file.ext" << "-DQTBUG-30628=C:\\temp\\'file'.ext"); QVERIFY(process.waitForFinished(5000)); QCOMPARE(process.exitStatus(), QProcess::NormalExit); QString output = process.readAll(); QVERIFY2(!output.contains("ERROR"), qPrintable(output)); + QVERIFY2(output.contains("\\\\server\\path"), qPrintable(output)); QVERIFY2(output.contains("KEY1=\"VALUE1\""), qPrintable(output)); - QVERIFY2(output.contains("KEY2=\\\"VALUE2\\\""), qPrintable(output)); QVERIFY2(output.contains("QTBUG-15379=C:\\path\\'file.ext"), qPrintable(output)); QVERIFY2(output.contains("QTBUG-30628=C:\\temp\\'file'.ext"), qPrintable(output)); } -- cgit v1.2.3