From 54aecd29cf824fdef79a151e72873c72bfad5247 Mon Sep 17 00:00:00 2001 From: Marc Buerg Date: Fri, 22 Sep 2023 22:02:54 +0200 Subject: [PATCH] gh-38807: fix race condition in Lib/trace.py Instead of checking if a directory does not exist and thereafter creating it, directly call `os.makedirs` with the `exist_ok` kwarg. --- Lib/trace.py | 3 +-- .../next/Library/2023-09-22-22-17-45.gh-issue-38807.m9McRN.rst | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2023-09-22-22-17-45.gh-issue-38807.m9McRN.rst diff --git a/Lib/trace.py b/Lib/trace.py index fb9a423ea09fce..761916b18097d6 100755 --- a/Lib/trace.py +++ b/Lib/trace.py @@ -258,8 +258,7 @@ def write_results(self, show_missing=True, summary=False, coverdir=None): modulename = _modname(filename) else: dir = coverdir - if not os.path.exists(dir): - os.makedirs(dir) + os.makedirs(dir, exist_ok=True) modulename = _fullmodname(filename) # If desired, get a list of the line numbers which represent diff --git a/Misc/NEWS.d/next/Library/2023-09-22-22-17-45.gh-issue-38807.m9McRN.rst b/Misc/NEWS.d/next/Library/2023-09-22-22-17-45.gh-issue-38807.m9McRN.rst new file mode 100644 index 00000000000000..4219723d15b9e6 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2023-09-22-22-17-45.gh-issue-38807.m9McRN.rst @@ -0,0 +1,3 @@ +Fix race condition in :mod:`trace`. Instead of checking if a directory +exists and creating it, directly call :func:`os.makedirs` with the kwarg +``exist_ok=True``.