On Tue, 03 Mar 2009 10:23:53 +0100, Subrata Modak
<[email protected]> wrote:
>
> On Mon, 2009-03-02 at 16:50 +0100, Francesco RUNDO wrote:
>> I run inotify02 test on SH based arch running LTP-2009 release. I'd like
>> to submit a change on the code of inotify02.c file. I propose to replace
>> the following code:
>>
>> while (i < len) {
>> struct inotify_event *event;
>> event = (struct inotify_event *) &event_buf[i];
>> if (test_num >= TST_TOTAL){
>> ................................
>>
>> with:
>>
>> while ((i < len)&&(test_num < TST_TOTAL)) {
>> struct inotify_event *event;
>> event = (struct inotify_event *) &event_buf[i];
>> if ((event_set[test_num].mask == event->mask) &&
>> (! strncmp( event_set[test_num].name,
>> event->name, event->len))) {
>> ...............................................
>>
>> The detailed change is reported in the attached patch.
>>
>> In that way, we avoid to run the code within the above while loop, if
>> the total amount of the notified events has been reached.
Yes, but why? The original code reported failure in this case, and your
patch makes this into a PASS. Although it was made in a kludgy way, and
probably not playing nicely with Tst_count vs. TST_TOTAL, do you think it
was incorrect, so that you needed to change the behaviour?
Regards
Jiri Palecek
>> plain text document attachment (ltp-full-20090131-fix-inotify02.patch)
>> This patch avoid to run the istructions within the while loop if no
>> more events have been collected.
>> Signed-off-by: Francesco Rundo <[email protected]>
>> ---
>> ltp-full-20090131/testcases/kernel/syscalls/inotify/inotify02.c.origin
>> 2009-03-02
>> 09:16:53.110000000 +0100
>> +++
>> ltp-full-20090131/testcases/kernel/syscalls/inotify/inotify02.c
>> 2009-03-02
>> 09:37:04.470002000 +0100
>> @@ -54,7 +54,7 @@
>> #include "test.h"
>> #include "usctest.h"
>>
>> -#if defined(__NR_inotify_init) && defined(HAVE_SYS_INOTIFY)
>> +#if defined(__NR_inotify_init) && defined(HAVE_SYS_INOTIFY_H)
>
> Jiri Palecek <[email protected]> already made these changes last month,
> Mon Feb 23 07:18:46 2009 UTC.
>
>> #include <sys/inotify.h>
>>
>> #ifndef IN_MOVE_SELF
>>
>
> You probably need only the following:
>
> Signed-Off-By: Francesco RUNDO <[email protected]>,
> Signed-Off-By: Subrata Modak <[email protected]>,
> --
>
> ---
> ltp-full-20090228/testcases/kernel/syscalls/inotify/inotify02.c.orig
> 2009-03-03
> 14:40:23.000000000 +0530
> +++
> ltp-full-20090228/testcases/kernel/syscalls/inotify/inotify02.c
> 2009-03-03
> 14:36:37.000000000 +0530
> @@ -246,25 +246,17 @@ int main(int ac, char **av){
> }
> - while (i < len) {
> + while ((i < len)&&(test_num < TST_TOTAL)) {
> struct inotify_event *event;
> event = (struct inotify_event *) &event_buf[i];
> - if (test_num >= TST_TOTAL){
> - tst_resm(TFAIL, "get unnecessary event: "
> - "wd=%d mask=%x cookie=%u len=%u"
> - "name=\"%s\"",event->wd, event->mask,
> - event->cookie, event->len,
> - event->name);
> -
> - } else if ((event_set[test_num].mask == event->mask) &&
> - (! strncmp( event_set[test_num].name,
> - event->name, event->len))) {
> + if ((event_set[test_num].mask == event->mask) &&
> + (! strncmp( event_set[test_num].name,
> + event->name, event->len))) {
> tst_resm(TPASS, "get event: wd=%d mask=%x"
> - " cookie=%u len=%u name=\"%s\"",
> - event->wd, event->mask,
> - event->cookie, event->len,
> - event->name);
> -
> + " cookie=%u len=%u name=\"%s\"",
> + event->wd, event->mask,
> + event->cookie, event->len,
> + event->name);
> } else {
> tst_resm(TFAIL, "get event: wd=%d mask=%x "
> "(expected %x) cookie=%u len=%u "
>
> @@ -375,7 +368,7 @@
>> tst_resm(TCONF, "Inotify syscall can be found at kernel 2.6.13 or
>> higher.");
>> return 0;
>> #endif
>> -#ifndef HAVE_SYS_INOTIFY
>> +#ifndef HAVE_SYS_INOTIFY_H
>
> Same here. Changes are already in CVS.
>
> Regards--
> Subrata
>
>> tst_resm(TBROK, "can't find header sys/inotify.h");
>> return 1;
>> #endif
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list