diff options
author | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-06-10 15:39:43 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-06-10 15:40:17 +0200 |
commit | 13fab8abe3b6d12220b0e93f55a5be439893fd68 (patch) | |
tree | 77d50fc6f9b87168208c9abc25eb4dc4868649b4 /tests/auto/blackbox | |
parent | cd97ec90e12e572c431fd6edd650afa95332a0e0 (diff) | |
parent | a52f265fcd70b51acc15b0fc5000014f1b1fed29 (diff) |
Merge remote-tracking branch 'origin/1.2'
Change-Id: I603430421156e4d23451a7a4ba0f884d6556f89a
Diffstat (limited to 'tests/auto/blackbox')
-rw-r--r-- | tests/auto/blackbox/testdata/erroneous/nonexistentWorkingDir/project.qbs | 18 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackbox.cpp | 22 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackbox.h | 2 |
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(); |