From: Petr Vorel <pvorel@suse.cz>
To: Cyril Hrubis <chrubis@suse.cz>
Cc: ltp@lists.linux.it
Subject: Re: [LTP] [PATCH 2/9] metadata: parse.sh: Allow to pass list of files
Date: Fri, 23 Feb 2024 15:11:46 +0100 [thread overview]
Message-ID: <20240223141146.GC1463543@pevik> (raw)
In-Reply-To: <ZdiSqReYgNf88ema@yuki>
HI Cyril,
> Hi!
> > +if [ $# -gt 0 ]; then
> > + tests=$*
> > +else
> > + tests=$(find testcases/ -name '*.c' | sort)
> > +fi
> This unfortunately does not work when there are unexpected characters in
> the paths. Which shouldn't happen unless you pass an absoulte path to
> the script which contains for example space.
Ah :(.
> I do not think that we can safely pass a list in a variable without
> breaking it in that case. E.g. it works directly with $* or $@ if it's
> quoted properly as:
> for test in "$@"; do
> ...
OK, we can either drop it entirely, or use something like this (I'm not happy
about global):
parse()
{
local test="$1"
a=$($top_builddir/metadata/metaparse -Iinclude -Itestcases/kernel/syscalls/utils/ "$test")
if [ -n "$a" ]; then
if [ -z "$first" ]; then
echo ','
fi
first=
cat <<EOF
$a
EOF
fi
}
first=1
if [ $# -gt 0 ]; then
for test in "$@"; do
parse "$test"
done
else
for test in $(find testcases/ -name '*.c' | sort); do
parse "$test"
done
fi
> But as long as you pass $@ indirectly it breaks on spaces.
> Note that the subshell $() with find has the same problem, but there is
> much less room for breaking something because that is passed relative
> paths inside of LTP.
> And yes I hate argument parsing in shell..
Yeah, we all love shell pitfalls :).
Kind regards,
Petr
> > +for test in $tests; do
> > a=$($top_builddir/metadata/metaparse -Iinclude -Itestcases/kernel/syscalls/utils/ "$test")
> > if [ -n "$a" ]; then
> > if [ -z "$first" ]; then
--
Mailing list info: https://lists.linux.it/listinfo/ltp
next prev parent reply other threads:[~2024-02-23 14:12 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-04 20:46 [LTP] [PATCH 0/9] metadata: improvements Petr Vorel
2024-01-04 20:46 ` [LTP] [PATCH 1/9] metaparse: Print parsing file on verbose Petr Vorel
2024-01-05 12:03 ` Petr Vorel
2024-02-23 12:12 ` Cyril Hrubis
2024-02-23 13:51 ` Petr Vorel
2024-02-23 12:24 ` Cyril Hrubis
2024-01-04 20:46 ` [LTP] [PATCH 2/9] metadata: parse.sh: Allow to pass list of files Petr Vorel
2024-02-23 12:42 ` Cyril Hrubis
2024-02-23 14:11 ` Petr Vorel [this message]
2024-01-04 20:46 ` [LTP] [PATCH 3/9] metadata: parse.sh: Pass -v to metaparse on VERBOSE=1 Petr Vorel
2024-02-23 12:46 ` Cyril Hrubis
2024-02-23 14:33 ` Petr Vorel
2024-02-23 14:37 ` Petr Vorel
2024-02-23 14:40 ` Cyril Hrubis
2024-01-04 20:46 ` [LTP] [PATCH 4/9] metadata: test.sh: Print more info " Petr Vorel
2024-02-23 12:53 ` Cyril Hrubis
2024-02-23 14:54 ` Petr Vorel
2024-01-04 20:46 ` [LTP] [PATCH 5/9] metaparse: Verbose output on V=1 Petr Vorel
2024-02-23 12:50 ` Cyril Hrubis
2024-02-23 14:40 ` Petr Vorel
2024-01-04 20:46 ` [LTP] [PATCH 6/9] metaparse: Add missing blank line on the list Petr Vorel
2024-02-23 13:08 ` Cyril Hrubis
2024-02-23 14:42 ` Cyril Hrubis
2024-02-23 15:04 ` Petr Vorel
2024-01-04 20:46 ` [LTP] [PATCH 7/9] metadata: Add test for missing blank line in list Petr Vorel
2024-01-04 20:46 ` [LTP] [PATCH 8/9] ci/debian: Allow to install packages only for docparse Petr Vorel
2024-02-23 13:17 ` Cyril Hrubis
2024-02-23 13:46 ` Petr Vorel
2024-01-04 21:23 ` [LTP] [PATCH 0/9] metadata: improvements Petr Vorel
-- strict thread matches above, loose matches on Subject: below --
2024-01-04 21:16 Petr Vorel
2024-01-04 21:16 ` [LTP] [PATCH 2/9] metadata: parse.sh: Allow to pass list of files Petr Vorel
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=20240223141146.GC1463543@pevik \
--to=pvorel@suse.cz \
--cc=chrubis@suse.cz \
--cc=ltp@lists.linux.it \
/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