From 5f80f92e41a5a697ba816a9107baf65ba3264c31 Mon Sep 17 00:00:00 2001 From: Denis Shienkov Date: Wed, 12 Aug 2020 11:57:01 +0300 Subject: baremetal: Pass 'compiler-listing-files' test for KEIL ARM toolchain KEIL ARM compiler generates a listing files with 'short' names. For example, for the source 'main.c' file it will produce the listing 'main.lst' file, instead of the 'main.c.lst' file. Thus, we have to account for this behavior in our tests. Change-Id: I69ef693cbdd0aacf838eaf382e13e09d7fadbfb1 Reviewed-by: Ivan Komissarov --- .../do-not-generate-compiler-listing.qbs | 4 ++++ .../generate-compiler-listing/generate-compiler-listing.qbs | 4 ++++ tests/auto/blackbox/tst_blackboxbaremetal.cpp | 7 ++++--- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/tests/auto/blackbox/testdata-baremetal/do-not-generate-compiler-listing/do-not-generate-compiler-listing.qbs b/tests/auto/blackbox/testdata-baremetal/do-not-generate-compiler-listing/do-not-generate-compiler-listing.qbs index 8ae4fc065..46faf9440 100644 --- a/tests/auto/blackbox/testdata-baremetal/do-not-generate-compiler-listing/do-not-generate-compiler-listing.qbs +++ b/tests/auto/blackbox/testdata-baremetal/do-not-generate-compiler-listing/do-not-generate-compiler-listing.qbs @@ -16,6 +16,10 @@ BareMetalApplication { || qbs.architecture === "c166") { return true; } + if (cpp.compilerName.startsWith("armcc")) { + console.info("using short listing file names"); + return true; + } } console.info("unsupported toolset: %%" + qbs.toolchainType + "%%, %%" + qbs.architecture + "%%"); diff --git a/tests/auto/blackbox/testdata-baremetal/generate-compiler-listing/generate-compiler-listing.qbs b/tests/auto/blackbox/testdata-baremetal/generate-compiler-listing/generate-compiler-listing.qbs index 741a21953..2596b441d 100644 --- a/tests/auto/blackbox/testdata-baremetal/generate-compiler-listing/generate-compiler-listing.qbs +++ b/tests/auto/blackbox/testdata-baremetal/generate-compiler-listing/generate-compiler-listing.qbs @@ -16,6 +16,10 @@ BareMetalApplication { || qbs.architecture === "c166") { return true; } + if (cpp.compilerName.startsWith("armcc")) { + console.info("using short listing file names"); + return true; + } } console.info("unsupported toolset: %%" + qbs.toolchainType + "%%, %%" + qbs.architecture + "%%"); diff --git a/tests/auto/blackbox/tst_blackboxbaremetal.cpp b/tests/auto/blackbox/tst_blackboxbaremetal.cpp index 91f05ae22..41f50a0ed 100644 --- a/tests/auto/blackbox/tst_blackboxbaremetal.cpp +++ b/tests/auto/blackbox/tst_blackboxbaremetal.cpp @@ -174,13 +174,14 @@ void TestBlackboxBareMetal::compilerListingFiles() if (m_qbsStdout.contains("unsupported toolset:")) QSKIP(unsupportedToolsetMessage(m_qbsStdout)); QCOMPARE(runQbs(), 0); + const bool isShortListingNames = m_qbsStdout.contains("using short listing file names"); const QString productName = testPath.mid(1); const QString productBuildDir = relativeProductBuildDir(productName); const QString hash = inputDirHash("."); - const QString mainListing = productBuildDir + "/" + hash + "/main.c.lst"; + const QString mainListing = productBuildDir + "/" + hash + (isShortListingNames ? "/main.lst" : "/main.c.lst"); QCOMPARE(regularFileExists(mainListing), generateListing); - const QString fooListing = productBuildDir + "/" + hash + "/fun.c.lst"; - QCOMPARE(regularFileExists(fooListing), generateListing); + const QString funListing = productBuildDir + "/" + hash + (isShortListingNames ? "/fun.lst" : "/fun.c.lst"); + QCOMPARE(regularFileExists(funListing), generateListing); } void TestBlackboxBareMetal::linkerMapFile_data() -- cgit v1.2.3