mirror of
https://github.com/Mbed-TLS/mbedtls-framework.git
synced 2026-10-25 01:33:33 +00:00
Merge pull request #152 from ronald-cron-arm/make-generated-files-follow-up
Make generated files follow-up
This commit is contained in:
@@ -27,22 +27,25 @@ class GenerationScript:
|
|||||||
def __init__(self, script: Path, files: List[Path],
|
def __init__(self, script: Path, files: List[Path],
|
||||||
output_dir_option: Optional[str] = None,
|
output_dir_option: Optional[str] = None,
|
||||||
output_file_option: Optional[str] = None):
|
output_file_option: Optional[str] = None):
|
||||||
""" Path from the root of Mbed TLS or TF-PSA-Crypto of the generation script """
|
# Path from the root of Mbed TLS or TF-PSA-Crypto of the generation script
|
||||||
self.script = script
|
self.script = script
|
||||||
"""
|
|
||||||
List of the default paths from the Mbed TLS or TF-PSA-Crypto root of the
|
# Executable to run the script, needed for Windows
|
||||||
files the script generates.
|
if script.suffix == ".py":
|
||||||
"""
|
self.exe = "python"
|
||||||
|
elif script.suffix == ".pl":
|
||||||
|
self.exe = "perl"
|
||||||
|
|
||||||
|
# List of the default paths from the Mbed TLS or TF-PSA-Crypto root of the
|
||||||
|
# files the script generates.
|
||||||
self.files = files
|
self.files = files
|
||||||
"""
|
|
||||||
Output directory script argument. Can be an empty string in case it is a
|
# Output directory script argument. Can be an empty string in case it is a
|
||||||
positional argument.
|
# positional argument.
|
||||||
"""
|
|
||||||
self.output_dir_option = output_dir_option
|
self.output_dir_option = output_dir_option
|
||||||
"""
|
|
||||||
Output file script argument. Can be an empty string in case it is a
|
# Output file script argument. Can be an empty string in case it is a
|
||||||
positional argument.
|
# positional argument.
|
||||||
"""
|
|
||||||
self.output_file_option = output_file_option
|
self.output_file_option = output_file_option
|
||||||
|
|
||||||
def get_generation_script_files(generation_script: str):
|
def get_generation_script_files(generation_script: str):
|
||||||
@@ -51,8 +54,13 @@ def get_generation_script_files(generation_script: str):
|
|||||||
generates. It is assumed that the script supports the "--list" option.
|
generates. It is assumed that the script supports the "--list" option.
|
||||||
"""
|
"""
|
||||||
files = []
|
files = []
|
||||||
output = subprocess.check_output([generation_script, "--list"],
|
if generation_script.endswith(".py"):
|
||||||
universal_newlines=True)
|
cmd = ["python"]
|
||||||
|
elif generation_script.endswith(".pl"):
|
||||||
|
cmd = ["perl"]
|
||||||
|
cmd += [generation_script, "--list"]
|
||||||
|
|
||||||
|
output = subprocess.check_output(cmd, universal_newlines=True)
|
||||||
for line in output.splitlines():
|
for line in output.splitlines():
|
||||||
files.append(Path(line))
|
files.append(Path(line))
|
||||||
|
|
||||||
@@ -145,6 +153,11 @@ if build_tree.looks_like_mbedtls_root(".") and not build_tree.is_mbedtls_3_6():
|
|||||||
[Path("tests/opt-testcases/tls13-compat.sh")],
|
[Path("tests/opt-testcases/tls13-compat.sh")],
|
||||||
None, "--output"
|
None, "--output"
|
||||||
),
|
),
|
||||||
|
GenerationScript(
|
||||||
|
Path("framework/scripts/generate_tls_handshake_tests.py"),
|
||||||
|
[Path("tests/opt-testcases/handshake-generated.sh")],
|
||||||
|
None, "--output"
|
||||||
|
),
|
||||||
GenerationScript(
|
GenerationScript(
|
||||||
Path("scripts/generate_visualc_files.pl"),
|
Path("scripts/generate_visualc_files.pl"),
|
||||||
get_generation_script_files("scripts/generate_visualc_files.pl"),
|
get_generation_script_files("scripts/generate_visualc_files.pl"),
|
||||||
@@ -169,7 +182,7 @@ def make_generated_files(generation_scripts: List[GenerationScript]):
|
|||||||
the Mbed TLS or TF-PSA-Crypto tree.
|
the Mbed TLS or TF-PSA-Crypto tree.
|
||||||
"""
|
"""
|
||||||
for generation_script in generation_scripts:
|
for generation_script in generation_scripts:
|
||||||
subprocess.run([str(generation_script.script)], check=True)
|
subprocess.run([generation_script.exe, str(generation_script.script)], check=True)
|
||||||
|
|
||||||
def check_generated_files(generation_scripts: List[GenerationScript], root: Path):
|
def check_generated_files(generation_scripts: List[GenerationScript], root: Path):
|
||||||
"""
|
"""
|
||||||
@@ -184,7 +197,7 @@ def check_generated_files(generation_scripts: List[GenerationScript], root: Path
|
|||||||
bak_file.unlink()
|
bak_file.unlink()
|
||||||
file.rename(bak_file)
|
file.rename(bak_file)
|
||||||
|
|
||||||
command = [str(generation_script.script)]
|
command = [generation_script.exe, str(generation_script.script)]
|
||||||
if generation_script.output_dir_option is not None:
|
if generation_script.output_dir_option is not None:
|
||||||
command += [generation_script.output_dir_option,
|
command += [generation_script.output_dir_option,
|
||||||
str(root / Path(generation_script.files[0].parent))]
|
str(root / Path(generation_script.files[0].parent))]
|
||||||
|
|||||||
Reference in New Issue
Block a user