[LTP] [PATCH 1/2] read_all: move blacklist to source
Cyril Hrubis
chrubis@suse.cz
Tue Nov 5 11:59:44 CET 2019
Hi!
> Signed-off-by: Jan Stancek <jstancek@redhat.com>
> ---
> runtest/fs | 2 +-
> testcases/kernel/fs/read_all/read_all.c | 28 ++++++++++++++++++++++++----
> 2 files changed, 25 insertions(+), 5 deletions(-)
>
> diff --git a/runtest/fs b/runtest/fs
> index 07d6e2b67964..46318575653e 100644
> --- a/runtest/fs
> +++ b/runtest/fs
> @@ -71,7 +71,7 @@ proc01 proc01 -m 128
>
> read_all_dev read_all -d /dev -p -q -r 10
> read_all_proc read_all -d /proc -q -r 10
> -read_all_sys read_all -d /sys -q -r 10 -e /sys/power/wakeup_count
> +read_all_sys read_all -d /sys -q -r 10
>
> #Run the File System Race Condition Check tests as well
> fs_racer fs_racer.sh -t 5
> diff --git a/testcases/kernel/fs/read_all/read_all.c b/testcases/kernel/fs/read_all/read_all.c
> index 4edccff03a4f..cef55e20d671 100644
> --- a/testcases/kernel/fs/read_all/read_all.c
> +++ b/testcases/kernel/fs/read_all/read_all.c
> @@ -81,6 +81,11 @@ static long max_workers = 15;
> static struct worker *workers;
> static char *drop_privs;
>
> +static char *blacklist[] = {
> + "/sys/power/wakeup_count",
> +};
Can't we just put a dummy NULL element as a first entry in the blacklist
and then pass the &blacklist pointer in the options structure?
That would simplify the loop in is_blacklisted a bit...
> +static unsigned int blacklist_sz = ARRAY_SIZE(blacklist);
> +
> static struct tst_option options[] = {
> {"v", &verbose,
> "-v Print information about successful reads."},
> @@ -182,17 +187,32 @@ static void sanitize_str(char *buf, ssize_t count)
> strcpy(buf + MAX_DISPLAY, "...");
> }
>
> +static int is_blacklisted(const char *path)
> +{
> + unsigned int i;
> + char *bstr;
> +
> + for (i = 0; i < blacklist_sz + 1; i++) {
> + bstr = i < blacklist_sz ? blacklist[i] : exclude;
> +
> + if (bstr && !fnmatch(bstr, path, FNM_EXTMATCH)) {
> + if (verbose)
> + tst_res(TINFO, "Ignoring %s", path);
> + return 1;
> + }
> + }
> +
> + return 0;
> +}
> +
> static void read_test(const char *path)
> {
> char buf[BUFFER_SIZE];
> int fd;
> ssize_t count;
>
> - if (exclude && !fnmatch(exclude, path, FNM_EXTMATCH)) {
> - if (verbose)
> - tst_res(TINFO, "Ignoring %s", path);
> + if (is_blacklisted(path))
> return;
> - }
>
> if (verbose)
> tst_res(TINFO, "%s(%s)", __func__, path);
> --
> 1.8.3.1
>
>
> --
> Mailing list info: https://lists.linux.it/listinfo/ltp
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list