diff options
4 files changed, 29 insertions, 1 deletions
diff --git a/tests/auto/blackbox/testdata-baremetal/BareMetalApplication.qbs b/tests/auto/blackbox/testdata-baremetal/BareMetalApplication.qbs index f23cf1a39..a11855727 100644 --- a/tests/auto/blackbox/testdata-baremetal/BareMetalApplication.qbs +++ b/tests/auto/blackbox/testdata-baremetal/BareMetalApplication.qbs @@ -1,5 +1,25 @@ +import qbs.Host + BareMetalProduct { type: "application" + consoleApplication: true + + property bool dummy: { + if (qbs.targetPlatform !== Host.platform() + || qbs.architecture !== Host.architecture()) { + + function supportsCrossRun() { + // We can run 32 bit applications on 64 bit Windows. + if (Host.platform() === "windows" && Host.architecture() === "x86_64" + && qbs.targetPlatform === "windows" && qbs.architecture === "x86") { + return true; + } + } + + if (!supportsCrossRun()) + console.info("targetPlatform differs from hostPlatform") + } + } Group { condition: qbs.toolchain.contains("cosmic") diff --git a/tests/auto/blackbox/testdata-baremetal/one-object-application/main.c b/tests/auto/blackbox/testdata-baremetal/one-object-application/main.c index 58fe69254..d5ac449bf 100644 --- a/tests/auto/blackbox/testdata-baremetal/one-object-application/main.c +++ b/tests/auto/blackbox/testdata-baremetal/one-object-application/main.c @@ -1,4 +1,6 @@ +#include <stdio.h> int main(void) { + printf("Hello from app\n"); return 0; } diff --git a/tests/auto/blackbox/testdata-baremetal/two-object-application/fun.c b/tests/auto/blackbox/testdata-baremetal/two-object-application/fun.c index 3b8c8f2f4..e5850346a 100644 --- a/tests/auto/blackbox/testdata-baremetal/two-object-application/fun.c +++ b/tests/auto/blackbox/testdata-baremetal/two-object-application/fun.c @@ -1,4 +1,6 @@ +#include <stdio.h> int f(void) { + printf("Hello from app\n"); return 0; } diff --git a/tests/auto/blackbox/tst_blackboxbaremetal.cpp b/tests/auto/blackbox/tst_blackboxbaremetal.cpp index e0a068bc6..fda544b8b 100644 --- a/tests/auto/blackbox/tst_blackboxbaremetal.cpp +++ b/tests/auto/blackbox/tst_blackboxbaremetal.cpp @@ -110,7 +110,11 @@ void TestBlackboxBareMetal::application() QCOMPARE(runQbs(QbsRunParameters("resolve", QStringList("-n"))), 0); if (m_qbsStdout.contains("unsupported toolset:")) QSKIP(unsupportedToolsetMessage(m_qbsStdout)); - QCOMPARE(runQbs(), 0); + QCOMPARE(runQbs(QbsRunParameters("build")), 0); + if (m_qbsStdout.contains("targetPlatform differs from hostPlatform")) + QSKIP("Cannot run binaries in cross-compiled build"); + QCOMPARE(runQbs(QbsRunParameters("run")), 0); + QVERIFY2(m_qbsStdout.contains("Hello from app"), m_qbsStdout.constData()); } void TestBlackboxBareMetal::staticLibraryDependencies() |