Remove file after test completion

This commit is contained in:
Andrew Murray 2025-07-16 13:40:22 +10:00
parent 91bbeb5dcb
commit a426eb55af

View File

@ -276,10 +276,11 @@ class TestEmbeddable:
except Exception:
pytest.skip("Compiler could not be initialized")
with open("embed_pil.c", "w", encoding="utf-8") as fh:
home = sys.prefix.replace("\\", "\\\\")
fh.write(
f"""
try:
with open("embed_pil.c", "w", encoding="utf-8") as fh:
home = sys.prefix.replace("\\", "\\\\")
fh.write(
f"""
#include "Python.h"
int main(int argc, char* argv[])
@ -301,17 +302,19 @@ int main(int argc, char* argv[])
return 0;
}}
"""
)
)
objects = compiler.compile(["embed_pil.c"])
compiler.link_executable(objects, "embed_pil")
objects = compiler.compile(["embed_pil.c"])
compiler.link_executable(objects, "embed_pil")
env = os.environ.copy()
env["PATH"] = sys.prefix + ";" + env["PATH"]
env = os.environ.copy()
env["PATH"] = sys.prefix + ";" + env["PATH"]
# Do not display the Windows Error Reporting dialog
getattr(ctypes, "windll").kernel32.SetErrorMode(0x0002)
# Do not display the Windows Error Reporting dialog
getattr(ctypes, "windll").kernel32.SetErrorMode(0x0002)
process = subprocess.Popen(["embed_pil.exe"], env=env)
process.communicate()
assert process.returncode == 0
process = subprocess.Popen(["embed_pil.exe"], env=env)
process.communicate()
assert process.returncode == 0
finally:
os.remove("embed_pil.c")