[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