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

[tor-commits] [tor/master] Add a script to tell whether a file can be perfectly parsed by spatch



commit c6191983e93fc9d377650555fb78649e9fe8713b
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date:   Wed Sep 11 18:44:10 2019 -0400

    Add a script to tell whether a file can be perfectly parsed by spatch
    
    spatch can let us know whether a file has parsed "perfectly" or
    not.  The more perfect it parses, the likelier any semantic patches
    are to apply.  I've used this script to identify problem areas in
    our code.
---
 scripts/coccinelle/try_parse.sh | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/scripts/coccinelle/try_parse.sh b/scripts/coccinelle/try_parse.sh
new file mode 100755
index 000000000..865c85570
--- /dev/null
+++ b/scripts/coccinelle/try_parse.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Echo the name of every argument of this script that is not "perfect"
+# according to coccinelle's --parse-c.
+
+top="$(dirname "$0")/../.."
+
+for fn in "$@"; do
+
+    if spatch -macro_file_builtins "$top"/scripts/coccinelle/tor-coccinelle.h \
+              -I "$top" -I "$top"/src -I "$top"/ext --parse-c "$fn" \
+              2>/dev/null | grep "perfect = 1" > /dev/null; then
+        : # it's perfect
+    else
+        echo "$fn"
+    fi
+
+done



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits