aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2014-01-27 17:09:18 +0100
committerChristian Kandeler <christian.kandeler@digia.com>2014-01-27 17:17:05 +0100
commit11212b4f40381e2a60a7339cfa0282b33e84e2d9 (patch)
treecb2013f5a2b469cbfb1e9e8d9f9bc7f02a0042be /tests
parentf98fb6e827d777dd0c5e7c52249aaa452e3bae8e (diff)
Do not match files in build directories as source files.
This can currently happen if the user builds in the source dir and uses recursive wildcards. Change-Id: I5f3be03313640af046478ca55a381f14605176d4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/api/testdata/source-file-in-build-dir/file.cpp0
-rw-r--r--tests/auto/api/testdata/source-file-in-build-dir/project.qbs5
-rw-r--r--tests/auto/api/testdata/source-file-in-build-dir/qt-debug/moc_blubb.cpp0
-rw-r--r--tests/auto/api/testdata/source-file-in-build-dir/qt-debug/qt-debug.bg0
-rw-r--r--tests/auto/api/tst_api.cpp17
-rw-r--r--tests/auto/api/tst_api.h1
6 files changed, 23 insertions, 0 deletions
diff --git a/tests/auto/api/testdata/source-file-in-build-dir/file.cpp b/tests/auto/api/testdata/source-file-in-build-dir/file.cpp
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/auto/api/testdata/source-file-in-build-dir/file.cpp
diff --git a/tests/auto/api/testdata/source-file-in-build-dir/project.qbs b/tests/auto/api/testdata/source-file-in-build-dir/project.qbs
new file mode 100644
index 000000000..47ae50a93
--- /dev/null
+++ b/tests/auto/api/testdata/source-file-in-build-dir/project.qbs
@@ -0,0 +1,5 @@
+import qbs
+
+CppApplication {
+ files: "**/*.cpp"
+}
diff --git a/tests/auto/api/testdata/source-file-in-build-dir/qt-debug/moc_blubb.cpp b/tests/auto/api/testdata/source-file-in-build-dir/qt-debug/moc_blubb.cpp
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/auto/api/testdata/source-file-in-build-dir/qt-debug/moc_blubb.cpp
diff --git a/tests/auto/api/testdata/source-file-in-build-dir/qt-debug/qt-debug.bg b/tests/auto/api/testdata/source-file-in-build-dir/qt-debug/qt-debug.bg
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/auto/api/testdata/source-file-in-build-dir/qt-debug/qt-debug.bg
diff --git a/tests/auto/api/tst_api.cpp b/tests/auto/api/tst_api.cpp
index c2b43980e..7536f4302 100644
--- a/tests/auto/api/tst_api.cpp
+++ b/tests/auto/api/tst_api.cpp
@@ -517,6 +517,23 @@ void TestApi::references()
QCOMPARE(subProjectFileName, QString("p.qbs"));
}
+void TestApi::sourceFileInBuildDir()
+{
+ qbs::SetupProjectParameters setupParams = defaultSetupParameters();
+ const QString projectDir = QDir::cleanPath(m_workingDataDir + "/source-file-in-build-dir");
+ setupParams.setProjectFilePath(projectDir + QLatin1String("/project.qbs"));
+ QScopedPointer<qbs::SetupProjectJob> job(qbs::Project::setupProject(setupParams,
+ m_logSink, 0));
+ waitForFinished(job.data());
+ QVERIFY2(!job->error().hasError(), qPrintable(job->error().toString()));
+ const qbs::ProjectData projectData = job->project().projectData();
+ QCOMPARE(projectData.allProducts().count(), 1);
+ const qbs::ProductData product = projectData.allProducts().first();
+ QCOMPARE(product.groups().count(), 1);
+ const qbs::GroupData group = product.groups().first();
+ QCOMPARE(group.allFilePaths().count(), 1);
+}
+
QTEST_MAIN(TestApi)
#include "tst_api.moc"
diff --git a/tests/auto/api/tst_api.h b/tests/auto/api/tst_api.h
index bc40ad0da..4f2ce62f9 100644
--- a/tests/auto/api/tst_api.h
+++ b/tests/auto/api/tst_api.h
@@ -55,6 +55,7 @@ private slots:
void nonexistingProjectPropertyFromProduct();
void nonexistingProjectPropertyFromCommandLine();
void references();
+ void sourceFileInBuildDir();
private:
qbs::SetupProjectParameters defaultSetupParameters() const;