diff --git a/src/plugins/vcsbase/vcsbase.pro b/src/plugins/vcsbase/vcsbase.pro index b433f817433..e256da05153 100644 --- a/src/plugins/vcsbase/vcsbase.pro +++ b/src/plugins/vcsbase/vcsbase.pro @@ -64,3 +64,5 @@ FORMS += commonsettingspage.ui \ nicknamedialog.ui \ cleandialog.ui \ submiteditorwidget.ui + +equals(TEST, 1): DEFINES += "SRC_DIR=\\\"$$IDE_SOURCE_TREE\\\"" diff --git a/src/plugins/vcsbase/vcsbase.qbs b/src/plugins/vcsbase/vcsbase.qbs index 857577a46a9..fc120227722 100644 --- a/src/plugins/vcsbase/vcsbase.qbs +++ b/src/plugins/vcsbase/vcsbase.qbs @@ -83,4 +83,6 @@ QtcPlugin { "wizard/vcsjsextension.cpp", "wizard/vcsjsextension.h", ] + + cpp.defines: base.concat( testsEnabled ? ['SRC_DIR="' + project.ide_source_tree + '"'] : [] ) } diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp index cb1c238aba2..0925088a83b 100644 --- a/src/plugins/vcsbase/vcsbaseeditor.cpp +++ b/src/plugins/vcsbase/vcsbaseeditor.cpp @@ -1635,6 +1635,8 @@ void VcsBase::VcsBaseEditorWidget::testDiffFileResolving(const char *id) QFETCH(QByteArray, fileName); QTextDocument doc(QString::fromLatin1(header)); QTextBlock block = doc.lastBlock(); + // set source root for shadow builds + widget->setSource(QString::fromLatin1(SRC_DIR)); QVERIFY(widget->fileNameFromDiffSpecification(block).endsWith(QString::fromLatin1(fileName))); delete editor;