[LTP] [PATCH v2 1/2] Add Coccinelle helper scripts for reference

Richard Palethorpe rpalethorpe@suse.de
Wed Jun 9 12:28:14 CEST 2021


Petr Vorel <pvorel@suse.cz> writes:

> Hi Richie,
>
>> Check-in a couple of scripts used for removing the TEST macro from the
>> library. Also a shell script to show how to run them. These are only
>> intended to help someone develop their own refactoring scripts. Not
>> for running automatically.
> Nice, LGTM, with two notes bellow.
>
>> +++ b/scripts/coccinelle/run-spatch.sh
>> @@ -0,0 +1,39 @@
>> +#!/bin/sh -eu
>> +# SPDX-License-Identifier: GPL-2.0-or-later
>> +# Copyright (c) 2021 SUSE LLC  <rpalethorpe@suse.com>
>> +
>> +# Helper for running spatch Coccinelle scripts on the LTP source tree
>> +
>> +if [[ ! -d lib || ! -d scripts/coccinelle ]]; then
> [[ ... ]] is bashism. It should be
> if [ ! -d lib ] || [ ! -d scripts/coccinelle ]; then

+1

>
> or
>
>> +    echo "$0: Can't find lib or scripts directories. Run me from top src dir"
>> +    exit 1
>> +fi
>> +
>> +# Run a script on the lib dir
>> +libltp_spatch_report() {
>> +    spatch --dir lib \
>> +	   --ignore lib/parse_opts.c \
>> +	   --ignore lib/newlib_tests \
>> +	   --ignore lib/tests \
>> +	   --use-gitgrep \
>> +	   -D report \
>> +	   --include-headers \
>> +	   $*
>> +}
>> +
>> +libltp_spatch_fix() {
>> +    spatch --dir lib \
>> +	   --ignore lib/parse_opts.c \
>> +	   --ignore lib/newlib_tests \
>> +	   --ignore lib/tests \
>> +	   --use-gitgrep \
>> +	   --in-place \
>> +	   -D fix \
>> +	   --include-headers \
>> +	   $*
>> +}
>> +
>> +echo You should uncomment one of the scripts below!
>> +#libltp_spatch_report --sp-file scripts/coccinelle/libltp-test-macro.cocci
>> +#libltp_spatch_report --sp-file scripts/coccinelle/libltp-test-macro-vars.cocci \
>> +#		     --ignore lib/tst_test.c
> Maybe have getopts to specify what needs to be running would prevent a need to
> modify versioned file.

+1

>
> Kind regards,
> Petr


-- 
Thank you,
Richard.


More information about the ltp mailing list