[LTP] [PATCH] Fix wrong pattern used by fnmatch in test case proc01.c
Jan Stancek
jstancek@redhat.com
Tue Dec 1 11:02:23 CET 2015
----- Original Message -----
> From: "Lijin(Euler Dept 8)" <lijin14@huawei.com>
> To: "Jan Stancek" <jstancek@redhat.com>
> Cc: "Li Jin" <King.lijin@huawei.com>, ltp@lists.linux.it
> Sent: Tuesday, 1 December, 2015 10:34:34 AM
> Subject: Re: [LTP] [PATCH] Fix wrong pattern used by fnmatch in test case proc01.c
>
> On 2015/12/1 16:35, Jan Stancek wrote:
> >
> >
> >
> >
> > ----- Original Message -----
> >> From: "Lijin(Euler Dept 8)" <lijin14@huawei.com>
> >> To: "Jan Stancek" <jstancek@redhat.com>
> >> Cc: "Li Jin" <King.lijin@huawei.com>, ltp@lists.linux.it
> >> Sent: Tuesday, 1 December, 2015 2:30:27 AM
> >> Subject: Re: [LTP] [PATCH] Fix wrong pattern used by fnmatch in test case
> >> proc01.c
> >>
> >> On 2015/11/30 20:46, Jan Stancek wrote:
> >>>
> >>>
> >>>
> >>>
> >>> ----- Original Message -----
> >>>> From: "Li Jin" <King.lijin@huawei.com>
> >>>> To: "king lijin" <king.lijin@huawei.com>, ltp@lists.linux.it
> >>>> Cc: "Li Jin" <King.lijin@huawei.com>
> >>>> Sent: Friday, 27 November, 2015 7:44:09 AM
> >>>> Subject: [LTP] [PATCH] Fix wrong pattern used by fnmatch in test case
> >>>> proc01.c
> >>>>
> >>>> fnmatch() in proc01.c should use pattern ipv6/conf/[a-z]*/stable_secret
> >>>> to replace /ipv6/conf/*/stable_secret to check the known issue string
> >>>> such
> >>>> as
> >>>> /proc/sys/net/ipv6/conf/all/stable_secret
> >>>
> >>> Hi,
> >>>
> >>> An explanation _why_ it is wrong would be helpful too.
> >>
> >> Got it. The reason is that a single "*" can not be used to match the any
> >> string in fnmatch.
> >
> > Why not? According to [1] referenced by [2]:
> > The <asterisk> ( '*' ) is a pattern that shall match any string,
> > including the null string
> > and it looks like valid 'shell wildcard pattern' (fnmatch(3)).
> >
> > [1]
> > http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_13_02
> > [2] http://pubs.opengroup.org/onlinepubs/9699919799/functions/fnmatch.html
> >
>
> agreed.
>
> >>>
> >>>>
> >>>> Signed-off-by: Li Jin <King.lijin@huawei.com>
> >>>> ---
> >>>> testcases/kernel/fs/proc/proc01.c | 2 +-
> >>>> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>>>
> >>>> diff --git a/testcases/kernel/fs/proc/proc01.c
> >>>> b/testcases/kernel/fs/proc/proc01.c
> >>>> index 2825b51..197eb55 100644
> >>>> --- a/testcases/kernel/fs/proc/proc01.c
> >>>> +++ b/testcases/kernel/fs/proc/proc01.c
> >>>> @@ -107,7 +107,7 @@ static const struct mapping known_issues[] = {
> >>>> {"read", "/proc/fs/nfsd/.getfs", EINVAL},
> >>>> {"read", "/proc/fs/nfsd/.getfd", EINVAL},
> >>>> {"read", "/proc/self/net/rpc/use-gss-proxy", EAGAIN},
> >>>> - {"read", "/proc/sys/net/ipv6/conf/*/stable_secret", EIO},
> >>>> + {"read", "/proc/sys/net/ipv6/conf/[a-z]*/stable_secret", EIO},
> >>>
> >>> This has problems as well:
> >>
> >> Just ignore it. It's the problem of my linux system
> >>
> >>>
> >>> # ip tuntap add 1tap mode tap
> >>> # ./proc01 -m 128
> >>> proc01 0 TINFO : /proc/sys/fs/binfmt_misc/register: is
> >>> write-only.
> >>> proc01 1 TFAIL : proc01.c:393: read failed:
> >>> /proc/sys/net/ipv6/conf/1tap/stable_secret: errno=EIO(5): Input/output
> >>> error
> >>> ...
> >>>
> >>> How about:
> >>> + {"read", "/proc/sys/net/ipv6/conf/?*/stable_secret", EIO},
> >>
> >> Good idea. It works and I will send V2 patch.
> >
> > I'm curious on what distro and glibc version original code is failing for
> > you.
>
> redhat RHEL 6 and /lib64/libc.so.6 - GNU C Library (GNU libc) stable release
> version 2.17, by Roland McGrath et al.
Can give provide of these commands?
cat /etc/redhat-release
rpm -qa glibc
uname -r
Thanks,
Jan
>
> Regards,
>
> Jin
>
> >
> > Regards,
> > Jan
> >
> >>
> >> Regards,
> >>
> >> Jin
> >>
> >>>
> >>> Regards,
> >>> Jan
> >>>
> >>>> {"", "", 0}
> >>>> };
> >>>>
> >>>> --
> >>>> 1.8.3.1
> >>>>
> >>>>
> >>>> --
> >>>> Mailing list info: http://lists.linux.it/listinfo/ltp
> >>>>
> >>>
> >>> .
> >>>
> >>
> >>
> >>
> >
> > .
> >
>
>
>
More information about the Ltp
mailing list