From dc4e955126af880788ebf545ba1df9f66e745195 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 15 Jan 2016 12:24:10 +0100 Subject: [PATCH] Fix construction of source file for test results Change-Id: I9dff118aa8f8871812e1881f0c73220d56ab16d5 Reviewed-by: Niels Weber --- plugins/autotest/testoutputreader.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/autotest/testoutputreader.cpp b/plugins/autotest/testoutputreader.cpp index df4083b3083..4ebfed8e7c0 100644 --- a/plugins/autotest/testoutputreader.cpp +++ b/plugins/autotest/testoutputreader.cpp @@ -210,9 +210,11 @@ void TestOutputReader::processOutput() result = TestResult::resultFromString( attributes.value(QStringLiteral("type")).toString()); file = decode(attributes.value(QStringLiteral("file")).toString()); - if (!file.isEmpty()) - file = constructSourceFilePath(m_testApplication->workingDirectory(), file, + if (!file.isEmpty()) { + const QString base = QFileInfo(m_testApplication->program()).absolutePath(); + file = constructSourceFilePath(base, file, m_testApplication->program()); + } lineNumber = attributes.value(QStringLiteral("line")).toInt(); } else if (currentTag == QStringLiteral("BenchmarkResult")) { const QXmlStreamAttributes &attributes = xmlReader.attributes(); @@ -400,8 +402,8 @@ void TestOutputReader::processGTestOutput() int firstColon = description.indexOf(QLatin1Char(':')); if (firstColon != -1) { int secondColon = description.indexOf(QLatin1Char(':'), firstColon + 1); - QString file = constructSourceFilePath(m_testApplication->workingDirectory(), - description.left(firstColon), + const QString base = QFileInfo(m_testApplication->program()).absolutePath(); + QString file = constructSourceFilePath(base, description.left(firstColon), m_testApplication->program()); QString line = description.mid(firstColon + 1, secondColon - firstColon - 1); testResult->setFileName(file);