On Thu, 2008-09-11 at 21:47 +0900, Masatake YAMATO wrote:
> > Finally i tested them and were satisfied with the way it built,
> > installed and ran on 4 arch i tested. But, i am puzzled by one thing. On
> > all systems (even on kernel 2.6.26 for i386, ppc64, x86_64) it gave me
> > the following output:
> > 
> > # ./testcases/bin/signalfd01 
> > signalfd01    1  CONF  :  System doesn't support execution of the test
> > # echo $?
> > 0
> > 
> > While i found that signalfd.h is existent here:
> > /usr/include/linux/signalfd.h
> > (in one of the machines)
> > 
> > Should we actually find for:
> > /usr/include/sys/signalfd.h ?
> > 
> > instead of:
> > /usr/include/linux/signalfd.h
> > 
> > Should we actually wait for a higher gcc release for this header file. I
> > have even the following gcc in one of my test machine:
> > 
> > # gcc --version
> > gcc (GCC) 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)
> > 
> > Anyways, the tests are now part of LTP. I hope i will be able to run the
> > actual test code soon on some machine. Thanks.
> 
> In such situation what we should do? 
> I'd like to hear about the basic policy from you?

Hmmm...!! That puts me in a difficult position. So far u personally
think, i would like things to get tested if the running kernel has the
support for it, even, if the installed glibc does not have support for
this. We would then be able to test features in latest kernels even if
glibc is far away to include it´s support. It will mean putting some
glibc type code in the test case(s). Not sure what others think on this.

Regards--
Subrata

> How strongly should we seek the portability of test case?
> 
> See the patch attached to this mail.
> If I copy codes from glibc, even on your systems the test case
> for signalfd can be run. Do you want this kind of effort?
> 
> 
> 
> Signed-off-by: Masatake YAMATO <[EMAIL PROTECTED]>
> 
> diff --git a/testcases/kernel/syscalls/signalfd/Makefile 
> b/testcases/kernel/syscalls/signalfd/Makefile
> index be34bb1..db37fd4 100644
> --- a/testcases/kernel/syscalls/signalfd/Makefile
> +++ b/testcases/kernel/syscalls/signalfd/Makefile
> @@ -20,7 +20,9 @@ include ../utils/cond.mk
> 
> 
>  CFLAGS += -I../../../../include \
> -     $(call check_header,sys/signalfd.h, -DHAS_SIGNALFD_H, ) -Wall 
> +     $(call check_header,sys/signalfd.h, -DHAS_SYS_SIGNALFD_H 
> -DHAS_SIGNALFD, )     \
> +     $(call check_header,linux/signalfd.h, -DHAS_LINUX_SIGNALFD_H 
> -DHAS_SIGNALFD, ) \
> +     -Wall 
>  LDLIBS += -L../../../../lib -lltp
> 
>  SRCS    = $(wildcard *.c)
> diff --git a/testcases/kernel/syscalls/signalfd/signalfd01.c 
> b/testcases/kernel/syscalls/signalfd/signalfd01.c
> index da3b258..e9a3b60 100644
> --- a/testcases/kernel/syscalls/signalfd/signalfd01.c
> +++ b/testcases/kernel/syscalls/signalfd/signalfd01.c
> @@ -50,9 +50,31 @@ TCID_DEFINE(signalfd01);
>  int TST_TOTAL = 1;
>  extern int Tst_count;
> 
> -# ifdef HAS_SIGNALFD_H
> +# ifdef HAS_SIGNALFD
> +
> +#ifdef HAS_SYS_SIGNALFD_H
> +
>  #include <sys/signalfd.h>
> 
> +#elif HAS_LINUX_SIGNALFD_H
> +
> +#include <linux/types.h>
> +#include <linux/signalfd.h>
> +#include "linux_syscall_numbers.h"
> +
> +#ifndef __NR_signalfd
> +#define __NR_signalfd 0
> +#endif
> +
> +int
> +signalfd(int fd, const sigset_t *mask, int flags)
> +{
> +  /* Taken from GLIBC. */
> +  return (syscall(__NR_signalfd, fd, mask, _NSIG / 8));
> +}
> +
> +#endif
> +
>  void cleanup(void);
>  void setup(void);
> 
> @@ -315,7 +337,7 @@ cleanup(void)
>  }
> 
> 
> -#else  /* !HAS_SIGNALFD_H */
> +#else  /* !HAS_SIGNALFD */
> 
>  int
>  main(int argc, char** argv)
> @@ -326,4 +348,4 @@ main(int argc, char** argv)
>  }
> 
> 
> -#endif /* !HAS_SIGNALFD_H */
> +#endif /* !HAS_SIGNALFD */
> 


-------------------------------------------------------------------------
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
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to