diff options
| author | Joerg Bornemann <joerg.bornemann@digia.com> | 2013-07-23 14:11:18 +0200 |
|---|---|---|
| committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-07-23 15:45:13 +0200 |
| commit | 562018efc6cb5d7fab1290da0e5c5169b71524f2 (patch) | |
| tree | d70f10ddae53005983a3176bb3f5c634cad104de | |
| parent | 57e4655e07087a50dfbdd3b9d6886c941bb2ff6f (diff) | |
| download | qbs-562018efc6cb5d7fab1290da0e5c5169b71524f2.tar.gz | |
make TestBlackbox::missingProfile work with default profiles
We cannot rely on having no default profile on the test machines.
Change-Id: Ie1d0c0868ad7f67da8d4b57793f070f5418eef36
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
| -rw-r--r-- | tests/auto/blackbox/tst_blackbox.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp index cb91da3fd..8c0404635 100644 --- a/tests/auto/blackbox/tst_blackbox.cpp +++ b/tests/auto/blackbox/tst_blackbox.cpp @@ -1129,11 +1129,31 @@ void TestBlackbox::checkProjectFilePath() QVERIFY(m_qbsStderr.contains("project file")); } +class TemporaryDefaultProfileRemover +{ +public: + TemporaryDefaultProfileRemover(const SettingsPtr &settings) + : m_settings(settings), m_defaultProfile(settings->defaultProfile()) + { + m_settings->remove(QLatin1String("defaultProfile")); + } + + ~TemporaryDefaultProfileRemover() + { + if (!m_defaultProfile.isEmpty()) + m_settings->setValue(QLatin1String("defaultProfile"), m_defaultProfile); + } + +private: + SettingsPtr m_settings; + const QString m_defaultProfile; +}; + void TestBlackbox::missingProfile() { SettingsPtr settings = qbsSettings(); - if (!settings->defaultProfile().isEmpty()) - SKIP_TEST("default profile exists"); + TemporaryDefaultProfileRemover dpr(settings); + QVERIFY(settings->defaultProfile().isEmpty()); QDir::setCurrent(testDataDir + "/project_filepath_check"); QbsRunParameters params; params.arguments = QStringList("-f") << "project1.qbs"; |
