Skip to content

Commit 4b1dcd3

Browse files
committed
Allow filtering by target as well as by features
1 parent 1f0afeb commit 4b1dcd3

File tree

2 files changed

+17
-11
lines changed

2 files changed

+17
-11
lines changed

tools/test/examples/examples.json

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
{
2-
"https://developer.mbed.org/teams/mbed/code/mbed_blinky" : [],
3-
"https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-ble-Beacon" : ["BLE"],
4-
"https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-ble-HeartRate" : ["BLE"],
5-
"https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-mesh-minimal" :["IPV4"],
6-
"https://github.com/ARMmbed/mbed-os-example-client" : ["IPV4"],
7-
"https://github.com/ARMmbed/mbed-os-example-sockets" : ["IPV4"]
2+
"https://developer.mbed.org/teams/mbed/code/mbed_blinky" : {},
3+
"https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-ble-Beacon" :
4+
{"features": ["BLE"]},
5+
"https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-ble-HeartRate" :
6+
{"features": ["BLE"]},
7+
"https://developer.mbed.org/teams/mbed-os-examples/code/mbed-os-example-mesh-minimal" :
8+
{"features": ["IPV4"]},
9+
"https://github.com/ARMmbed/mbed-os-example-client" : {"features": ["IPV4"]},
10+
"https://github.com/ARMmbed/mbed-os-example-sockets" : {"features": ["IPV4"]},
11+
"https://github.com/ARMmbed/mbed-os-example-uvisor" : {"targets": ["K64F"]}
812
}

tools/test/examples/examples.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ def print_stuff(name, lst):
3131
SUPPORTED_TOOLCHAINS = ["ARM", "IAR", "GCC_ARM"]
3232

3333

34-
def target_cross_toolchain(required_features, allowed_toolchains):
34+
def target_cross_toolchain(allowed_toolchains,
35+
features=[], targets=TARGET_MAP.keys()):
3536
"""Generate pairs of target and toolchains
3637
3738
Args:
@@ -42,8 +43,9 @@ def target_cross_toolchain(required_features, allowed_toolchains):
4243
for target, toolchains in get_mbed_official_release("5"):
4344
for toolchain in toolchains:
4445
if (toolchain in allowed_toolchains and
46+
target in targets and
4547
all(feature in TARGET_MAP[target].features
46-
for feature in required_features)):
48+
for feature in features)):
4749
yield target, toolchain
4850

4951

@@ -59,11 +61,11 @@ def main():
5961

6062
failures = []
6163
sucesses = []
62-
for example, build_features in EXAMPLES.iteritems():
64+
for example, requirements in EXAMPLES.iteritems():
6365
subprocess.call(["mbed-cli", "import", example])
6466
os.chdir(basename(example))
65-
for target, toolchain in target_cross_toolchain(build_features,
66-
args.toolchains):
67+
for target, toolchain in target_cross_toolchain(args.toolchains,
68+
**requirements):
6769
proc = subprocess.Popen(["mbed-cli", "compile", "-t",
6870
toolchain, "-m", target])
6971
proc.wait()

0 commit comments

Comments
 (0)