2019-11-04 03:46:12

by zhongshiqi

[permalink] [raw]
Subject: [PATCH v6] coccicheck: Support search for SmPL scripts within selected directory hierarchy

*Allow defining the environment variable “COCCI” as a directory to
search SmPL scripts.

*Start a corresponding file determination if it contains an acceptable
path.

*Update coccinelle.rst documents for use coccicheck with a directory
selection

Signed-off-by: zhongshiqi <[email protected]>
---
Changes in v6:
update coccinelle.rst documents and add instructions for use this

Changes in v5:
rewrite change description as an enumeration

Changes in v4:
rewrite change description in another wording

Changes in v3:
1:rewrite change description
2:fix patch subject
3:modify commit log

Changes in v2:
1.fix patch subject according to the reply by Markus
<[email protected]>
2.change description in “imperative mood”

Documentation/dev-tools/coccinelle.rst | 51 ++++++++++++++++++++++------------
scripts/coccicheck | 4 +++
2 files changed, 38 insertions(+), 17 deletions(-)

diff --git a/Documentation/dev-tools/coccinelle.rst b/Documentation/dev-tools/coccinelle.rst
index 00a3409..6af3201 100644
--- a/Documentation/dev-tools/coccinelle.rst
+++ b/Documentation/dev-tools/coccinelle.rst
@@ -100,8 +100,8 @@ Two other modes provide some common combinations of these modes.
It should be used with the C option (described later)
which checks the code on a file basis.

-Examples
-~~~~~~~~
+Using Coccinelle with defalut value
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

To make a report for every semantic patch, run the following command::

@@ -127,6 +127,38 @@ To enable verbose messages set the V= variable, for example::

make coccicheck MODE=report V=1

+Using Coccinelle with a single file selection
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The optional make variable COCCI can be used to check a single
+semantic patch. In that case, the variable must be initialized with
+the name of the semantic patch to apply.
+
+For instance::
+
+ make coccicheck COCCI=<my_SP.cocci> MODE=patch
+
+or::
+
+ make coccicheck COCCI=<my_SP.cocci> MODE=report
+
+
+Using Coccinelle with directory selection
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The optional make variable COCCI can be used to search SmPL scripts in a
+directory. In that case, the variable must be initialized with the name of
+a directory which contains scripts for the semantic patch language.
+
+For instance::
+
+ make coccicheck COCCI=<my_SPDIR> MODE=patch
+
+or::
+
+ make coccicheck COCCI=<my_SPDIR> MODE=report
+
+
Coccinelle parallelization
---------------------------

@@ -148,21 +180,6 @@ When parmap is enabled, if an error occurs in Coccinelle, this error
value is propagated back, the return value of the ``make coccicheck``
captures this return value.

-Using Coccinelle with a single semantic patch
----------------------------------------------
-
-The optional make variable COCCI can be used to check a single
-semantic patch. In that case, the variable must be initialized with
-the name of the semantic patch to apply.
-
-For instance::
-
- make coccicheck COCCI=<my_SP.cocci> MODE=patch
-
-or::
-
- make coccicheck COCCI=<my_SP.cocci> MODE=report
-

Controlling Which Files are Processed by Coccinelle
---------------------------------------------------
diff --git a/scripts/coccicheck b/scripts/coccicheck
index e04d328..bfe0c94 100755
--- a/scripts/coccicheck
+++ b/scripts/coccicheck
@@ -257,6 +257,10 @@ if [ "$COCCI" = "" ] ; then
for f in `find $srctree/scripts/coccinelle/ -name '*.cocci' -type f | sort`; do
coccinelle $f
done
+elif [ -d "$COCCI" ] ; then
+ for f in `find $COCCI/ -name '*.cocci' -type f | sort`; do
+ coccinelle $f
+ done
else
coccinelle $COCCI
fi
--
2.9.5


2019-11-04 15:42:10

by Markus Elfring

[permalink] [raw]
Subject: Re: [PATCH v6] coccicheck: Support search for SmPL scripts within selected directory hierarchy

> *Allow defining the environment variable “COCCI” as a directory to
> search SmPL scripts.
>
> *Start a corresponding file determination if it contains an acceptable
> path.
>
> *Update coccinelle.rst documents for use coccicheck with a directory
> selection

‣ Do you really insist to use an enumeration without alignment
in your change description?

‣ Can the following third item be nicer?

* Adjust software documentation for using coccicheck with
a selected directory.


> +++ b/Documentation/dev-tools/coccinelle.rst
> @@ -100,8 +100,8 @@ Two other modes provide some common combinations of these modes.

> +Using Coccinelle with defalut value

Why did you repeat a typo?

How do you think about to use the section title “Using Coccinelle
with the default configuration”?



> +semantic patch. In that case, the variable must be initialized with
> +the name of the semantic patch to apply.

I prefer an other wording.

…, it should be set to the file name of the semantic patch to apply.



> +directory. In that case, the variable must be initialized with the name of

…, it should be set to the …


Will the presented case distinction need another adjustment
for the document outline?



> Controlling Which Files are Processed by Coccinelle


Did you overlook another update candidate (which I tried to point out before)?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/dev-tools/coccinelle.rst?id=a99d8080aaf358d5d23581244e5da23b35e340b9#n189
“…
COCCI variable may additionally be used to only apply a single
semantic patch as shown in the previous section.
…”


Regards,
Markus