From 5acd507e853fe67f1065dc69933d81e2564fb002 Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Wed, 6 Oct 2021 11:14:27 +0300 Subject: Fix setting stringlist properties in module providers ...when using foo,bar,baz syntax Change-Id: I013a55f02c5d6d4bbbccf809b9524bed3c486df4 Reviewed-by: Christian Kandeler --- .../providers-properties/module-providers/provider_a.qbs | 4 ++-- .../providers-properties/module-providers/provider_b.qbs | 4 ++-- .../testdata/providers-properties/providers-properties.qbs | 5 +++-- tests/auto/blackbox/testdata/qbs-module-providers-helpers.js | 9 +++++++-- tests/auto/blackbox/tst_blackbox.cpp | 7 ++++--- 5 files changed, 18 insertions(+), 11 deletions(-) (limited to 'tests') diff --git a/tests/auto/blackbox/testdata/providers-properties/module-providers/provider_a.qbs b/tests/auto/blackbox/testdata/providers-properties/module-providers/provider_a.qbs index 7985199c1..ab9d475d8 100644 --- a/tests/auto/blackbox/testdata/providers-properties/module-providers/provider_a.qbs +++ b/tests/auto/blackbox/testdata/providers-properties/module-providers/provider_a.qbs @@ -1,9 +1,9 @@ import "../../qbs-module-providers-helpers.js" as Helpers ModuleProvider { - property string someProp: "provider_a" + property stringList someProp: "provider_a" relativeSearchPaths: { - Helpers.writeModule(outputBaseDir, "qbsmetatestmodule", someProp); + Helpers.writeModule(outputBaseDir, "qbsmetatestmodule", undefined, someProp); return ""; } } diff --git a/tests/auto/blackbox/testdata/providers-properties/module-providers/provider_b.qbs b/tests/auto/blackbox/testdata/providers-properties/module-providers/provider_b.qbs index 58042d8d3..1b2a79979 100644 --- a/tests/auto/blackbox/testdata/providers-properties/module-providers/provider_b.qbs +++ b/tests/auto/blackbox/testdata/providers-properties/module-providers/provider_b.qbs @@ -1,9 +1,9 @@ import "../../qbs-module-providers-helpers.js" as Helpers ModuleProvider { - property string someProp: "provider_b" + property stringList someProp: "provider_b" relativeSearchPaths: { - Helpers.writeModule(outputBaseDir, "qbsothermodule", someProp); + Helpers.writeModule(outputBaseDir, "qbsothermodule", undefined, someProp); return ""; } } diff --git a/tests/auto/blackbox/testdata/providers-properties/providers-properties.qbs b/tests/auto/blackbox/testdata/providers-properties/providers-properties.qbs index e29536c17..258a973fa 100644 --- a/tests/auto/blackbox/testdata/providers-properties/providers-properties.qbs +++ b/tests/auto/blackbox/testdata/providers-properties/providers-properties.qbs @@ -5,7 +5,8 @@ Product { Depends { name: "qbsothermodule" } moduleProviders.provider_a.someProp: "someValue" property bool dummy: { - console.info("p.qbsmetatestmodule.prop: " + qbsmetatestmodule.prop); - console.info("p.qbsothermodule.prop: " + qbsothermodule.prop); + console.info("p.qbsmetatestmodule.listProp: " + + JSON.stringify(qbsmetatestmodule.listProp)); + console.info("p.qbsothermodule.listProp: " + JSON.stringify(qbsothermodule.listProp)); } } diff --git a/tests/auto/blackbox/testdata/qbs-module-providers-helpers.js b/tests/auto/blackbox/testdata/qbs-module-providers-helpers.js index 2a2acfdcb..b33b87329 100644 --- a/tests/auto/blackbox/testdata/qbs-module-providers-helpers.js +++ b/tests/auto/blackbox/testdata/qbs-module-providers-helpers.js @@ -1,14 +1,19 @@ var File = require("qbs.File"); var FileInfo = require("qbs.FileInfo"); var TextFile = require("qbs.TextFile"); +var ModUtils = require("qbs.ModUtils"); -function writeModule(outputBaseDir, name, prop) { +function writeModule(outputBaseDir, name, prop, listProp) { console.info("Running setup script for " + name); var moduleDir = FileInfo.joinPaths(outputBaseDir, "modules", name); File.makePath(moduleDir); var module = new TextFile(FileInfo.joinPaths(moduleDir, "module.qbs"), TextFile.WriteOnly); module.writeLine("Module {"); - module.writeLine(" property string prop: '" + prop + "'"); + module.writeLine(" property string prop: " + ModUtils.toJSLiteral(prop)); + if (listProp) { + module.writeLine(" property stringList listProp: " + + ModUtils.toJSLiteral(listProp)); + } module.writeLine("}"); module.close(); } diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp index 75dec843b..3cacd67e9 100644 --- a/tests/auto/blackbox/tst_blackbox.cpp +++ b/tests/auto/blackbox/tst_blackbox.cpp @@ -5852,10 +5852,11 @@ void TestBlackbox::providersProperties() QDir::setCurrent(testDataDir + "/providers-properties"); QbsRunParameters params("build"); - params.arguments = QStringList("moduleProviders.provider_b.someProp: \"otherValue\""); + params.arguments = QStringList("moduleProviders.provider_b.someProp: \"first,second\""); QCOMPARE(runQbs(params), 0); - QVERIFY2(m_qbsStdout.contains("p.qbsmetatestmodule.prop: someValue"), m_qbsStdout); - QVERIFY2(m_qbsStdout.contains("p.qbsothermodule.prop: otherValue"), m_qbsStdout); + QVERIFY2(m_qbsStdout.contains("p.qbsmetatestmodule.listProp: [\"someValue\"]"), m_qbsStdout); + QVERIFY2(m_qbsStdout.contains( + "p.qbsothermodule.listProp: [\"first\",\"second\"]"), m_qbsStdout); } void TestBlackbox::pseudoMultiplexing() -- cgit v1.2.3