Skip to content

Commit 909c11b

Browse files
authored
Merge pull request #8605 from adbridge/master
Make examples commands return a failure
2 parents 73cc54e + b28d081 commit 909c11b

File tree

2 files changed

+28
-13
lines changed

2 files changed

+28
-13
lines changed

tools/test/examples/examples.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -97,20 +97,17 @@ def do_export(args, config, examples):
9797

9898
def do_import(_, config, examples):
9999
"""Do the import step of this process"""
100-
lib.source_repos(config, examples)
101-
return 0
100+
return lib.source_repos(config, examples)
102101

103102

104103
def do_clone(_, config, examples):
105104
"""Do the clone step of this process"""
106-
lib.clone_repos(config, examples)
107-
return 0
105+
return lib.clone_repos(config, examples)
108106

109107

110108
def do_deploy(_, config, examples):
111109
"""Do the deploy step of this process"""
112-
lib.deploy_repos(config, examples)
113-
return 0
110+
return lib.deploy_repos(config, examples)
114111

115112

116113
def do_compile(args, config, examples):
@@ -125,8 +122,7 @@ def do_compile(args, config, examples):
125122

126123
def do_versionning(args, config, examples):
127124
""" Test update the mbed-os to the version specified by the tag """
128-
lib.update_mbedos_version(config, args.tag, examples)
129-
return 0
125+
return lib.update_mbedos_version(config, args.tag, examples)
130126

131127

132128
if __name__ == "__main__":

tools/test/examples/examples_lib.py

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,14 @@ def source_repos(config, examples):
168168
if os.path.exists(name):
169169
print("'%s' example directory already exists. Deleting..." % name)
170170
rmtree(name)
171+
172+
cmd = "mbed-cli import %s" %repo_info['repo']
173+
result = subprocess.call(cmd, shell=True)
171174

172-
subprocess.call(["mbed-cli", "import", repo_info['repo']])
175+
if result:
176+
return result
177+
178+
return 0
173179

174180
def clone_repos(config, examples , retry = 3):
175181
""" Clones each of the repos associated with the specific examples name from the
@@ -187,11 +193,14 @@ def clone_repos(config, examples , retry = 3):
187193
if os.path.exists(name):
188194
print("'%s' example directory already exists. Deleting..." % name)
189195
rmtree(name)
196+
cmd = "%s clone %s" %(repo_info['type'], repo_info['repo'])
190197
for i in range(0, retry):
191-
if subprocess.call([repo_info['type'], "clone", repo_info['repo']]) == 0:
198+
if not subprocess.call(cmd, shell=True):
192199
break
193200
else:
194201
print("ERROR : unable to clone the repo {}".format(name))
202+
return 1
203+
return 0
195204

196205
def deploy_repos(config, examples):
197206
""" If the example directory exists as provided by the json config file,
@@ -207,11 +216,15 @@ def deploy_repos(config, examples):
207216
if name in examples:
208217
if os.path.exists(name):
209218
os.chdir(name)
210-
subprocess.call(["mbed-cli", "deploy"])
219+
result = subprocess.call("mbed-cli deploy", shell=True)
211220
os.chdir("..")
221+
if result:
222+
print("mbed-cli deploy command failed for '%s'" % name)
223+
return result
212224
else:
213225
print("'%s' example directory doesn't exist. Skipping..." % name)
214-
226+
return 1
227+
return 0
215228

216229
def get_num_failures(results, export=False):
217230
""" Returns the number of failed compilations from the results summary
@@ -405,5 +418,11 @@ def update_mbedos_version(config, tag, examples):
405418
update_dir = basename(repo_info['repo']) + "/mbed-os"
406419
print("\nChanging dir to %s\n" % update_dir)
407420
os.chdir(update_dir)
408-
subprocess.call(["mbed-cli", "update", tag, "--clean"])
421+
cmd = "mbed-cli update %s --clean" %tag
422+
result = subprocess.call(cmd, shell=True)
409423
os.chdir("../..")
424+
if result:
425+
return result
426+
427+
return 0
428+

0 commit comments

Comments
 (0)