And another thing to point out. Shouldn´t:

make clean

be removing stuff like configure, config.status, config.log,
autom4te.cache from the sources. It is retaining them. Is it expected ?
I would like them to clean up on make clean.

Regards--
Subrata

On Tue, 2008-11-04 at 15:07 +0530, Subrata Modak wrote:
> Hi Yamato,
> 
> Thanks for the patch introducing autoconf in LTP. I have few
> questions/doubts here:
> 
> On Fri, 2008-10-31 at 15:39 +0900, Masatake YAMATO wrote:
> > Hi,
> > 
> > I've clean my signalfd test case up with autoconf.
> > After applying the patch, do at ltp/
> > 
> >     autoconf
> >     autoheader
> >     ./configure
> 
> This does not work in the first place.
> $ ./configure
> configure: error: cannot find sources (ltp) in . or ..
> 
> I think the problem is with:
> 
> diff --git a/configure.ac b/configure.ac
> > new file mode 100644
> > index 0000000..977b49b
> > --- /dev/null
> > +++ b/configure.ac
> > @@ -0,0 +1,9 @@
> > +AC_INIT([ltp])
> 
> If we change it to:
> +AC_INIT([ltp-full-20081031])
> 
> it works fine. Since this is the directory under which the tests are
> being built.  And this will change for all the subsequent ltp releases.
> So, we might need a symlink here which points to the latest ltp version
> always.
> 
> Regards--
> Subrata
> 
> >     make (or cd testcases/kernel/syscalls/signalfd; make)
> > 
> > 
> > Benefits are:
> > 
> > - signalfd01.c doesn't depends on kernel version
> >   (it used KERNEL_VERSION macro.)
> > - Makefile becomes simple.     
> > - #ifdef/#endif of signalfd01.c becomes readable.
> > - signalfd.m4 can use other program than ltp.
> > 
> > 
> > Signed-off-by: Masatake YAMATO <[EMAIL PROTECTED]>
> > 
> > diff --git a/configure.ac b/configure.ac
> > new file mode 100644
> > index 0000000..977b49b
> > --- /dev/null
> > +++ b/configure.ac
> > @@ -0,0 +1,9 @@
> > +AC_INIT([ltp])
> > +AC_CONFIG_HEADERS([include/config.h])
> > +
> > +
> > +m4_include([m4/signalfd.m4])
> > +LTP_CHECK_SYSCALL_SIGNALFD
> > +
> > +
> > +AC_OUTPUT
> > \ No newline at end of file
> > diff --git a/m4/signalfd.m4 b/m4/signalfd.m4
> > new file mode 100644
> > index 0000000..ca8a715
> > --- /dev/null
> > +++ b/m4/signalfd.m4
> > @@ -0,0 +1,91 @@
> > +dnl
> > +dnl Copyright (c) Red Hat Inc., 2008
> > +dnl 
> > +dnl This program is free software;  you can redistribute it and/or modify
> > +dnl it under the terms of the GNU General Public License as published by
> > +dnl the Free Software Foundation; either version 2 of the License, or
> > +dnl (at your option) any later version.
> > +dnl 
> > +dnl This program is distributed in the hope that it will be useful,
> > +dnl but WITHOUT ANY WARRANTY;  without even the implied warranty of
> > +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
> > +dnl the GNU General Public License for more details.
> > +dnl 
> > +dnl You should have received a copy of the GNU General Public License
> > +dnl along with this program;  if not, write to the Free Software
> > +dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
> > +dnl
> > +dnl Author: Masatake YAMATO <[EMAIL PROTECTED]>
> > +dnl
> > +
> > +dnl
> > +dnl LTP_CHECK_SYSCALL_SIGNALFD
> > +dnl --------------------------
> > +dnl
> > +dnl * Checking the existence of the libc wrapper for signalfd.
> > +dnl   If it exists, a shell variable LTP_SYSCALL_SIGNALFD_FUNCTION is set 
> > to "yes".
> > +dnl
> > +dnl * Checking the existence of signalfd.h.
> > +dnl   If it exists, a shell variable LTP_SYSCALL_SIGNALFD_HEADER is set to 
> > "yes".
> > +dnl 
> > +dnl * Checking the prefix used in fileds for signalfd_siginfo structure.
> > +dnl   If it exists, a shell variable LTP_SYSCALL_SIGNALFD_FIELD_PREFIX is 
> > set to "given".
> > +dnl
> > +dnl About cpp macros defined in this macro, 
> > +dnl see testcases/kernel/syscalls/signalfd/signalfd01.c of ltp.
> > +dnl 
> > +
> > +AC_DEFUN([LTP_CHECK_SYSCALL_SIGNALFD],
> > +[dnl
> > +_LTP_CHECK_SYSCALL_SIGNALFD_FUNCTION
> > +_LTP_CHECK_SYSCALL_SIGNALFD_HEADER
> > +
> > +if test "$LTP_SYSCALL_SIGNALFD_HEADER" = yes; then
> > +   _LTP_CHECK_SYSCALL_SIGNALFD_FIELD_PREFIX
> > +fi]dnl
> > +)dnl
> > +
> > +dnl _LTP_CHECK_SYSCALL_SIGNALFD_FUNCTION
> > +dnl ------------------------------------
> > +dnl
> > +dnl
> > +AC_DEFUN([_LTP_CHECK_SYSCALL_SIGNALFD_FUNCTION],[dnl
> > +AC_CHECK_FUNCS(signalfd,[LTP_SYSCALL_SIGNALFD_FUNCTION=yes])])
> > +
> > +dnl _LTP_CHECK_SYSCALL_SIGNALFD_HEADER
> > +dnl ----------------------------------
> > +dnl
> > +dnl
> > +AC_DEFUN([_LTP_CHECK_SYSCALL_SIGNALFD_HEADER],
> > +[dnl
> > +AC_CHECK_HEADERS([linux/types.h])
> > +AC_CHECK_HEADERS(sys/signalfd.h linux/signalfd.h signalfd.h,[dnl
> > +LTP_SYSCALL_SIGNALFD_HEADER=yes],[],[dnl
> > +#ifdef HAVE_LINUX_TYPES_H
> > +#include <linux/types.h>
> > +#endif)
> > +]dnl
> > +)dnl
> > +]dnl
> > +)dnl
> > +
> > +dnl _LTP_CHECK_SYSCALL_SIGNALFD_FIELD_PREFIX
> > +dnl ----------------------------------------
> > +dnl
> > +dnl
> > +AC_DEFUN([_LTP_CHECK_SYSCALL_SIGNALFD_FIELD_PREFIX],
> > +[dnl
> > +AC_CHECK_MEMBERS([struct signalfd_siginfo.ssi_signo, struct 
> > signalfd_siginfo.signo],[dnl
> > +LTP_SYSCALL_SIGNALFD_FIELD_PREFIX=given],[],[dnl
> > +#ifdef HAVE_LINUX_TYPES_H
> > +#include <linux/types.h>
> > +#endif
> > +#if defined HAVE_SYS_SIGNALFD_H
> > +#include <sys/signalfd.h>
> > +#elif defined HAVE_LINUX_SIGNALFD_H
> > +#include <linux/signalfd.h>
> > +#elif defined HAVE_SIGNALFD_H
> > +#include <signalfd.h>
> > +#endif])
> > +]dnl
> > +)dnl
> > diff --git a/testcases/kernel/containers/netns/container_ftp.pl 
> > b/testcases/kernel/containers/netns/container_ftp.pl
> > old mode 100644
> > new mode 100755
> > diff --git a/testcases/kernel/syscalls/signalfd/Makefile 
> > b/testcases/kernel/syscalls/signalfd/Makefile
> > index 93517da..cf5a156 100644
> > --- a/testcases/kernel/syscalls/signalfd/Makefile
> > +++ b/testcases/kernel/syscalls/signalfd/Makefile
> > @@ -15,15 +15,7 @@
> >  #  along with this program;  if not, write to the Free Software
> >  #  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  
> > USA
> >  #
> > -
> > -include ../utils/cond.mk
> > -
> > -
> > -CFLAGS += -I../../../../include \
> > -   $(call check_header,sys/signalfd.h, -DHAS_SYS_SIGNALFD_H 
> > -DHAS_SIGNALFD, )     \
> > -   $(call check_header,linux/signalfd.h, -DHAS_LINUX_SIGNALFD_H 
> > -DHAS_SIGNALFD, ) \
> > -   $(call check_header,signalfd.h, -DHAS_SIGNALFD_H -DHAS_SIGNALFD, )      
> >        \
> > -   -Wall 
> > +CFLAGS += -I../../../../include -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 f4ac38f..3011a76 100644
> > --- a/testcases/kernel/syscalls/signalfd/signalfd01.c
> > +++ b/testcases/kernel/syscalls/signalfd/signalfd01.c
> > @@ -35,6 +35,8 @@
> >   */
> >  # define _GNU_SOURCE
> > 
> > +#include "config.h"
> > +
> > 
> >  #include "test.h"
> >  #include "usctest.h"
> > @@ -50,42 +52,52 @@ TCID_DEFINE(signalfd01);
> >  int TST_TOTAL = 1;
> >  extern int Tst_count;
> > 
> > -#ifdef HAS_SIGNALFD
> > -#include <linux/version.h>
> > -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)
> > -#define SSI_SIGNO signo
> > -#else
> > -#define SSI_SIGNO ssi_signo
> > -#endif
> > -
> > -
> > -#ifdef HAS_SYS_SIGNALFD_H
> > -
> > -#include <sys/signalfd.h>
> > -
> > -#elif HAS_LINUX_SIGNALFD_H || HAS_SIGNALFD_H
> > 
> > +#ifdef HAVE_LINUX_TYPES_H
> >  #include <linux/types.h>
> > +#endif
> > 
> > -#ifdef HAS_LINUX_SIGNALFD_H
> > +#if defined HAVE_SYS_SIGNALFD_H
> > +#include <sys/signalfd.h>
> > +#elif defined HAVE_LINUX_SIGNALFD_H
> >  #include <linux/signalfd.h>
> > -#else
> > +#elif defined HAVE_SIGNALFD_H
> >  #include <signalfd.h>
> > -#endif     /* HAS_LINUX_SIGNALFD_H */
> > +#else
> > +#define  USE_STUB
> > +#endif
> > 
> > +#ifndef HAVE_SIGNALFD
> >  #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
> > +
> > +#if defined HAVE_SIGNALFD_SIGINFO_SSI_SIGNO
> > +#define LTP_SYSCALL_SIGNALFD_FIELD_PREFIX(FIELD) ssi_##FIELD
> > +#elif defined HAVE_SIGNALFD_SIGINFO_SIGNO
> > +#define LTP_SYSCALL_SIGNALFD_FIELD_PREFIX(FIELD) FIELD
> > +#else
> > +#define  USE_STUB
> > +#endif
> > +
> > +#ifdef USE_STUB
> > +int
> > +main(int argc, char** argv)
> > +{
> > +   tst_resm(TCONF,
> > +            "System doesn't support execution of the test");
> > +   return 0;
> > +}
> > +#else
> > 
> > -#endif     /* HAS_SYS_SIGNALFD_H */
> > 
> >  void cleanup(void);
> >  void setup(void);
> > @@ -177,15 +189,15 @@ do_test1(int ntst, int sig)
> >             goto out;
> >     }
> >     
> > -   if (fdsi.SSI_SIGNO == sig) {
> > +   if (fdsi.LTP_SYSCALL_SIGNALFD_FIELD_PREFIX(signo) == sig) {
> >             tst_resm(TPASS, "got expected signal");
> >             sfd_for_next = sfd;
> >             goto out;
> >     }
> >     else {
> >             tst_resm(TFAIL, "got unexpected signal: signal=%d : %s",
> > -                    fdsi.SSI_SIGNO,
> > -                    strsignal(fdsi.SSI_SIGNO));
> > +                    fdsi.LTP_SYSCALL_SIGNALFD_FIELD_PREFIX(signo),
> > +                    
> > strsignal(fdsi.LTP_SYSCALL_SIGNALFD_FIELD_PREFIX(signo)));
> >             sfd_for_next = -1;
> >             close(sfd);
> >             goto out;
> > @@ -271,14 +283,14 @@ do_test2(int ntst, int fd, int sig)
> >             goto out;
> >     }
> >     
> > -   if (fdsi.SSI_SIGNO == sig) {
> > +   if (fdsi.LTP_SYSCALL_SIGNALFD_FIELD_PREFIX(signo) == sig) {
> >             tst_resm(TPASS, "got expected signal");
> >             goto out;
> >     }
> >     else {
> >             tst_resm(TFAIL, "got unexpected signal: signal=%d : %s",
> > -                    fdsi.SSI_SIGNO,
> > -                    strsignal(fdsi.SSI_SIGNO));
> > +                    fdsi.LTP_SYSCALL_SIGNALFD_FIELD_PREFIX(signo),
> > +                    
> > strsignal(fdsi.LTP_SYSCALL_SIGNALFD_FIELD_PREFIX(signo)));
> >             goto out;
> >     }
> >  out:
> > @@ -348,16 +360,5 @@ cleanup(void)
> >     tst_exit();
> >  }
> > 
> > +#endif
> > 
> > -#else  /* !HAS_SIGNALFD */
> > -
> > -int
> > -main(int argc, char** argv)
> > -{
> > -   tst_resm(TCONF,
> > -            "System doesn't support execution of the test");
> > -   return 0;
> > -}
> > -
> > -
> > -#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


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