aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/blackbox/testdata/scanner-item/modules/m/m.qbs9
-rw-r--r--tests/auto/blackbox/testdata/scanner-item/scanner-item.qbs24
-rw-r--r--tests/auto/blackbox/testdata/scanner-item/subdir1/file.inc0
-rw-r--r--tests/auto/blackbox/testdata/scanner-item/subdir1/file1.in0
-rw-r--r--tests/auto/blackbox/testdata/scanner-item/subdir2/file.inc0
-rw-r--r--tests/auto/blackbox/testdata/scanner-item/subdir2/file2.in0
-rw-r--r--tests/auto/blackbox/tst_blackbox.cpp18
-rw-r--r--tests/auto/blackbox/tst_blackbox.h1
8 files changed, 52 insertions, 0 deletions
diff --git a/tests/auto/blackbox/testdata/scanner-item/modules/m/m.qbs b/tests/auto/blackbox/testdata/scanner-item/modules/m/m.qbs
new file mode 100644
index 000000000..9af4cc539
--- /dev/null
+++ b/tests/auto/blackbox/testdata/scanner-item/modules/m/m.qbs
@@ -0,0 +1,9 @@
+import qbs.FileInfo
+
+Module {
+ Scanner {
+ inputs: "i"
+ searchPaths: [FileInfo.path(input.filePath)]
+ scan: ["file.inc"]
+ }
+}
diff --git a/tests/auto/blackbox/testdata/scanner-item/scanner-item.qbs b/tests/auto/blackbox/testdata/scanner-item/scanner-item.qbs
new file mode 100644
index 000000000..f389651d4
--- /dev/null
+++ b/tests/auto/blackbox/testdata/scanner-item/scanner-item.qbs
@@ -0,0 +1,24 @@
+import qbs.File
+import qbs.FileInfo
+
+Product {
+ type: "t"
+ Depends { name: "m" }
+ Group {
+ files: ["subdir1/file1.in", "subdir2/file2.in"]
+ fileTags: "i"
+ }
+ Rule {
+ inputs: "i"
+ Artifact {
+ filePath: FileInfo.baseName(input.fileName) + ".out"
+ fileTags: "t"
+ }
+ prepare: {
+ var cmd = new JavaScriptCommand();
+ cmd.description = "handling " + input.fileName;
+ cmd.sourceCode = function() { File.copy(input.filePath, output.filePath); };
+ return cmd;
+ }
+ }
+}
diff --git a/tests/auto/blackbox/testdata/scanner-item/subdir1/file.inc b/tests/auto/blackbox/testdata/scanner-item/subdir1/file.inc
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/auto/blackbox/testdata/scanner-item/subdir1/file.inc
diff --git a/tests/auto/blackbox/testdata/scanner-item/subdir1/file1.in b/tests/auto/blackbox/testdata/scanner-item/subdir1/file1.in
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/auto/blackbox/testdata/scanner-item/subdir1/file1.in
diff --git a/tests/auto/blackbox/testdata/scanner-item/subdir2/file.inc b/tests/auto/blackbox/testdata/scanner-item/subdir2/file.inc
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/auto/blackbox/testdata/scanner-item/subdir2/file.inc
diff --git a/tests/auto/blackbox/testdata/scanner-item/subdir2/file2.in b/tests/auto/blackbox/testdata/scanner-item/subdir2/file2.in
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/auto/blackbox/testdata/scanner-item/subdir2/file2.in
diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp
index d1cd1d503..df4a2066f 100644
--- a/tests/auto/blackbox/tst_blackbox.cpp
+++ b/tests/auto/blackbox/tst_blackbox.cpp
@@ -2410,6 +2410,24 @@ void TestBlackbox::ruleWithNonRequiredInputs()
QVERIFY2(m_qbsStdout.contains("Generating"), m_qbsStdout.constData());
}
+void TestBlackbox::scannerItem()
+{
+ QDir::setCurrent(testDataDir + "/scanner-item");
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(m_qbsStdout.contains("handling file1.in"), m_qbsStdout.constData());
+ QVERIFY2(m_qbsStdout.contains("handling file2.in"), m_qbsStdout.constData());
+ WAIT_FOR_NEW_TIMESTAMP();
+ touch("subdir1/file.inc");
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(m_qbsStdout.contains("handling file1.in"), m_qbsStdout.constData());
+ QVERIFY2(!m_qbsStdout.contains("handling file2.in"), m_qbsStdout.constData());
+ WAIT_FOR_NEW_TIMESTAMP();
+ touch("subdir2/file.inc");
+ QCOMPARE(runQbs(), 0);
+ QVERIFY2(!m_qbsStdout.contains("handling file1.in"), m_qbsStdout.constData());
+ QVERIFY2(m_qbsStdout.contains("handling file2.in"), m_qbsStdout.constData());
+}
+
void TestBlackbox::setupBuildEnvironment()
{
QDir::setCurrent(testDataDir + "/setup-build-environment");
diff --git a/tests/auto/blackbox/tst_blackbox.h b/tests/auto/blackbox/tst_blackbox.h
index 9a715e721..313ad5d40 100644
--- a/tests/auto/blackbox/tst_blackbox.h
+++ b/tests/auto/blackbox/tst_blackbox.h
@@ -247,6 +247,7 @@ private slots:
void ruleCycle();
void ruleWithNoInputs();
void ruleWithNonRequiredInputs();
+ void scannerItem();
void setupBuildEnvironment();
void setupRunEnvironment();
void smartRelinking();