Skip to content

Commit d24cd6b

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 6c9076e commit d24cd6b

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
@@ -28,7 +28,7 @@ class GenerationScript:
2828
def __init__(self, script: Path, files: List[Path],
2929
output_dir_option: Optional[str] = None,
3030
output_file_option: Optional[str] = None,
31-
optional: bool = False):
31+
optional: bool = False) -> None:
3232
# Path from the root of Mbed TLS or TF-PSA-Crypto of the generation script
3333
self.script = script
3434

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

59-
def get_generation_script_files(generation_script: str):
59+
def get_generation_script_files(generation_script: str) -> List[Path]:
6060
"""
6161
Get the list of the default paths of the files that a given script
6262
generates. It is assumed that the script supports the "--list" option.
@@ -188,7 +188,7 @@ def get_generation_script_files(generation_script: str):
188188
get_generation_script_files("scripts/generate_visualc_files.pl"),
189189
"--directory", None))
190190

191-
def get_generated_files(generation_scripts: List[GenerationScript]):
191+
def get_generated_files(generation_scripts: List[GenerationScript]) -> List[Path]:
192192
"""
193193
List the generated files in Mbed TLS or TF-PSA-Crypto. The path from root
194194
is returned for each generated files.
@@ -199,19 +199,21 @@ def get_generated_files(generation_scripts: List[GenerationScript]):
199199

200200
return files
201201

202-
def make_generated_files(generation_scripts: List[GenerationScript]):
202+
def make_generated_files(generation_scripts: List[GenerationScript]) -> None:
203203
"""
204204
Generate the configuration independent files in their default location in
205205
the Mbed TLS or TF-PSA-Crypto tree.
206206
"""
207207
for generation_script in generation_scripts:
208208
subprocess.run([generation_script.exe, str(generation_script.script)], check=True)
209209

210-
def check_generated_files(generation_scripts: List[GenerationScript], root: Path):
210+
def check_generated_files(generation_scripts: List[GenerationScript],
211+
root: Path) -> bool:
211212
"""
212213
Check that the given root directory contains the generated files as expected/
213214
generated by this script.
214215
"""
216+
ok = True
215217
for generation_script in generation_scripts:
216218
for file in generation_script.files:
217219
file = root / file
@@ -254,8 +256,9 @@ def check_generated_files(generation_scripts: List[GenerationScript], root: Path
254256
print(f"Generated file {file} not identical to the reference one {ref_file}.")
255257
file.unlink()
256258
bak_file.rename(file)
259+
return ok
257260

258-
def main():
261+
def main() -> int:
259262
"""
260263
Main function of this program
261264
"""
@@ -286,10 +289,13 @@ def main():
286289
files = get_generated_files(generation_scripts)
287290
for file in files:
288291
print(str(file))
292+
return 0
289293
elif args.check:
290-
check_generated_files(generation_scripts, Path(args.root or "."))
294+
ok = check_generated_files(generation_scripts, Path(args.root or "."))
295+
return 0 if ok else 1
291296
else:
292297
make_generated_files(generation_scripts)
298+
return 0 # Any error causes an exception
293299

294300
if __name__ == "__main__":
295301
sys.exit(main())

0 commit comments

Comments
 (0)