summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2013-07-23 14:11:18 +0200
committerChristian Kandeler <christian.kandeler@digia.com>2013-07-23 15:45:13 +0200
commit562018efc6cb5d7fab1290da0e5c5169b71524f2 (patch)
treed70f10ddae53005983a3176bb3f5c634cad104de
parent57e4655e07087a50dfbdd3b9d6886c941bb2ff6f (diff)
downloadqbs-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.cpp24
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";