From 517a121ac97032942220acae60f7b93d49d930f9 Mon Sep 17 00:00:00 2001 From: Denis Shienkov Date: Wed, 31 Mar 2021 17:40:10 +0300 Subject: baremetal: Improve 'linker-map' test We don't need in multiple test data instances (*.qbs) for each property, because we can pass the required properties from the C++ code directly. Change-Id: I3bc05db5f6c0d2533f9799cbadb830c0c687e1e5 Reviewed-by: Ivan Komissarov --- .../do-not-generate-linker-map.qbs | 11 ----------- .../do-not-generate-linker-map/main.c | 4 ---- .../generate-linker-map/generate-linker-map.qbs | 11 ----------- .../testdata-baremetal/generate-linker-map/main.c | 4 ---- .../testdata-baremetal/linker-map/linker-map.qbs | 10 ++++++++++ .../blackbox/testdata-baremetal/linker-map/main.c | 4 ++++ tests/auto/blackbox/tst_blackboxbaremetal.cpp | 21 +++++++++++---------- 7 files changed, 25 insertions(+), 40 deletions(-) delete mode 100644 tests/auto/blackbox/testdata-baremetal/do-not-generate-linker-map/do-not-generate-linker-map.qbs delete mode 100644 tests/auto/blackbox/testdata-baremetal/do-not-generate-linker-map/main.c delete mode 100644 tests/auto/blackbox/testdata-baremetal/generate-linker-map/generate-linker-map.qbs delete mode 100644 tests/auto/blackbox/testdata-baremetal/generate-linker-map/main.c create mode 100644 tests/auto/blackbox/testdata-baremetal/linker-map/linker-map.qbs create mode 100644 tests/auto/blackbox/testdata-baremetal/linker-map/main.c (limited to 'tests/auto/blackbox') diff --git a/tests/auto/blackbox/testdata-baremetal/do-not-generate-linker-map/do-not-generate-linker-map.qbs b/tests/auto/blackbox/testdata-baremetal/do-not-generate-linker-map/do-not-generate-linker-map.qbs deleted file mode 100644 index 0ff952b22..000000000 --- a/tests/auto/blackbox/testdata-baremetal/do-not-generate-linker-map/do-not-generate-linker-map.qbs +++ /dev/null @@ -1,11 +0,0 @@ -import "../BareMetalApplication.qbs" as BareMetalApplication - -BareMetalApplication { - condition: { - console.info("current toolset: %%" - + qbs.toolchainType + "%%, %%" + qbs.architecture + "%%"); - return true; - } - cpp.generateLinkerMapFile: false - files: ["main.c"] -} diff --git a/tests/auto/blackbox/testdata-baremetal/do-not-generate-linker-map/main.c b/tests/auto/blackbox/testdata-baremetal/do-not-generate-linker-map/main.c deleted file mode 100644 index 58fe69254..000000000 --- a/tests/auto/blackbox/testdata-baremetal/do-not-generate-linker-map/main.c +++ /dev/null @@ -1,4 +0,0 @@ -int main(void) -{ - return 0; -} diff --git a/tests/auto/blackbox/testdata-baremetal/generate-linker-map/generate-linker-map.qbs b/tests/auto/blackbox/testdata-baremetal/generate-linker-map/generate-linker-map.qbs deleted file mode 100644 index a6ab5ba32..000000000 --- a/tests/auto/blackbox/testdata-baremetal/generate-linker-map/generate-linker-map.qbs +++ /dev/null @@ -1,11 +0,0 @@ -import "../BareMetalApplication.qbs" as BareMetalApplication - -BareMetalApplication { - condition: { - console.info("current toolset: %%" - + qbs.toolchainType + "%%, %%" + qbs.architecture + "%%"); - return true; - } - cpp.generateLinkerMapFile: true - files: ["main.c"] -} diff --git a/tests/auto/blackbox/testdata-baremetal/generate-linker-map/main.c b/tests/auto/blackbox/testdata-baremetal/generate-linker-map/main.c deleted file mode 100644 index 58fe69254..000000000 --- a/tests/auto/blackbox/testdata-baremetal/generate-linker-map/main.c +++ /dev/null @@ -1,4 +0,0 @@ -int main(void) -{ - return 0; -} diff --git a/tests/auto/blackbox/testdata-baremetal/linker-map/linker-map.qbs b/tests/auto/blackbox/testdata-baremetal/linker-map/linker-map.qbs new file mode 100644 index 000000000..676221e11 --- /dev/null +++ b/tests/auto/blackbox/testdata-baremetal/linker-map/linker-map.qbs @@ -0,0 +1,10 @@ +import "../BareMetalApplication.qbs" as BareMetalApplication + +BareMetalApplication { + condition: { + console.info("current toolset: %%" + + qbs.toolchainType + "%%, %%" + qbs.architecture + "%%"); + return true; + } + files: ["main.c"] +} diff --git a/tests/auto/blackbox/testdata-baremetal/linker-map/main.c b/tests/auto/blackbox/testdata-baremetal/linker-map/main.c new file mode 100644 index 000000000..58fe69254 --- /dev/null +++ b/tests/auto/blackbox/testdata-baremetal/linker-map/main.c @@ -0,0 +1,4 @@ +int main(void) +{ + return 0; +} diff --git a/tests/auto/blackbox/tst_blackboxbaremetal.cpp b/tests/auto/blackbox/tst_blackboxbaremetal.cpp index d32abf82a..a5feedd48 100644 --- a/tests/auto/blackbox/tst_blackboxbaremetal.cpp +++ b/tests/auto/blackbox/tst_blackboxbaremetal.cpp @@ -214,18 +214,20 @@ void TestBlackboxBareMetal::compilerListingFiles() void TestBlackboxBareMetal::linkerMapFile_data() { - QTest::addColumn("testPath"); QTest::addColumn("generateMap"); - QTest::newRow("do-not-generate-linker-map") << "/do-not-generate-linker-map" << false; - QTest::newRow("generate-linker-map") << "/generate-linker-map" << true; + QTest::newRow("do-not-generate-linker-map") << false; + QTest::newRow("generate-linker-map") << true; } void TestBlackboxBareMetal::linkerMapFile() { - QFETCH(QString, testPath); QFETCH(bool, generateMap); - QDir::setCurrent(testDataDir + testPath); - QCOMPARE(runQbs(QbsRunParameters("resolve", QStringList("-n"))), 0); + QDir::setCurrent(testDataDir + "/linker-map"); + + rmDirR(relativeBuildDir()); + const QStringList args = {QStringLiteral("modules.cpp.generateLinkerMapFile:%1") + .arg(generateMap ? "true" : "false")}; + QCOMPARE(runQbs(QbsRunParameters("resolve", args)), 0); if (m_qbsStdout.contains("unsupported toolset:")) QSKIP(unsupportedToolsetMessage(m_qbsStdout)); if (!m_qbsStdout.contains("current toolset:")) @@ -236,11 +238,10 @@ void TestBlackboxBareMetal::linkerMapFile() if (!extractToolset(m_qbsStdout, toolchain, architecture)) QFAIL("Unable to extract current toolset"); - QCOMPARE(runQbs(), 0); - const QString productName = testPath.mid(1); - const QString productBuildDir = relativeProductBuildDir(productName); + QCOMPARE(runQbs(QbsRunParameters(args)), 0); + const QString productBuildDir = relativeProductBuildDir("linker-map"); const auto extension = linkerMapFileExtension(toolchain, architecture); - const QString linkerMap = productBuildDir + "/" + productName + extension; + const QString linkerMap = productBuildDir + "/linker-map" + extension; QCOMPARE(regularFileExists(linkerMap), generateMap); } -- cgit v1.2.3