[mutter/wip/carlosg/skip-broken-uncrustify-calls] ci: Ignore uncrustify calls resulting in unsuccessful return codes




commit 80721f3c66a186eea39bf36d96f3c5a98a3560fa
Author: Carlos Garnacho <carlosg gnome org>
Date:   Mon Aug 23 13:18:06 2021 +0200

    ci: Ignore uncrustify calls resulting in unsuccessful return codes
    
    If for some reason uncrustify gets angry at our file and indent on/off
    marks, it will result in an error code other than 0. Since in those
    cases there is no output to diff with, we misinterpret those situations
    as "the whole file should be deleted", which is far from it.

 check-style.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/check-style.py b/check-style.py
index ac2ffcaad7..ac96c5cae8 100755
--- a/check-style.py
+++ b/check-style.py
@@ -75,7 +75,11 @@ def reformat_chunks(chunks, rewrite):
         tmp = create_temp_file(chunk['file'], chunk['start'], chunk['end'])
 
         # uncrustify chunk
-        proc = subprocess.Popen(["uncrustify", "-c", uncrustify_cfg, "-f", tmp.name], 
stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
+        proc = subprocess.Popen(["uncrustify", "-c", uncrustify_cfg, "-f", tmp.name], stdout=subprocess.PIPE)
+        proc.wait()
+        if proc.returncode != 0:
+            continue
+
         reindented = proc.stdout.readlines()
         tmp.close()
 
@@ -128,7 +132,7 @@ if dry_run is not True and rewrite is True:
     proc = subprocess.Popen(["git", "commit", "--all", "--amend", "-C", "HEAD"], stdout=subprocess.DEVNULL)
     os._exit(0)
 elif dry_run is True and changed is True:
-    print ("\nIssue the following command in your local tree to apply the suggested changes (needs 
uncrustify installed):\n\n $ git rebase origin/master --exec \"./check-style.py -r\" \n")
+    print ("\nIssue the following command in your local tree to apply the suggested changes (needs 
uncrustify installed):\n\n $ git rebase origin/main --exec \"./check-style.py -r\" \n")
     os._exit(-1)
 
 os._exit(0)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]