Tools: Close temporary file before invoking external tools accessing it

This commit is contained in:
Roland Dobai 2020-07-28 18:19:19 +02:00
parent 44791067ec
commit 62fea80a01

View file

@ -138,7 +138,7 @@ def add_action_extensions(base_functions, base_actions):
set_config_build_variables("TEST_EXCLUDE_COMPONENTS","''") set_config_build_variables("TEST_EXCLUDE_COMPONENTS","''")
with tempfile.NamedTemporaryFile() as sdkconfig_temp: with tempfile.NamedTemporaryFile(delete=False) as sdkconfig_temp:
# Use values from the combined defaults and the values from # Use values from the combined defaults and the values from
# config folder to build config # config folder to build config
sdkconfig_default = os.path.join(PROJECT_PATH, "sdkconfig.defaults") sdkconfig_default = os.path.join(PROJECT_PATH, "sdkconfig.defaults")
@ -150,9 +150,7 @@ def add_action_extensions(base_functions, base_actions):
with open(sdkconfig_config, "rb") as sdkconfig_config_file: with open(sdkconfig_config, "rb") as sdkconfig_config_file:
sdkconfig_temp.write(b"\n") sdkconfig_temp.write(b"\n")
sdkconfig_temp.write(sdkconfig_config_file.read()) sdkconfig_temp.write(sdkconfig_config_file.read())
try:
sdkconfig_temp.flush()
try: try:
args.define_cache_entry.append("SDKCONFIG_DEFAULTS=" + sdkconfig_temp.name) args.define_cache_entry.append("SDKCONFIG_DEFAULTS=" + sdkconfig_temp.name)
except AttributeError: except AttributeError:
@ -160,6 +158,11 @@ def add_action_extensions(base_functions, base_actions):
reconfigure = base_functions["reconfigure"] reconfigure = base_functions["reconfigure"]
reconfigure(None, args) reconfigure(None, args)
finally:
try:
os.unlink(sdkconfig_temp.name)
except OSError:
pass
else: else:
if not config_name == "all-configs": if not config_name == "all-configs":
print("unknown unit test app config for action '%s'" % ut_apply_config_name) print("unknown unit test app config for action '%s'" % ut_apply_config_name)