Skip to content

Commit eb93856

Browse files
Add missing type annotations
mypy only checks types in functions that have a return type annotation. In `check_generated_files`, change from returning `None` to returning a boolean, since the function is supposed to check some boolean-valued assertion. So far, the function always returns `True`. In `main`, explicitly return an `int` value as expected by the caller. When calling `check_generated_files`, convert the boolean result into an exit status. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
1 parent 1726775 commit eb93856

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

scripts/make_generated_files.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class GenerationScript:
2727
def __init__(self, script: Path, files: List[Path],
2828
output_dir_option: Optional[str] = None,
2929
output_file_option: Optional[str] = None,
30-
optional: bool = False):
30+
optional: bool = False) -> None:
3131
# Path from the root of Mbed TLS or TF-PSA-Crypto of the generation script
3232
self.script = script
3333

@@ -55,7 +55,7 @@ def __init__(self, script: Path, files: List[Path],
5555
# consuming repository hasn't been updated yet.
5656
self.optional = optional
5757

58-
def get_generation_script_files(generation_script: str):
58+
def get_generation_script_files(generation_script: str) -> List[Path]:
5959
"""
6060
Get the list of the default paths of the files that a given script
6161
generates. It is assumed that the script supports the "--list" option.
@@ -182,7 +182,7 @@ def get_generation_script_files(generation_script: str):
182182
get_generation_script_files("scripts/generate_visualc_files.pl"),
183183
"--directory", None))
184184

185-
def get_generated_files(generation_scripts: List[GenerationScript]):
185+
def get_generated_files(generation_scripts: List[GenerationScript]) -> List[Path]:
186186
"""
187187
List the generated files in Mbed TLS or TF-PSA-Crypto. The path from root
188188
is returned for each generated files.
@@ -193,19 +193,21 @@ def get_generated_files(generation_scripts: List[GenerationScript]):
193193

194194
return files
195195

196-
def make_generated_files(generation_scripts: List[GenerationScript]):
196+
def make_generated_files(generation_scripts: List[GenerationScript]) -> None:
197197
"""
198198
Generate the configuration independent files in their default location in
199199
the Mbed TLS or TF-PSA-Crypto tree.
200200
"""
201201
for generation_script in generation_scripts:
202202
subprocess.run([generation_script.exe, str(generation_script.script)], check=True)
203203

204-
def check_generated_files(generation_scripts: List[GenerationScript], root: Path):
204+
def check_generated_files(generation_scripts: List[GenerationScript],
205+
root: Path) -> bool:
205206
"""
206207
Check that the given root directory contains the generated files as expected/
207208
generated by this script.
208209
"""
210+
ok = True
209211
for generation_script in generation_scripts:
210212
for file in generation_script.files:
211213
file = root / file
@@ -248,8 +250,9 @@ def check_generated_files(generation_scripts: List[GenerationScript], root: Path
248250
print(f"Generated file {file} not identical to the reference one {ref_file}.")
249251
file.unlink()
250252
bak_file.rename(file)
253+
return ok
251254

252-
def main():
255+
def main() -> int:
253256
"""
254257
Main function of this program
255258
"""
@@ -280,10 +283,13 @@ def main():
280283
files = get_generated_files(generation_scripts)
281284
for file in files:
282285
print(str(file))
286+
return 0
283287
elif args.check:
284-
check_generated_files(generation_scripts, Path(args.root or "."))
288+
ok = check_generated_files(generation_scripts, Path(args.root or "."))
289+
return 0 if ok else 1
285290
else:
286291
make_generated_files(generation_scripts)
292+
return 0 # Any error causes an exception
287293

288294
if __name__ == "__main__":
289295
sys.exit(main())

0 commit comments

Comments
 (0)