Done, Thanks.
Subrata
Serge E. Hallyn wrote:
Quoting Rishikesh ([EMAIL PROTECTED]):
Serge E. Hallyn wrote:
Quoting Serge E. Hallyn ([EMAIL PROTECTED]):
Quoting Subrata Modak ([EMAIL PROTECTED]):
Hi Rishikesh/Sergei,
Any fix available for the same ?? ;-)
Please try the following patch...
I'm sorry, that should handle archictures without unshare (?) but not
older kernels.
The following patch adds a check for a 2.6.16 kernel, which it looks
like is where unshare was added.
BTW, I may be off, but I think the comments for
lib/tst_kvercmp.c:tst_kvercmp() are wrong, aren't they? Doesn't it
return a positive int if arg < current kernel version, and positive int
if arg > current kernel version?
Yep i verified it , it is correct
arg > kernel version = it is returning negative .
arg < kernel version = it is returning positive.
Where arg = 2.6.17 , current kernel versions are = 2.6.15 &
2.6.18.8-el5
Yup it's clear to me in light of morning. You see why i couldn't get
the right patch attached last night :)
Here is the patch I finally managed to sling over to Rishi, who has
confirmed it tests correctly on both old and new kernels.
Please apply,
thanks,
-serge
diff -Nrup ltp/testcases/kernel/containers/Makefile
ltp-patched/testcases/kernel/containers/Makefile
--- ltp/testcases/kernel/containers/Makefile 2007-04-26 13:02:50.000000000
+0200
+++ ltp-patched/testcases/kernel/containers/Makefile 2007-06-26
05:10:01.000000000 +0200
@@ -1,14 +1,25 @@
SUBDIRS = libclone utsname
-all noltp noltp_check:
+all:
+ @set -e; $(MAKE) check_for_unshare; \
+ if './check_for_unshare' > /dev/null 2>&1; then \
+ for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done \
+ else echo "system does not support unshare"; true; fi
+
+noltp noltp_check:
@set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done
+check_for_unshare: check_for_unshare.c
+ $(CC) -o $@ $< ../../../lib/tst_kvercmp.c -I../../../include
+
install:
- @set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i install ; done
- chmod ugo+x container_test.sh
- ln -f container_test.sh ../../bin/container_test.sh
+ @set -e; ln -f check_for_unshare ../../bin/check_for_unshare; \
+ ln -f container_test.sh ../../bin/container_test.sh; \
+ if './check_for_unshare' > /dev/null 2>&1; then \
+ for i in $(SUBDIRS); do $(MAKE) -C $$i install ; done; \
+ chmod ugo+x container_test.sh; \
+ else echo "system does not support unshare"; true; fi
clean:
@set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i clean ; done
-
-
+ rm -f check_for_unshare
diff -Nrup ltp/testcases/kernel/containers/check_for_unshare.c
ltp-patched/testcases/kernel/containers/check_for_unshare.c
--- ltp/testcases/kernel/containers/check_for_unshare.c 1970-01-01
01:00:00.000000000 +0100
+++ ltp-patched/testcases/kernel/containers/check_for_unshare.c 2007-06-26
04:08:52.000000000 +0200
@@ -0,0 +1,34 @@
+#include <stdio.h>
+#include <test.h>
+
+int kernel_is_too_old(void) {
+ if (tst_kvercmp(2,6,16) < 0)
+ return 1;
+ return 0;
+}
+
+/*
+ * yeah, to make the makefile coding easier, do_check returns
+ * 1 if unshare is not supported, 0 if it is
+ */
+#ifndef SYS_unshare
+#ifdef __NR_unshare
+int do_check(void) { return kernel_is_too_old(); }
+#elif __i386__
+int do_check(void) { return kernel_is_too_old(); }
+#elif __ia64__
+int do_check(void) { return kernel_is_too_old(); }
+#elif __x86_64__
+int do_check(void) { return kernel_is_too_old(); }
+#elif __s390x__ || __s390__
+int do_check(void) { return kernel_is_too_old(); }
+#elif __powerpc__
+int do_check(void) { return kernel_is_too_old(); }
+#else
+int do_check(void) { return 1; }
+#endif
+#endif
+
+int main() {
+ return do_check();
+}
diff -Nrup ltp/testcases/kernel/containers/container_test.sh
ltp-patched/testcases/kernel/containers/container_test.sh
--- ltp/testcases/kernel/containers/container_test.sh 2007-04-26
13:02:50.000000000 +0200
+++ ltp-patched/testcases/kernel/containers/container_test.sh 2007-06-25
20:27:17.000000000 +0200
@@ -10,6 +10,12 @@
# any later version.
#check_utsns_enabled
+check_for_unshare
+if [ $? -eq 1 ]; then
+ echo "Unshare not supported. Not running container tests"
+ exit 0
+fi
+
#if [ $? -eq 0 ]; then
echo "Running utsns tests."
runutstest.sh
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list