diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2017-10-26 11:10:52 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2017-11-06 09:53:40 +0000 |
commit | 4d4cb193e40ff0dd55b2a201ab4fc783dabe1214 (patch) | |
tree | 2429ecaad38c6bfca0ffb0dc920730e9f588cf17 /tests | |
parent | 1fbdea32bf9b1251e006434680f0e9da8117ca93 (diff) |
Yield error if Rule.outputArtifacts has invalid elements
Check for validity of filePath and fileTags in Rule.outputArtifacts.
Change-Id: Id153695e8788732a40e6e5acb21a6d8b7f07f6e7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'tests')
6 files changed, 49 insertions, 0 deletions
diff --git a/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-filePath/main.cpp b/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-filePath/main.cpp new file mode 100644 index 000000000..76e819701 --- /dev/null +++ b/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-filePath/main.cpp @@ -0,0 +1 @@ +int main() { return 0; } diff --git a/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-filePath/outputArtifacts-missing-filePath.qbs b/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-filePath/outputArtifacts-missing-filePath.qbs new file mode 100644 index 000000000..7a6c3a25d --- /dev/null +++ b/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-filePath/outputArtifacts-missing-filePath.qbs @@ -0,0 +1,18 @@ +import qbs 1.0 + +CppApplication { + type: base.concat("txt") + files : ["main.cpp"] + Rule { + inputs: ["application"] + outputArtifacts: [{ + fileTags: ["txt"] + }] + outputFileTags: ["txt"] + prepare: { + var cmd = new JavaScriptCommand(); + cmd.silent = true; + return cmd; + } + } +} diff --git a/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-fileTags/main.cpp b/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-fileTags/main.cpp new file mode 100644 index 000000000..76e819701 --- /dev/null +++ b/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-fileTags/main.cpp @@ -0,0 +1 @@ +int main() { return 0; } diff --git a/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-fileTags/outputArtifacts-missing-fileTags.qbs b/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-fileTags/outputArtifacts-missing-fileTags.qbs new file mode 100644 index 000000000..9b71cf73a --- /dev/null +++ b/tests/auto/blackbox/testdata/erroneous/outputArtifacts-missing-fileTags/outputArtifacts-missing-fileTags.qbs @@ -0,0 +1,18 @@ +import qbs 1.0 + +CppApplication { + type: base.concat("txt") + files : ["main.cpp"] + Rule { + inputs: ["application"] + outputArtifacts: [{ + filePath: input.completeBaseName + ".txt" + }] + outputFileTags: ["txt"] + prepare: { + var cmd = new JavaScriptCommand(); + cmd.silent = true; + return cmd; + } + } +} diff --git a/tests/auto/blackbox/testdata/output-artifact-auto-tagging/output-artifact-auto-tagging.qbs b/tests/auto/blackbox/testdata/output-artifact-auto-tagging/output-artifact-auto-tagging.qbs index 49a732e23..a9090f3db 100644 --- a/tests/auto/blackbox/testdata/output-artifact-auto-tagging/output-artifact-auto-tagging.qbs +++ b/tests/auto/blackbox/testdata/output-artifact-auto-tagging/output-artifact-auto-tagging.qbs @@ -24,4 +24,8 @@ CppApplication { return [cmd]; } } + FileTagger { + patterns: ["*.nomatch"] + fileTags: ["utter nonsense"] + } } diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp index 8869e2619..3b123f779 100644 --- a/tests/auto/blackbox/tst_blackbox.cpp +++ b/tests/auto/blackbox/tst_blackbox.cpp @@ -2889,6 +2889,13 @@ void TestBlackbox::erroneousFiles_data() QTest::addColumn<QString>("errorMessage"); QTest::newRow("nonexistentWorkingDir") << "The working directory '.does.not.exist' for process '.*ls.*' is invalid."; + QTest::newRow("outputArtifacts-missing-filePath") + << "Error in Rule\\.outputArtifacts\\[0\\]\n\r?" + "Property filePath must be a non-empty string\\."; + QTest::newRow("outputArtifacts-missing-fileTags") + << "Error in Rule\\.outputArtifacts\\[0\\]\n\r?" + "Property fileTags for artifact 'outputArtifacts-missing-fileTags\\.txt' " + "must be a non-empty string list\\."; } void TestBlackbox::erroneousFiles() |