aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2020-06-25 17:11:54 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2020-06-25 18:44:53 +0000
commitbbc4594721683a47365518406457daf9c62e02c1 (patch)
tree1a6967afc7ad5e516f5aa29303835759ff50b737 /tests
parentc5111c5b04f3d7c5dca153e47f949f3119cb0434 (diff)
baremetal: Derive all applications and libraries from common products
The problem is that for different architectures and different toolchains we need in a minimal set of a platform-specific flags and etc. Previously (e.g. for MCS51 architecture and IAR/KEIL/SDCC toolchains) we are not faced with this problem, because there by default we don't need to specify a platform-specific flags for a minimal test. But, for other platforms and compilers we need in this basic flags (e.g. for ARM architecture and KEIL toolchain, we need to set the CPU target flag, e.g. '--cpu cortex-m0'). So, it makes sense to derive all tested baremetal applications and libraries from the basic BareMetal{Application|StaticLibrary} products. In this case we can configure the desired flags once, using the QBS Properties item. Tested with the following architectures and toolchains: * MCS51 (KEIL, IAR, SDCC) * STM8 (SDCC) * ARM (KEIL) Change-Id: I484ed3abf78050fe2dd27e96e9442a3a03cecfa5 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/blackbox/testdata-baremetal/BareMetalApplication.qbs6
-rw-r--r--tests/auto/blackbox/testdata-baremetal/BareMetalStaticLibrary.qbs6
-rw-r--r--tests/auto/blackbox/testdata-baremetal/distribution-include-paths/distribution-include-paths.qbs4
-rw-r--r--tests/auto/blackbox/testdata-baremetal/one-object-application/one-object-application.qbs4
-rw-r--r--tests/auto/blackbox/testdata-baremetal/static-library-dependencies/static-library-dependencies.qbs15
-rw-r--r--tests/auto/blackbox/testdata-baremetal/system-include-paths/system-include-paths.qbs4
-rw-r--r--tests/auto/blackbox/testdata-baremetal/two-object-application/two-object-application.qbs4
-rw-r--r--tests/auto/blackbox/testdata-baremetal/user-include-paths/user-include-paths.qbs4
8 files changed, 36 insertions, 11 deletions
diff --git a/tests/auto/blackbox/testdata-baremetal/BareMetalApplication.qbs b/tests/auto/blackbox/testdata-baremetal/BareMetalApplication.qbs
new file mode 100644
index 000000000..774fe708d
--- /dev/null
+++ b/tests/auto/blackbox/testdata-baremetal/BareMetalApplication.qbs
@@ -0,0 +1,6 @@
+CppApplication {
+ Properties {
+ condition: qbs.toolchain.contains("keil") && qbs.architecture.startsWith("arm")
+ cpp.driverFlags: ["--cpu", "cortex-m0"]
+ }
+}
diff --git a/tests/auto/blackbox/testdata-baremetal/BareMetalStaticLibrary.qbs b/tests/auto/blackbox/testdata-baremetal/BareMetalStaticLibrary.qbs
new file mode 100644
index 000000000..a5a3ea272
--- /dev/null
+++ b/tests/auto/blackbox/testdata-baremetal/BareMetalStaticLibrary.qbs
@@ -0,0 +1,6 @@
+StaticLibrary {
+ Properties {
+ condition: qbs.toolchain.contains("keil") && qbs.architecture.startsWith("arm")
+ cpp.driverFlags: ["--cpu", "cortex-m0"]
+ }
+}
diff --git a/tests/auto/blackbox/testdata-baremetal/distribution-include-paths/distribution-include-paths.qbs b/tests/auto/blackbox/testdata-baremetal/distribution-include-paths/distribution-include-paths.qbs
index 9f9d4f45a..0fded6a46 100644
--- a/tests/auto/blackbox/testdata-baremetal/distribution-include-paths/distribution-include-paths.qbs
+++ b/tests/auto/blackbox/testdata-baremetal/distribution-include-paths/distribution-include-paths.qbs
@@ -1,4 +1,6 @@
-CppApplication {
+import "../BareMetalApplication.qbs" as BareMetalApplication
+
+BareMetalApplication {
files: ["main.c"]
cpp.distributionIncludePaths: ["foo", "bar"]
}
diff --git a/tests/auto/blackbox/testdata-baremetal/one-object-application/one-object-application.qbs b/tests/auto/blackbox/testdata-baremetal/one-object-application/one-object-application.qbs
index db18cb857..482425b5f 100644
--- a/tests/auto/blackbox/testdata-baremetal/one-object-application/one-object-application.qbs
+++ b/tests/auto/blackbox/testdata-baremetal/one-object-application/one-object-application.qbs
@@ -1,3 +1,5 @@
-CppApplication {
+import "../BareMetalApplication.qbs" as BareMetalApplication
+
+BareMetalApplication {
files: ["main.c"]
}
diff --git a/tests/auto/blackbox/testdata-baremetal/static-library-dependencies/static-library-dependencies.qbs b/tests/auto/blackbox/testdata-baremetal/static-library-dependencies/static-library-dependencies.qbs
index 9a257ddfd..7184f47ea 100644
--- a/tests/auto/blackbox/testdata-baremetal/static-library-dependencies/static-library-dependencies.qbs
+++ b/tests/auto/blackbox/testdata-baremetal/static-library-dependencies/static-library-dependencies.qbs
@@ -1,35 +1,38 @@
+import "../BareMetalApplication.qbs" as BareMetalApplication
+import "../BareMetalStaticLibrary.qbs" as BareMetalStaticLibrary
+
Project {
- StaticLibrary {
+ BareMetalStaticLibrary {
name: "lib-a"
Depends { name: "cpp" }
files: ["a1.c", "a2.c"]
}
- StaticLibrary {
+ BareMetalStaticLibrary {
name: "lib-b"
Depends { name: "cpp" }
Depends { name: "lib-a" }
files: ["b.c"]
}
- StaticLibrary {
+ BareMetalStaticLibrary {
name: "lib-c"
Depends { name: "cpp" }
Depends { name: "lib-a" }
files: ["c.c"]
}
- StaticLibrary {
+ BareMetalStaticLibrary {
name: "lib-d"
Depends { name: "cpp" }
Depends { name: "lib-b" }
Depends { name: "lib-c" }
files: ["d.c"]
}
- StaticLibrary {
+ BareMetalStaticLibrary {
name: "lib-e"
Depends { name: "cpp" }
Depends { name: "lib-d" }
files: ["e.c"]
}
- CppApplication {
+ BareMetalApplication {
name: "app"
Depends { name: "lib-e" }
files: ["app.c"]
diff --git a/tests/auto/blackbox/testdata-baremetal/system-include-paths/system-include-paths.qbs b/tests/auto/blackbox/testdata-baremetal/system-include-paths/system-include-paths.qbs
index 8e12807f2..1f9fd1231 100644
--- a/tests/auto/blackbox/testdata-baremetal/system-include-paths/system-include-paths.qbs
+++ b/tests/auto/blackbox/testdata-baremetal/system-include-paths/system-include-paths.qbs
@@ -1,4 +1,6 @@
-CppApplication {
+import "../BareMetalApplication.qbs" as BareMetalApplication
+
+BareMetalApplication {
files: ["main.c"]
cpp.systemIncludePaths: ["foo", "bar"]
}
diff --git a/tests/auto/blackbox/testdata-baremetal/two-object-application/two-object-application.qbs b/tests/auto/blackbox/testdata-baremetal/two-object-application/two-object-application.qbs
index 9bd131396..2947975ca 100644
--- a/tests/auto/blackbox/testdata-baremetal/two-object-application/two-object-application.qbs
+++ b/tests/auto/blackbox/testdata-baremetal/two-object-application/two-object-application.qbs
@@ -1,3 +1,5 @@
-CppApplication {
+import "../BareMetalApplication.qbs" as BareMetalApplication
+
+BareMetalApplication {
files: ["main.c", "fun.c"]
}
diff --git a/tests/auto/blackbox/testdata-baremetal/user-include-paths/user-include-paths.qbs b/tests/auto/blackbox/testdata-baremetal/user-include-paths/user-include-paths.qbs
index 61a8a6cf6..23d5dbced 100644
--- a/tests/auto/blackbox/testdata-baremetal/user-include-paths/user-include-paths.qbs
+++ b/tests/auto/blackbox/testdata-baremetal/user-include-paths/user-include-paths.qbs
@@ -1,4 +1,6 @@
-CppApplication {
+import "../BareMetalApplication.qbs" as BareMetalApplication
+
+BareMetalApplication {
files: ["main.c"]
cpp.includePaths: ["foo", "bar"]
}