On Mon, Jan 09, 2012 at 05:44:35PM +0800, Caspar Zhang wrote: > > if <attr/xattr.h> doesn't exist, compliation will fail. Fix it in > autotools level.
Tested on system without xattr.h and everything worked fine. Thanks for fixing this! Eryu Guan > > Signed-off-by: Caspar Zhang <[email protected]> > --- > configure.ac | 1 + > testcases/kernel/syscalls/getxattr/getxattr01.c | 15 +++++++++++++-- > testcases/kernel/syscalls/getxattr/getxattr02.c | 16 +++++++++++++--- > testcases/kernel/syscalls/setxattr/setxattr01.c | 15 +++++++++++++-- > testcases/kernel/syscalls/setxattr/setxattr02.c | 16 +++++++++++++--- > 5 files changed, 53 insertions(+), 10 deletions(-) > > diff --git a/configure.ac b/configure.ac > index 00d3720..6b3870a 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -36,6 +36,7 @@ AC_CHECK_HEADERS([ \ > libaio.h \ > mm.h \ > pthread.h \ > + attr/xattr.h \ > linux/genetlink.h \ > linux/mempolicy.h \ > linux/module.h \ > diff --git a/testcases/kernel/syscalls/getxattr/getxattr01.c > b/testcases/kernel/syscalls/getxattr/getxattr01.c > index 8db6743..c74ffc9 100644 > --- a/testcases/kernel/syscalls/getxattr/getxattr01.c > +++ b/testcases/kernel/syscalls/getxattr/getxattr01.c > @@ -37,7 +37,6 @@ > > #include <sys/types.h> > #include <sys/stat.h> > -#include <attr/xattr.h> > #include <errno.h> > #include <fcntl.h> > #include <unistd.h> > @@ -45,9 +44,16 @@ > #include <stdlib.h> > #include <string.h> > > +#include "config.h" > #include "test.h" > #include "usctest.h" > > +char *TCID = "getxattr01"; > + > +#ifdef HAVE_ATTR_XATTR_H > + > +#include <attr/xattr.h> > + > #define XATTR_TEST_KEY "user.testkey" > #define XATTR_TEST_VALUE "this is a test value" > #define XATTR_TEST_VALUE_SIZE 20 > @@ -56,7 +62,6 @@ > static void setup(void); > static void cleanup(void); > > -char *TCID = "getxattr01"; > char filename[BUFSIZ]; > > struct test_case { > @@ -171,3 +176,9 @@ static void cleanup(void) > TEST_CLEANUP; > tst_rmdir(); > } > +#else /* HAVE_ATTR_XATTR_H */ > +int main(int argc, char *argv[]) > +{ > + tst_brkm(TCONF, NULL, "<attr/xattr.h> does not exist."); > +} > +#endif > diff --git a/testcases/kernel/syscalls/getxattr/getxattr02.c > b/testcases/kernel/syscalls/getxattr/getxattr02.c > index 54d8949..52c5812 100644 > --- a/testcases/kernel/syscalls/getxattr/getxattr02.c > +++ b/testcases/kernel/syscalls/getxattr/getxattr02.c > @@ -41,7 +41,6 @@ > #include <sys/types.h> > #include <sys/stat.h> > #include <sys/wait.h> > -#include <attr/xattr.h> > #include <errno.h> > #include <fcntl.h> > #include <unistd.h> > @@ -50,9 +49,16 @@ > #include <stdlib.h> > #include <string.h> > > +#include "config.h" > #include "test.h" > #include "usctest.h" > > +char *TCID = "getxattr02"; > + > +#ifdef HAVE_ATTR_XATTR_H > + > +#include <attr/xattr.h> > + > #define XATTR_TEST_KEY "user.testkey" > > #define FIFO "getxattr02fifo" > @@ -63,8 +69,6 @@ > static void setup(void); > static void cleanup(void); > > -char *TCID = "getxattr02"; > - > static char *tc[] = { > FIFO, /* case 00, get attr from fifo */ > CHR, /* case 01, get attr from char special */ > @@ -150,3 +154,9 @@ static void cleanup(void) > TEST_CLEANUP; > tst_rmdir(); > } > +#else /* HAVE_ATTR_XATTR_H */ > +int main(int argc, char *argv[]) > +{ > + tst_brkm(TCONF, NULL, "<attr/xattr.h> does not exist."); > +} > +#endif > diff --git a/testcases/kernel/syscalls/setxattr/setxattr01.c > b/testcases/kernel/syscalls/setxattr/setxattr01.c > index fedb777..581e008 100644 > --- a/testcases/kernel/syscalls/setxattr/setxattr01.c > +++ b/testcases/kernel/syscalls/setxattr/setxattr01.c > @@ -46,7 +46,6 @@ > #include <sys/types.h> > #include <sys/stat.h> > #include <sys/wait.h> > -#include <attr/xattr.h> > #include <errno.h> > #include <fcntl.h> > #include <unistd.h> > @@ -55,9 +54,16 @@ > #include <stdlib.h> > #include <string.h> > > +#include "config.h" > #include "test.h" > #include "usctest.h" > > +char *TCID = "setxattr01"; > + > +#ifdef HAVE_ATTR_XATTR_H > + > +#include <attr/xattr.h> > + > #define XATTR_NAME_MAX 255 > #define XATTR_NAME_LEN (XATTR_NAME_MAX + 2) > #define XATTR_SIZE_MAX 65536 > @@ -68,7 +74,6 @@ > static void setup(void); > static void cleanup(void); > > -char *TCID = "setxattr01"; > char filename[BUFSIZ]; > char long_key[XATTR_NAME_LEN]; > char *long_value; > @@ -221,3 +226,9 @@ static void cleanup(void) > TEST_CLEANUP; > tst_rmdir(); > } > +#else /* HAVE_ATTR_XATTR_H */ > +int main(int argc, char *argv[]) > +{ > + tst_brkm(TCONF, NULL, "<attr/xattr.h> does not exist."); > +} > +#endif > diff --git a/testcases/kernel/syscalls/setxattr/setxattr02.c > b/testcases/kernel/syscalls/setxattr/setxattr02.c > index f4ba566..6d36a0e 100644 > --- a/testcases/kernel/syscalls/setxattr/setxattr02.c > +++ b/testcases/kernel/syscalls/setxattr/setxattr02.c > @@ -45,7 +45,6 @@ > #include <sys/types.h> > #include <sys/stat.h> > #include <sys/wait.h> > -#include <attr/xattr.h> > #include <errno.h> > #include <fcntl.h> > #include <unistd.h> > @@ -54,9 +53,16 @@ > #include <stdlib.h> > #include <string.h> > > +#include "config.h" > #include "test.h" > #include "usctest.h" > > +char *TCID = "setxattr02"; > + > +#ifdef HAVE_ATTR_XATTR_H > + > +#include <attr/xattr.h> > + > #define XATTR_TEST_KEY "user.testkey" > #define XATTR_TEST_VALUE "this is a test value" > #define XATTR_TEST_VALUE_SIZE 20 > @@ -72,8 +78,6 @@ > static void setup(void); > static void cleanup(void); > > -char *TCID = "setxattr02"; > - > struct test_case { > char *fname; > char *key; > @@ -233,3 +237,9 @@ static void cleanup(void) > TEST_CLEANUP; > tst_rmdir(); > } > +#else /* HAVE_ATTR_XATTR_H */ > +int main(int argc, char *argv[]) > +{ > + tst_brkm(TCONF, NULL, "<attr/xattr.h> does not exist."); > +} > +#endif ------------------------------------------------------------------------------ Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex infrastructure or vast IT resources to deliver seamless, secure access to virtual desktops. With this all-in-one solution, easily deploy virtual desktops for less than the cost of PCs and save 60% on VDI infrastructure costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
