Skip to content

Commit e91cb1c

Browse files
committed
Added calls to targets.json to check supported toolchains. Skips unsupported toolchains per target.
1 parent ba305c2 commit e91cb1c

File tree

3 files changed

+21
-9
lines changed

3 files changed

+21
-9
lines changed

tools/export/__init__.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,9 @@ def export(project_path, project_name, ide, target, destination='/tmp/',
7070
use_progen = False
7171

7272
supported = True
73-
report = {'success': False, 'errormsg':''}
73+
report = {'success': False, 'errormsg':'', 'skip': False}
74+
75+
7476

7577
if ide is None or ide == "zip":
7678
# Simple ZIP exporter
@@ -85,6 +87,7 @@ def export(project_path, project_name, ide, target, destination='/tmp/',
8587
else:
8688
if ide not in EXPORTERS:
8789
report['errormsg'] = ERROR_MESSAGE_UNSUPPORTED_TOOLCHAIN % (target, ide)
90+
report['skip'] = True
8891
else:
8992
Exporter = EXPORTERS[ide]
9093
target = EXPORT_MAP.get(target, target)
@@ -93,12 +96,13 @@ def export(project_path, project_name, ide, target, destination='/tmp/',
9396
use_progen = True
9497
except AttributeError:
9598
pass
99+
100+
if target not in Exporter.TARGETS or ide.upper() not in TARGET_MAP[target].supported_toolchains:
101+
supported = False
102+
96103
if use_progen:
97104
if not ProGenDef(ide).is_supported(TARGET_MAP[target].progen['target']):
98105
supported = False
99-
else:
100-
if target not in Exporter.TARGETS:
101-
supported = False
102106

103107
if supported:
104108
# target checked, export
@@ -120,6 +124,7 @@ def export(project_path, project_name, ide, target, destination='/tmp/',
120124

121125
else:
122126
report['errormsg'] = ERROR_MESSAGE_UNSUPPORTED_TOOLCHAIN % (target, ide)
127+
report['skip'] = True
123128

124129
zip_path = None
125130
if report['success']:

tools/project_api.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def perform_export(dir, name, ide, mcu, temp, clean=False, zip=False, lib_symbol
8484
return tmp_path, report
8585

8686

87-
def print_results(successes, failures):
87+
def print_results(successes, failures, skips = []):
8888
print
8989
if len(successes) > 0:
9090
print "Successful: "
@@ -94,4 +94,8 @@ def print_results(successes, failures):
9494
print "Failed: "
9595
for failure in failures:
9696
print " * %s" % failure
97+
if len(skips) > 0:
98+
print "Skipped: "
99+
for skip in skips:
100+
print " * %s" % skip
97101

tools/test/export/build_test.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ def handle_project_files(tool, project_dir, target, test, clean=False):
7070
with open(log, 'r') as f:
7171
print f.read()
7272
except:
73-
print("No log file found")
73+
return
7474

7575
test_prefix = "_".join([test, target, tool])
7676
log_name = os.path.join(new_dir,test_prefix+"_log.txt")
@@ -96,6 +96,7 @@ def generate_and_build(self, tests, clean=False):
9696
#build results
9797
successes = []
9898
failures = []
99+
skips = []
99100
for mcu, ides in self.target_ides.items():
100101
for test in tests:
101102
#resolve name alias
@@ -107,11 +108,13 @@ def generate_and_build(self, tests, clean=False):
107108

108109
if report['success']:
109110
successes.append("build for %s::%s\t%s" % (mcu, ide, project_name))
111+
elif report['skip']:
112+
skips.append("%s::%s\t%s" % (mcu, ide, project_name))
110113
else:
111114
failures.append("%s::%s\t%s for %s" % (mcu, ide, report['errormsg'], project_name))
112115

113116
ProgenBuildTest.handle_project_files(ide, project_temp, mcu, project_name, clean)
114-
return successes, failures
117+
return successes, failures, skips
115118

116119

117120
if __name__ == '__main__':
@@ -160,8 +163,8 @@ def generate_and_build(self, tests, clean=False):
160163
args_error(parser, "[ERROR] ide must be in %s" % ', '.join(accepted_ides))
161164

162165
b = ProgenBuildTest(ides, tests, targets)
163-
successes, failures = b.generate_and_build(tests, options.clean)
164-
print_results(successes, failures)
166+
successes, failures, skips = b.generate_and_build(tests, options.clean)
167+
print_results(successes, failures, skips)
165168
sys.exit(len(failures))
166169

167170

0 commit comments

Comments
 (0)