aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/blackbox
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2014-06-10 15:39:43 +0200
committerJoerg Bornemann <joerg.bornemann@digia.com>2014-06-10 15:40:17 +0200
commit13fab8abe3b6d12220b0e93f55a5be439893fd68 (patch)
tree77d50fc6f9b87168208c9abc25eb4dc4868649b4 /tests/auto/blackbox
parentcd97ec90e12e572c431fd6edd650afa95332a0e0 (diff)
parenta52f265fcd70b51acc15b0fc5000014f1b1fed29 (diff)
Merge remote-tracking branch 'origin/1.2'
Diffstat (limited to 'tests/auto/blackbox')
-rw-r--r--tests/auto/blackbox/testdata/erroneous/nonexistentWorkingDir/project.qbs18
-rw-r--r--tests/auto/blackbox/tst_blackbox.cpp22
-rw-r--r--tests/auto/blackbox/tst_blackbox.h2
3 files changed, 42 insertions, 0 deletions
diff --git a/tests/auto/blackbox/testdata/erroneous/nonexistentWorkingDir/project.qbs b/tests/auto/blackbox/testdata/erroneous/nonexistentWorkingDir/project.qbs
new file mode 100644
index 000000000..db0b0d607
--- /dev/null
+++ b/tests/auto/blackbox/testdata/erroneous/nonexistentWorkingDir/project.qbs
@@ -0,0 +1,18 @@
+import qbs
+
+Application {
+ name: "kaputt"
+ Transformer {
+ Artifact {
+ fileName: "Stulle"
+ fileTags: ["nutritious"]
+ }
+ prepare: {
+ var cmd = new Command("ls");
+ cmd.workingDirectory = "/does/not/exist";
+ cmd.silent = true;
+ return [cmd];
+ }
+ }
+}
+
diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp
index eb3e01394..5ffb43961 100644
--- a/tests/auto/blackbox/tst_blackbox.cpp
+++ b/tests/auto/blackbox/tst_blackbox.cpp
@@ -1553,6 +1553,28 @@ void TestBlackbox::dynamicRuleOutputs()
QVERIFY(!QFile::exists(sourceFile2));
}
+void TestBlackbox::erroneousFiles_data()
+{
+ QTest::addColumn<QString>("errorMessage");
+ QTest::newRow("nonexistentWorkingDir")
+ << "The working directory '/does/not/exist' for process 'ls' is invalid.";
+}
+
+void TestBlackbox::erroneousFiles()
+{
+ QFETCH(QString, errorMessage);
+ QDir::setCurrent(testDataDir + "/erroneous/" + QTest::currentDataTag());
+ QbsRunParameters params;
+ params.expectFailure = true;
+ QVERIFY(runQbs(params) != 0);
+ QString err = QString::fromLocal8Bit(m_qbsStderr);
+ if (!err.contains(errorMessage)) {
+ qDebug() << "Output: " << err;
+ qDebug() << "Expected: " << errorMessage;
+ QFAIL("Unexpected error message.");
+ }
+}
+
void TestBlackbox::explicitlyDependsOn()
{
QDir::setCurrent(testDataDir + "/explicitlyDependsOn");
diff --git a/tests/auto/blackbox/tst_blackbox.h b/tests/auto/blackbox/tst_blackbox.h
index 844d01ff8..fc9ae76b5 100644
--- a/tests/auto/blackbox/tst_blackbox.h
+++ b/tests/auto/blackbox/tst_blackbox.h
@@ -114,6 +114,8 @@ private slots:
void duplicateProductNames_data();
void dynamicLibs();
void dynamicRuleOutputs();
+ void erroneousFiles_data();
+ void erroneousFiles();
void explicitlyDependsOn();
void fileDependencies();
void jsExtensionsFile();