Thanks Andrew for providing this Fix. Here are the results below:
On the Machine where it was actually creating trouble building:
For: Linux 2.6.23.13 #1 SMP Wed Jan 9 18:14:28 PST 2008 ia64 GNU/Linux
# gcc --version
gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
Copyright (C) 2006 Free Software Foundation, Inc.
Prepatching:
cc -Wall -I../../include -g -Wall -I../../../../include -Wall
inotify01.c -L../../../../lib -lltp -o inotify01
inotify01.c:53:25: error: sys/inotify.h: No such file or directory
inotify01.c:76: error: invalid application of 'sizeof' to incomplete
type 'struct inotify_event'
inotify01.c: In function 'main':
inotify01.c:124: error: 'IN_ATTRIB' undeclared (first use in this
function)
inotify01.c:124: error: (Each undeclared identifier is reported only
once
inotify01.c:124: error: for each function it appears in.)
inotify01.c:132: error: 'IN_OPEN' undeclared (first use in this
function)
inotify01.c:140: error: 'IN_ACCESS' undeclared (first use in this
function)
inotify01.c:148: error: 'IN_CLOSE_NOWRITE' undeclared (first use in this
function)
inotify01.c:165: error: 'IN_MODIFY' undeclared (first use in this
function)
inotify01.c:173: error: 'IN_CLOSE_WRITE' undeclared (first use in this
function)
inotify01.c:186: error: invalid application of 'sizeof' to incomplete
type 'struct inotify_event'
inotify01.c:189: error: invalid application of 'sizeof' to incomplete
type 'struct inotify_event'
inotify01.c:204: error: dereferencing pointer to incomplete type
inotify01.c:204: error: dereferencing pointer to incomplete type
inotify01.c:205: error: dereferencing pointer to incomplete type
inotify01.c:205: error: dereferencing pointer to incomplete type
inotify01.c:206: error: dereferencing pointer to incomplete type
inotify01.c:209: error: dereferencing pointer to incomplete type
inotify01.c:209: error: dereferencing pointer to incomplete type
inotify01.c:210: error: dereferencing pointer to incomplete type
inotify01.c:210: error: dereferencing pointer to incomplete type
inotify01.c:215: error: dereferencing pointer to incomplete type
inotify01.c:215: error: dereferencing pointer to incomplete type
inotify01.c:217: error: dereferencing pointer to incomplete type
inotify01.c:217: error: dereferencing pointer to incomplete type
inotify01.c:220: error: invalid application of 'sizeof' to incomplete
type 'struct inotify_event'
inotify01.c:220: error: dereferencing pointer to incomplete type
inotify01.c: In function 'setup':
inotify01.c:281: error: 'IN_ALL_EVENTS' undeclared (first use in this
function)
make[4]: *** [inotify01] Error 1
Post Patching:
Successfull Build & Install:
Run Results:
# ./testcases/bin/inotify01
inotify01 1 BROK : can't find header sys/inotify.h
# ./testcases/bin/inotify02
inotify02 1 BROK : can't find header sys/inotify.h
For other architectures as well, it works fine. But i see some failures
even pre and post patching in the following machine:
Linux 2.6.18-92.el5 #1 SMP Tue Apr 29 13:16:12 EDT 2008 i686 i686 i386
GNU/Linux
$ gcc --version
gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42)
Copyright (C) 2006 Free Software Foundation, Inc.
Could you also investigate the failures as well. They are same both pre
and post patching:
]# ./testcases/bin/inotify01
inotify01 1 PASS : get event: wd=1 mask=4 cookie=0 len=0
inotify01 2 PASS : get event: wd=1 mask=20 cookie=0 len=0
inotify01 3 PASS : get event: wd=1 mask=1 cookie=0 len=0
inotify01 4 PASS : get event: wd=1 mask=10 cookie=0 len=0
inotify01 5 PASS : get event: wd=1 mask=20 cookie=0 len=0
inotify01 6 PASS : get event: wd=1 mask=2 cookie=0 len=0
inotify01 7 FAIL : get event: wd=1 mask=20 (expected 8) cookie=0
len=0
inotify01 8 FAIL : get unnecessary event: wd=1 mask=1 cookie=0
len=0
inotify01 9 FAIL : get unnecessary event: wd=1 mask=1 cookie=0
len=0
inotify01 10 FAIL : get unnecessary event: wd=1 mask=1 cookie=0
len=0
inotify01 11 FAIL : get unnecessary event: wd=1 mask=1 cookie=0
len=0
inotify01 12 FAIL : get unnecessary event: wd=1 mask=1 cookie=0
len=0
inotify01 13 FAIL : get unnecessary event: wd=1 mask=1 cookie=0
len=0
inotify01 14 FAIL : get unnecessary event: wd=1 mask=1 cookie=0
len=0
inotify01 15 FAIL : get unnecessary event: wd=1 mask=1 cookie=0
len=0
inotify01 16 FAIL : get unnecessary event: wd=1 mask=1 cookie=0
len=0
inotify01 17 FAIL : get unnecessary event: wd=1 mask=1 cookie=0
len=0
inotify01 18 FAIL : get unnecessary event: wd=1 mask=1 cookie=0
len=0
inotify01 19 FAIL : get unnecessary event: wd=1 mask=1 cookie=0
len=0
inotify01 20 FAIL : get unnecessary event: wd=1 mask=10 cookie=0
len=0
inotify01 21 FAIL : get unnecessary event: wd=1 mask=8 cookie=0
len=0
# ./testcases/bin/inotify02
inotify02 1 PASS : get event: wd=1 mask=40000004 cookie=0 len=0
name=""
inotify02 2 PASS : get event: wd=1 mask=100 cookie=0 len=16
name="test_file1"
inotify02 3 PASS : get event: wd=1 mask=20 cookie=0 len=16
name="test_file1"
inotify02 4 FAIL : get event: wd=1 mask=20 (expected 8) cookie=0
len=16 name="test_file1" (expected "test_file1") 0
inotify02 5 FAIL : get event: wd=1 mask=10 (expected 40) cookie=0
len=16 name="test_file1" (expected "test_file1") 0
inotify02 6 FAIL : get event: wd=1 mask=8 (expected 80) cookie=0
len=16 name="test_file1" (expected "test_file2") 1
inotify02 7 FAIL : get event: wd=1 mask=40 (expected 800)
cookie=6472 len=16 name="test_file1" (expected "") -1
inotify02 8 FAIL : get event: wd=1 mask=80 (expected 200)
cookie=6472 len=16 name="test_file2" (expected "test_file2") 0
inotify02 9 PASS : get event: wd=1 mask=800 cookie=0 len=0
name=""
inotify02 10 FAIL : get unnecessary event: wd=1 mask=200 cookie=0
len=16name="test_file2"
inotify02 11 FAIL : get unnecessary event: wd=1 mask=800 cookie=0
len=0name=""
inotify02 12 FAIL : get unnecessary event: wd=1 mask=800 cookie=0
len=0name=""
Since the Patch provides fix or the actual build issue(s), i have merged
them.
Meanwhile there is another test which fails only on this machine, may
something to do with the headers as well. Can you also look in to this:
cc -Wall -I../../include -g -Wall -I../../../../include -Wall
-I../../../../include -Wall utimensat01.c -L../../../../lib -lltp -o
utimensat01
utimensat01.c: In function 'main':
utimensat01.c:115: error: 'AT_FDCWD' undeclared (first use in this
function)
utimensat01.c:115: error: (Each undeclared identifier is reported only
once
utimensat01.c:115: error: for each function it appears in.)
utimensat01.c:126: error: 'AT_SYMLINK_NOFOLLOW' undeclared (first use in
this function)
make[5]: *** [utimensat01] Error 1
Regards--
Subrata
On Wed, 2008-08-27 at 18:57 +0400, Andrew Vagin wrote:
> that we don't break builds.
> ---
> testcases/kernel/syscalls/inotify/Makefile | 7 +++++++
> testcases/kernel/syscalls/inotify/inotify01.c | 9 +++++++--
> testcases/kernel/syscalls/inotify/inotify02.c | 9 +++++++--
> 3 files changed, 21 insertions(+), 4 deletions(-)
>
> diff --git a/testcases/kernel/syscalls/inotify/Makefile
> b/testcases/kernel/syscalls/inotify/Makefile
> index 73eb227..3ed0fa9 100644
> --- a/testcases/kernel/syscalls/inotify/Makefile
> +++ b/testcases/kernel/syscalls/inotify/Makefile
> @@ -21,6 +21,13 @@ LDLIBS += -L../../../../lib -lltp
>
> SRCS = $(wildcard *.c)
> TARGETS = $(patsubst %.c,%,$(SRCS))
> +check_header = $(shell \
> + if echo "\#include <$(1)>" | $(CC) -E - > /dev/null; \
> + then echo -DHAS_SYS_INOTIFY ; \
> + fi)
> +
> +HAS_SYS_INOTIFY := $(call check_header,sys/inotify.h)
> +CFLAGS += $(HAS_SYS_INOTIFY)
>
> all: $(TARGETS)
>
> diff --git a/testcases/kernel/syscalls/inotify/inotify01.c
> b/testcases/kernel/syscalls/inotify/inotify01.c
> index a1502f1..055e993 100644
> --- a/testcases/kernel/syscalls/inotify/inotify01.c
> +++ b/testcases/kernel/syscalls/inotify/inotify01.c
> @@ -49,7 +49,7 @@
> #include "test.h"
> #include "usctest.h"
>
> -#ifdef __NR_inotify_init
> +#if defined(HAS_SYS_INOTIFY) && defined(__NR_inotify_init)
> #include <sys/inotify.h>
>
> #define EVENT_MAX 1024
> @@ -327,9 +327,14 @@ int TST_TOTAL = 0; /* Total number of test
> cases. */
> int
> main()
> {
> +#ifndef __NR_inotify_init
> tst_resm(TWARN, "This test needs a kernel that has inotify syscall.");
> tst_resm(TWARN, "Inotify syscall can be found at kernel 2.6.13 or
> higher.");
> - exit(0);
> +#endif
> +#ifndef HAS_SYS_INOTIFY:
> + tst_resm(TBROK, "can't find header sys/inotify.h");
> + return 1;
> +#endif
> return 0;
> }
>
> diff --git a/testcases/kernel/syscalls/inotify/inotify02.c
> b/testcases/kernel/syscalls/inotify/inotify02.c
> index d7dc83f..b879b62 100644
> --- a/testcases/kernel/syscalls/inotify/inotify02.c
> +++ b/testcases/kernel/syscalls/inotify/inotify02.c
> @@ -52,7 +52,7 @@
> #include "test.h"
> #include "usctest.h"
>
> -#ifdef __NR_inotify_init
> +#if defined(__NR_inotify_init) && defined(HAS_SYS_INOTIFY)
> #include <sys/inotify.h>
>
> #ifndef IN_MOVE_SELF
> @@ -368,9 +368,14 @@ int TST_TOTAL = 0; /* Total number of test
> cases. */
> int
> main()
> {
> +#ifndef __NR_inotify_init
> tst_resm(TWARN, "This test needs a kernel that has inotify syscall.");
> tst_resm(TWARN, "Inotify syscall can be found at kernel 2.6.13 or
> higher.");
> - exit(0);
> +#endif
> +#ifndef HAS_SYS_INOTIFY:
> + tst_resm(TBROK, "can't find header sys/inotify.h");
> + return 1;
> +#endif
> return 0;
> }
>
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list