if <attr/xattr.h> doesn't exist, compliation will fail. Fix it in
autotools level.

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

Reply via email to