On 5/26/23 12:52, Peter Maydell wrote:
On Fri, 26 May 2023 at 18:40, Richard Henderson
<richard.hender...@linaro.org> wrote:

Nor report any PermissionError on remove.

Previously we were testing with "> /dev/null", but that's not easy
to do with meson test(), so we want to use '-o /dev/null' instead.
That works fine for all of the existing tests, where all errors are
diagnosed before opening the output file.  However, PMM's named field
patch set diagnoses cycle errors during output.  This is fair, but
we need to be more careful with the remove.

Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
---
  scripts/decodetree.py | 7 ++++++-
  1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/scripts/decodetree.py b/scripts/decodetree.py
index e4ef0a03cc..a9a0cd0fa3 100644
--- a/scripts/decodetree.py
+++ b/scripts/decodetree.py
@@ -71,7 +71,12 @@ def error_with_file(file, lineno, *args):

      if output_file and output_fd:
          output_fd.close()
-        os.remove(output_file)
+        # Do not try to remove e.g. -o /dev/null
+        if not output_file.startswith("/dev"):
+            try:
+                os.remove(output_file)
+            except PermissionError:
+                pass

Maybe rather than hardcoding /dev, only try to delete the file
if it's a normal file, i.e.:
        if os.path.isfile(output_file):
            os.remove(output_file)

Good idea.


r~


Reply via email to