On Mon, 2009-03-02 at 16:50 +0100, Francesco RUNDO wrote:
Hi,
> 
> 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.
> 
> Regards,
> FR
> 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

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

Reply via email to