diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2023-09-29 16:57:10 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2023-10-02 09:24:47 +0000 |
commit | 67895b81f7a991d4d5541d0743930cd5e184dd70 (patch) | |
tree | e517f215e97401b588528b1da1e0e06e36255853 /tests/auto | |
parent | 931a91cad81d760dad6e277196a46b10247138f5 (diff) |
Make scan scripts interruptible
Fixes: QBS-785
Change-Id: I5aeb24419e2ff2831105ae2a07d2d325dc0583f1
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Diffstat (limited to 'tests/auto')
7 files changed, 58 insertions, 0 deletions
diff --git a/tests/auto/api/testdata/infinite-loop-scanning-scan/file.in b/tests/auto/api/testdata/infinite-loop-scanning-scan/file.in new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/auto/api/testdata/infinite-loop-scanning-scan/file.in diff --git a/tests/auto/api/testdata/infinite-loop-scanning-scan/infinite-loop.qbs b/tests/auto/api/testdata/infinite-loop-scanning-scan/infinite-loop.qbs new file mode 100644 index 000000000..5e3e33b6e --- /dev/null +++ b/tests/auto/api/testdata/infinite-loop-scanning-scan/infinite-loop.qbs @@ -0,0 +1,21 @@ +Product { + type: "t" + Depends { name: "m" } + Group { + files: "file.in" + fileTags: "i" + } + Rule { + inputs: "i" + Artifact { + filePath: "dummy" + fileTags: "t" + } + prepare: { + var cmd = new JavaScriptCommand(); + cmd.silent = true; + cmd.sourceCode = function() {}; + return cmd; + } + } +} diff --git a/tests/auto/api/testdata/infinite-loop-scanning-scan/modules/m/m.qbs b/tests/auto/api/testdata/infinite-loop-scanning-scan/modules/m/m.qbs new file mode 100644 index 000000000..9c8a18072 --- /dev/null +++ b/tests/auto/api/testdata/infinite-loop-scanning-scan/modules/m/m.qbs @@ -0,0 +1,6 @@ +Module { + Scanner { + inputs: "i" + scan: { while (true); } + } +}
\ No newline at end of file diff --git a/tests/auto/api/testdata/infinite-loop-scanning-searchpaths/file.in b/tests/auto/api/testdata/infinite-loop-scanning-searchpaths/file.in new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/auto/api/testdata/infinite-loop-scanning-searchpaths/file.in diff --git a/tests/auto/api/testdata/infinite-loop-scanning-searchpaths/infinite-loop.qbs b/tests/auto/api/testdata/infinite-loop-scanning-searchpaths/infinite-loop.qbs new file mode 100644 index 000000000..5e3e33b6e --- /dev/null +++ b/tests/auto/api/testdata/infinite-loop-scanning-searchpaths/infinite-loop.qbs @@ -0,0 +1,21 @@ +Product { + type: "t" + Depends { name: "m" } + Group { + files: "file.in" + fileTags: "i" + } + Rule { + inputs: "i" + Artifact { + filePath: "dummy" + fileTags: "t" + } + prepare: { + var cmd = new JavaScriptCommand(); + cmd.silent = true; + cmd.sourceCode = function() {}; + return cmd; + } + } +} diff --git a/tests/auto/api/testdata/infinite-loop-scanning-searchpaths/modules/m/m.qbs b/tests/auto/api/testdata/infinite-loop-scanning-searchpaths/modules/m/m.qbs new file mode 100644 index 000000000..0476478b9 --- /dev/null +++ b/tests/auto/api/testdata/infinite-loop-scanning-searchpaths/modules/m/m.qbs @@ -0,0 +1,7 @@ +Module { + Scanner { + inputs: "i" + searchPaths: { while (true); } + scan: [] + } +} diff --git a/tests/auto/api/tst_api.cpp b/tests/auto/api/tst_api.cpp index 140cadeb9..d3141ce59 100644 --- a/tests/auto/api/tst_api.cpp +++ b/tests/auto/api/tst_api.cpp @@ -1422,6 +1422,9 @@ void TestApi::infiniteLoopBuilding_data() QTest::addColumn<QString>("projectDirName"); QTest::newRow("JS Command") << QString("infinite-loop-js"); QTest::newRow("Process Command") << QString("infinite-loop-process"); + QTest::newRow("Scanner (scan property)") << QString("infinite-loop-scanning-scan"); + QTest::newRow("Scanner (searchPaths property)") + << QString("infinite-loop-scanning-searchpaths"); } void TestApi::infiniteLoopResolving() |