From: Will N. <wil...@gm...> - 2007-05-30 13:40:13
|
Hi all, The utsname tests cause the build to fail if there is no unshare system call defined for an architecture. This includes all 2.4.x kernels. The offending code is: 20 #ifndef SYS_unshare 21 #ifdef __NR_unshare 22 #define SYS_unshare __NR_unshare 23 #elif __i386__ 24 #define SYS_unshare 310 25 #elif __ia64__ 26 #define SYS_unshare 1296 27 #elif __x86_64__ 28 #define SYS_unshare 272 29 #elif __s390x__ || __s390__ 30 #define SYS_unshare 303 31 #elif __powerpc__ 32 #define SYS_unshare 282 33 #else 34 #error "unshare not supported on this architecure." 35 #endif 36 #endif It should be quite simple to make a test for architectures where this isn't supported rather than throwing a gratuitous error. Once I've worked my way through some toolchain issues I may get round to making a patch. |
From: Subrata M. <su...@li...> - 2007-06-25 09:24:23
|
Hi Rishikesh/Sergei, Any fix available for the same ?? ;-) Will Newton wrote: > Hi all, > > The utsname tests cause the build to fail if there is no unshare > system call defined for an architecture. This includes all 2.4.x > kernels. > > The offending code is: > > 20 #ifndef SYS_unshare > 21 #ifdef __NR_unshare > 22 #define SYS_unshare __NR_unshare > 23 #elif __i386__ > 24 #define SYS_unshare 310 > 25 #elif __ia64__ > 26 #define SYS_unshare 1296 > 27 #elif __x86_64__ > 28 #define SYS_unshare 272 > 29 #elif __s390x__ || __s390__ > 30 #define SYS_unshare 303 > 31 #elif __powerpc__ > 32 #define SYS_unshare 282 > 33 #else > 34 #error "unshare not supported on this architecure." > 35 #endif > 36 #endif > > It should be quite simple to make a test for architectures where this > isn't supported rather than throwing a gratuitous error. Once I've > worked my way through some toolchain issues I may get round to making > a patch. > > ------------------------------------------------------------------------- > 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...@li... > https://lists.sourceforge.net/lists/listinfo/ltp-list > |
From: Serge E. H. <se...@us...> - 2007-06-26 00:00:00
|
Quoting Subrata Modak (su...@li...): > Hi Rishikesh/Sergei, > > Any fix available for the same ?? ;-) Please try the following patch... 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 01:44:15.000000000 +0200 @@ -1,14 +1,18 @@ SUBDIRS = libclone utsname -all noltp noltp_check: - @set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done +all noltp noltp_check: check_for_unshare + @set -e; 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 -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 +install: check_for_unshare + @set -e; ln -f check_for_unshare ../../bin/check_for_unshare; \ + 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; \ + ln -f container_test.sh ../../bin/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-25 20:28:58.000000000 +0200 @@ -0,0 +1,21 @@ +#ifndef SYS_unshare +#ifdef __NR_unshare +int do_check(void) { return 0; } +#elif __i386__ +int do_check(void) { return 0; } +#elif __ia64__ +int do_check(void) { return 0; } +#elif __x86_64__ +int do_check(void) { return 0; } +#elif __s390x__ || __s390__ +int do_check(void) { return 0; } +#elif __powerpc__ +int do_check(void) { return 0; } +#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 |
From: Serge E. H. <se...@us...> - 2007-06-26 02:13:17
|
Quoting Serge E. Hallyn (se...@us...): > Quoting Subrata Modak (su...@li...): > > 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? 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 04:08:24.000000000 +0200 @@ -1,14 +1,23 @@ SUBDIRS = libclone utsname -all noltp noltp_check: - @set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done +CFLAGS += -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 +check_for_unshare: check_for_unshare.c + $(CC) -o $@ $< ../../../lib/tst_kvercmp.c $(CFLAGS) -clean: - @set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i clean ; done +all noltp noltp_check: check_for_unshare + @set -e; 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 +install: check_for_unshare + @set -e; ln -f check_for_unshare ../../bin/check_for_unshare; \ + 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; \ + ln -f container_test.sh ../../bin/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 |
From: Serge E. H. <se...@us...> - 2007-06-26 02:30:46
|
Quoting Serge E. Hallyn (se...@us...): > Quoting Serge E. Hallyn (se...@us...): > > Quoting Subrata Modak (su...@li...): > > > 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. Bah, wrong version. I'm clearly having patch control problems today, so will send a patch to Rishi for verification (again and again) rather than keep sending you broken ones. Please disregard those last two. However I still wonder about: > 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? > > thanks, > -serge thanks, -serge |
From: Rishikesh <ris...@li...> - 2007-06-26 13:49:03
|
Serge E. Hallyn wrote: > Quoting Serge E. Hallyn (se...@us...): >> Quoting Subrata Modak (su...@li...): >>> 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 thanks Rishi > > 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 04:08:24.000000000 +0200 > @@ -1,14 +1,23 @@ > SUBDIRS = libclone utsname > > -all noltp noltp_check: > - @set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done > +CFLAGS += -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 > +check_for_unshare: check_for_unshare.c > + $(CC) -o $@ $< ../../../lib/tst_kvercmp.c $(CFLAGS) > > -clean: > - @set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i clean ; done > +all noltp noltp_check: check_for_unshare > + @set -e; 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 > > +install: check_for_unshare > + @set -e; ln -f check_for_unshare ../../bin/check_for_unshare; \ > + 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; \ > + ln -f container_test.sh ../../bin/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 |
From: Serge E. H. <se...@us...> - 2007-06-26 14:18:12
|
Quoting Rishikesh (ris...@li...): > Serge E. Hallyn wrote: > >Quoting Serge E. Hallyn (se...@us...): > >>Quoting Subrata Modak (su...@li...): > >>>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 |
From: Subrata M. <su...@li...> - 2007-06-27 06:30:10
|
Done, Thanks. Subrata Serge E. Hallyn wrote: > Quoting Rishikesh (ris...@li...): > >> Serge E. Hallyn wrote: >> >>> Quoting Serge E. Hallyn (se...@us...): >>> >>>> Quoting Subrata Modak (su...@li...): >>>> >>>>> 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 > |
From: Mike F. <va...@ge...> - 2007-06-26 16:18:10
|
On Wednesday 30 May 2007, Will Newton wrote: > The utsname tests cause the build to fail if there is no unshare > system call defined for an architecture. This includes all 2.4.x > kernels. > > The offending code is: really this stuff should be merged into testcases/kernel/include/ instead o= f=20 new tests always providing their own set of ugly ifdef's =2Dmike |
From: Ricardo S. de A. <rsa...@li...> - 2007-06-26 16:44:36
|
On Tuesday 26 June 2007 13:18:24 Mike Frysinger wrote: >On Wednesday 30 May 2007, Will Newton wrote: >> The utsname tests cause the build to fail if there is no unshare >> system call defined for an architecture. This includes all 2.4.x >> kernels. >> >> The offending code is: > >really this stuff should be merged into testcases/kernel/include/ instead of >new tests always providing their own set of ugly ifdef's Yep, you can take a look at how vmsplice (ltp/testcases/kernel/syscalls/vmsplice/vmsplice01.c) is dealing with this, it's exactly how Mike said. And please, create your patches with the ".in" files, don't edit only the 'linux_syscall_numbers.h' because it's generated automatically with 'regen.sh' script. Thanks, -- Ricardo Salveti de Araujo |
From: Ricardo S. de A. <rsa...@li...> - 2007-06-26 16:44:58
|
On Tuesday 26 June 2007 13:18:24 Mike Frysinger wrote: >On Wednesday 30 May 2007, Will Newton wrote: >> The utsname tests cause the build to fail if there is no unshare >> system call defined for an architecture. This includes all 2.4.x >> kernels. >> >> The offending code is: > >really this stuff should be merged into testcases/kernel/include/ instead of >new tests always providing their own set of ugly ifdef's Yep, you can take a look at how vmsplice (ltp/testcases/kernel/syscalls/vmsplice/vmsplice01.c) is dealing with this, it's exactly how Mike said. And please, create your patches with the ".in" files, don't edit only the 'linux_syscall_numbers.h' because it's generated automatically with 'regen.sh' script. Thanks, -- Ricardo Salveti de Araujo |