diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2013-10-28 15:19:29 +0100 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2013-10-29 17:10:11 +0100 |
commit | ff6483f79d5f89f4a68f20548e6d4f38b004fb94 (patch) | |
tree | 7b2be8558a0baf7e810a04bca7c1f66dab7062a1 | |
parent | bb3f7fa4ead8b0a23539376fc4d23aee51a88863 (diff) |
Add failing autotests for bugs.
Change-Id: I217eac496994fdddf6a4577bddd79f3d76bba450
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
4 files changed, 43 insertions, 0 deletions
diff --git a/tests/auto/api/testdata/nonexistingprojectproperties/invalidaccessfromproduct.qbs b/tests/auto/api/testdata/nonexistingprojectproperties/invalidaccessfromproduct.qbs new file mode 100644 index 000000000..c024b3c2c --- /dev/null +++ b/tests/auto/api/testdata/nonexistingprojectproperties/invalidaccessfromproduct.qbs @@ -0,0 +1,3 @@ +import qbs + +Project { Product { type: project.blubb } } diff --git a/tests/auto/api/testdata/nonexistingprojectproperties/project.qbs b/tests/auto/api/testdata/nonexistingprojectproperties/project.qbs new file mode 100644 index 000000000..7d453a671 --- /dev/null +++ b/tests/auto/api/testdata/nonexistingprojectproperties/project.qbs @@ -0,0 +1,3 @@ +import qbs + +Project { } diff --git a/tests/auto/api/tst_api.cpp b/tests/auto/api/tst_api.cpp index 7c16f38fa..6cd7d608c 100644 --- a/tests/auto/api/tst_api.cpp +++ b/tests/auto/api/tst_api.cpp @@ -172,6 +172,41 @@ void TestApi::listBuildSystemFiles() + QLatin1String("/subproject2/subproject3/subproject3.qbs"))); } +void TestApi::nonexistingProjectPropertyFromProduct() +{ + qbs::SetupProjectParameters setupParams = defaultSetupParameters(); + const QString projectDir + = QDir::cleanPath(QLatin1String(SRCDIR "/testdata/nonexistingprojectproperties")); + const QString topLevelProjectFile = projectDir + QLatin1String("/invalidaccessfromproduct.qbs"); + setupParams.setProjectFilePath(topLevelProjectFile); + QScopedPointer<qbs::SetupProjectJob> job(qbs::Project::setupProject(setupParams, + m_logSink, 0)); + waitForFinished(job.data()); + QEXPECT_FAIL("", "QBS-432", Abort); + QVERIFY(job->error().hasError()); + QVERIFY2(job->error().toString().contains(QLatin1String("blubb")), + qPrintable(job->error().toString())); +} + +void TestApi::nonexistingProjectPropertyFromCommandLine() +{ + qbs::SetupProjectParameters setupParams = defaultSetupParameters(); + const QString projectDir + = QDir::cleanPath(QLatin1String(SRCDIR "/testdata/nonexistingprojectproperties")); + const QString topLevelProjectFile = projectDir + QLatin1String("/project.qbs"); + setupParams.setProjectFilePath(topLevelProjectFile); + QVariantMap projectProperties; + projectProperties.insert(QLatin1String("project.blubb"), QLatin1String("true")); + setupParams.setOverriddenValues(projectProperties); + QScopedPointer<qbs::SetupProjectJob> job(qbs::Project::setupProject(setupParams, + m_logSink, 0)); + waitForFinished(job.data()); + QEXPECT_FAIL("", "QBS-431", Abort); + QVERIFY(job->error().hasError()); + QVERIFY2(job->error().toString().contains(QLatin1String("blubb")), + qPrintable(job->error().toString())); +} + qbs::SetupProjectParameters TestApi::defaultSetupParameters() const { qbs::SetupProjectParameters setupParams; diff --git a/tests/auto/api/tst_api.h b/tests/auto/api/tst_api.h index 3ca6935ab..707ccf85e 100644 --- a/tests/auto/api/tst_api.h +++ b/tests/auto/api/tst_api.h @@ -50,6 +50,8 @@ private slots: void fileTagsFilterOverride(); void installableFiles(); void listBuildSystemFiles(); + void nonexistingProjectPropertyFromProduct(); + void nonexistingProjectPropertyFromCommandLine(); private: qbs::SetupProjectParameters defaultSetupParameters() const; |