aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/blackbox
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2013-03-25 17:15:03 +0100
committerChristian Kandeler <christian.kandeler@digia.com>2013-03-26 11:51:43 +0100
commit83a24ab31851e939a3837e77e967fc55c2c5297a (patch)
tree66148794539dac58f44c4618880a6529d44afe45 /tests/auto/blackbox
parentf8b8aa5c5fdab5da3d43b693b974fa46b6b4bd6e (diff)
Add new command "resolve".
This resolves the project and applies the rules, but does not build it. Saving the build graph can be switched off using the "--dry-run" option. Change-Id: Ib917937a9aac1f3405d95adfd8a2fd5666a84af2 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'tests/auto/blackbox')
-rw-r--r--tests/auto/blackbox/tst_blackbox.cpp42
-rw-r--r--tests/auto/blackbox/tst_blackbox.h4
2 files changed, 45 insertions, 1 deletions
diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp
index f938981ba..937421f3e 100644
--- a/tests/auto/blackbox/tst_blackbox.cpp
+++ b/tests/auto/blackbox/tst_blackbox.cpp
@@ -242,7 +242,47 @@ void TestBlackbox::build_project_dry_run()
QCOMPARE(runQbs(QStringList() << "-n"), 0);
const QStringList &buildDirContents
= QDir(buildDir).entryList(QDir::NoDotAndDotDot | QDir::Files | QDir::Dirs);
- QVERIFY2(buildDirContents.count() == 1, qPrintable(buildDirContents.join(" ")));
+ QVERIFY2(buildDirContents.isEmpty(), qPrintable(buildDirContents.join(" ")));
+}
+
+void TestBlackbox::resolve_project_data()
+{
+ return build_project_data();
+}
+
+void TestBlackbox::resolve_project()
+{
+ QFETCH(QString, projectSubDir);
+ QFETCH(QString, productFileName);
+ if (!projectSubDir.startsWith('/'))
+ projectSubDir.prepend('/');
+ QVERIFY2(QFile::exists(testDataDir + projectSubDir), qPrintable(testDataDir + projectSubDir));
+ QDir::setCurrent(testDataDir + projectSubDir);
+ rmDirR(buildDir);
+
+ QCOMPARE(runQbs(QStringList() << QLatin1String("resolve")), 0);
+ QVERIFY2(!QFile::exists(productFileName), qPrintable(productFileName));
+ QVERIFY(QFile::exists(buildGraphPath));
+}
+
+void TestBlackbox::resolve_project_dry_run_data()
+{
+ return resolve_project_data();
+}
+
+void TestBlackbox::resolve_project_dry_run()
+{
+ QFETCH(QString, projectSubDir);
+ QFETCH(QString, productFileName);
+ if (!projectSubDir.startsWith('/'))
+ projectSubDir.prepend('/');
+ QVERIFY2(QFile::exists(testDataDir + projectSubDir), qPrintable(testDataDir + projectSubDir));
+ QDir::setCurrent(testDataDir + projectSubDir);
+ rmDirR(buildDir);
+
+ QCOMPARE(runQbs(QStringList() << QLatin1String("resolve") << QLatin1String("-n")), 0);
+ QVERIFY2(!QFile::exists(productFileName), qPrintable(productFileName));
+ QVERIFY2(!QFile::exists(buildGraphPath), qPrintable(buildGraphPath));
}
void TestBlackbox::clean()
diff --git a/tests/auto/blackbox/tst_blackbox.h b/tests/auto/blackbox/tst_blackbox.h
index 20c3c4a54..d1d32e05e 100644
--- a/tests/auto/blackbox/tst_blackbox.h
+++ b/tests/auto/blackbox/tst_blackbox.h
@@ -65,6 +65,10 @@ private slots:
void build_project();
void build_project_dry_run_data();
void build_project_dry_run();
+ void resolve_project_data();
+ void resolve_project();
+ void resolve_project_dry_run_data();
+ void resolve_project_dry_run();
void clean();
void track_qrc();
void track_qobject_change();