public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Cyril Hrubis <chrubis@suse.cz>
To: Petr Vorel <pvorel@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 13:42:17 +0100	[thread overview]
Message-ID: <ZdiSqReYgNf88ema@yuki> (raw)
In-Reply-To: <20240104204614.1426027-3-pvorel@suse.cz>

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.

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
	...

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..

> +for test in $tests; do
>  	a=$($top_builddir/metadata/metaparse -Iinclude -Itestcases/kernel/syscalls/utils/ "$test")
>  	if [ -n "$a" ]; then
>  		if [ -z "$first" ]; then

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

  reply	other threads:[~2024-02-23 12:43 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 [this message]
2024-02-23 14:11     ` Petr Vorel
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=ZdiSqReYgNf88ema@yuki \
    --to=chrubis@suse.cz \
    --cc=ltp@lists.linux.it \
    --cc=pvorel@suse.cz \
    /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