From: Neil Horman <nhorman@tuxdriver.com>
To: Thomas Monjalon <thomas@monjalon.net>
Cc: dev@dpdk.org, john.mcnamara@intel.com,
bruce.richardson@intel.com, Ferruh Yigit <ferruh.yigit@intel.com>,
Stephen Hemminger <stephen@networkplumber.org>
Subject: Re: [dpdk-dev] [PATCH v2] checkpatches.sh: Add checks for ABI symbol addition
Date: Sun, 21 Jan 2018 20:54:29 -0500 [thread overview]
Message-ID: <20180122015429.GC5415@neilslaptop.think-freely.org> (raw)
In-Reply-To: <10549424.KHioEKbQpN@xps>
On Sun, Jan 21, 2018 at 09:29:18PM +0100, Thomas Monjalon wrote:
> Hi,
>
> 16/01/2018 19:22, Neil Horman:
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > Developers and Maintainers Tools
> > M: Thomas Monjalon <thomas@monjalon.net>
> > +M: Neil Horman <nhorman@tuxdriver.com>
> > F: MAINTAINERS
> > F: devtools/check-dup-includes.sh
> > F: devtools/check-maintainers.sh
> > @@ -52,6 +53,7 @@ F: devtools/get-maintainer.sh
> > F: devtools/git-log-fixes.sh
> > F: devtools/load-devel-config
> > F: devtools/test-build.sh
> > +F: devtools/validate-new-api.sh
> > F: license/
>
> I really think it should be in the section "ABI versioning""
>
I can do that.
> > --- a/devtools/checkpatches.sh
> > +++ b/devtools/checkpatches.sh
> > +export VALIDATE_NEW_API=$(dirname $(readlink -e $0))/validate-new-api.sh
>
> Why export?
>
As I recall I had needed that in an earlier incantation of this script, but its
likely not needed any longer
> > print_usage () {
> > cat <<- END_OF_HELP
> > + $(dirname $0)
> > usage: $(basename $0) [-q] [-v] [-nX|patch1 [patch2] ...]]
>
> This dirname is a debug leftover?
Yes.
>
> > @@ -96,9 +100,25 @@ check () { # <patch> <commit> <title>
> > else
> > report=$($DPDK_CHECKPATCH_PATH $options - 2>/dev/null)
> > fi
> > - [ $? -ne 0 ] || return 0
> > + reta=$?
>
> What means reta?
>
just a subindex on a return code.
> > +
> > $verbose || printf '\n### %s\n\n' "$3"
> > printf '%s\n' "$report" | sed -n '1,/^total:.*lines checked$/p'
> > +
> > + echo
> > + echo "Checking API additions/removals:"
>
> You should respect $verbose before printing such header.
>
I can add a quiet/verbose mode option, but I didn't think it was needed here
since its being run automatically from within checkpatches.
> > + if [ -n "$1" ] ; then
> > + report=$($VALIDATE_NEW_API $1)
> > + elif [ -n "$2" ] ; then
> > + report=$(git format-patch \
> > + --find-renames --no-stat --stdout -1 $commit |
> > + $VALIDATE_NEW_API -)
> > + else
> > + report=$($VALIDATE_NEW_API -)
> > + fi
> > + [ $? -ne 0 -o $reta -ne 0 ] || return 0
> > + printf '%s\n' "$report" | sed -n '1,/^total:.*lines checked$/p'
> > +
> > status=$(($status + 1))
> > }
>
> > --- /dev/null
> > +++ b/devtools/validate-new-api.sh
>
> About the file name, is it only for new API?
> You don't like check-symbol-change.sh ?
> It may be stupid, but I thought "validate" is more related to full test,
> like validate-abi.sh does for the ABI, and "check" can be a partial
> test like done in checkpatches.sh.
>
I can change the name, but to answer your question, its realy meant to validate
any changes to a version map, so change.sh suffixes might be more appropriate.
> > + }' > ./$mapdb
> > +
> > + sort -u $mapdb > ./$mapdb.2
> > + mv -f $mapdb.2 $mapdb
> [...]
> > +mapfile=`mktemp mapdb.XXXXXX`
> [...]
> > +rm -f $mapfile
>
> If you create temporary file, you should remove it in a trap cleanup,
> in case of interrupted processing.
> The best is to avoid temp file, but use variables instead.
I'm not going to be able to avoid a temp file, since the number of changes in a
map are inditerminate. I can trap and clean up the temp files though.
I'm still in transit, so it will likely be a few days before I can get to this.
Neil
>
next prev parent reply other threads:[~2018-01-22 1:55 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-15 19:05 [dpdk-dev] [PATCH] " Neil Horman
2018-01-15 21:52 ` Thomas Monjalon
2018-01-16 0:37 ` Neil Horman
2018-01-15 22:20 ` Stephen Hemminger
2018-01-16 0:36 ` Neil Horman
2018-01-16 18:22 ` [dpdk-dev] [PATCH v2] " Neil Horman
2018-01-21 20:29 ` Thomas Monjalon
2018-01-22 1:54 ` Neil Horman [this message]
2018-01-22 2:05 ` Thomas Monjalon
2018-01-31 17:27 ` [dpdk-dev] [PATCH v3] " Neil Horman
2018-02-04 14:44 ` Thomas Monjalon
2018-02-05 17:29 ` [dpdk-dev] [PATCH v4] " Neil Horman
2018-02-05 17:57 ` Thomas Monjalon
2018-02-09 15:21 ` [dpdk-dev] [PATCH v5] " Neil Horman
2018-02-13 22:57 ` Thomas Monjalon
2018-02-14 19:19 ` [dpdk-dev] [PATCH v6] " Neil Horman
2018-05-27 19:34 ` Thomas Monjalon
2018-05-27 21:00 ` Neil Horman
2018-05-27 22:01 ` Thomas Monjalon
2018-05-28 17:08 ` Neil Horman
2018-06-05 12:21 ` [dpdk-dev] [PATCH v7] " Neil Horman
2018-06-14 13:30 ` [dpdk-dev] [PATCH v8] " Neil Horman
2018-06-25 23:04 ` Thomas Monjalon
2018-06-27 17:58 ` Neil Horman
2018-06-27 18:01 ` [dpdk-dev] [PATCH v9] " Neil Horman
2018-07-15 23:12 ` Thomas Monjalon
2018-08-14 3:53 ` Rao, Nikhil
2018-08-14 11:04 ` Neil Horman
2018-08-15 6:10 ` Nikhil Rao
2018-08-15 10:48 ` Neil Horman
2018-08-16 6:19 ` Rao, Nikhil
2018-08-16 10:42 ` Neil Horman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180122015429.GC5415@neilslaptop.think-freely.org \
--to=nhorman@tuxdriver.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=john.mcnamara@intel.com \
--cc=stephen@networkplumber.org \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).