From: Subrata <ris...@li...> - 2010-05-09 14:16:22
|
The branch, master, has been updated via 0ce709315c3f2493d8ff97d574641cb91f1b1fa6 (commit) from 3aabc944423945e4857372fe726584f7889cbb8e (commit) - Log ----------------------------------------------------------------- commit 0ce709315c3f2493d8ff97d574641cb91f1b1fa6 Author: Subrata Modak <sub...@su...> Date: Sun May 9 19:44:04 2010 +0530 NetNS test fixes: By the way, these tests appear to start up sshd for no reason other than possibly checking that basic sockets work in the netns. Given the frailty and required setup of the "ftp" test, I think it would be better to replace it with a test using netcat and then yank the sshd bits from the ping tests. NetNS test fixes (v2): This patch fixes a couple of netns test issues that cause invalid failures relating to exiting with a status variable that doesn't exist. It also fixes an instance of inverted logic and a failure to exec sshd with the full path (as required). Additionally, it makes the common child exec function more descriptive of what it tried to do and why it failed to ease debugging. Changes in v2: - Initialize status=0 at the top of child_1.sh to prevent overshadowing a (meaningless) sshd failure, Signed-off-by: Dan Smith <da...@us...>, Acked-by: Serge E. Hallyn <se...@us...>, ----------------------------------------------------------------------- Summary of changes: testcases/kernel/containers/netns/child_1.sh | 1 + testcases/kernel/containers/netns/childns.sh | 4 +++- testcases/kernel/containers/netns/common.c | 3 +-- testcases/kernel/containers/netns/par_ftp.sh | 3 +++ testcases/kernel/containers/netns/parent_1.sh | 2 +- testcases/kernel/containers/netns/parent_2.sh | 2 +- 6 files changed, 10 insertions(+), 5 deletions(-) diff --git a/testcases/kernel/containers/netns/child_1.sh b/testcases/kernel/containers/netns/child_1.sh index 1fa71a7..a63e834 100755 --- a/testcases/kernel/containers/netns/child_1.sh +++ b/testcases/kernel/containers/netns/child_1.sh @@ -30,6 +30,7 @@ export TST_COUNT export TST_TOTAL . initialize.sh +status=0 # Writing child PID number into /tmp/FIFO echo $$ > /tmp/FIFO2 diff --git a/testcases/kernel/containers/netns/childns.sh b/testcases/kernel/containers/netns/childns.sh index 3634d81..16fc7e8 100755 --- a/testcases/kernel/containers/netns/childns.sh +++ b/testcases/kernel/containers/netns/childns.sh @@ -38,6 +38,8 @@ exists awk grep ip ping sshd . initialize.sh status=0 +SSHD=`which sshd` + if [ $# -eq 1 ] ; then childscrpt=$1 debug "INFO: The script to be executed in child NS is $childscrpt" @@ -58,7 +60,7 @@ ifconfig lo up sleep 2 #starting the sshd inside the child NS -if ! sshd -p $PORT; then +if $SSHD -p $PORT; then debug "INFO: started the sshd @ port no $PORT" sshpid=`ps -ef | grep "sshd -p $PORT" | grep -v grep | awk '{ print $2 ; exit 0} ' ` else diff --git a/testcases/kernel/containers/netns/common.c b/testcases/kernel/containers/netns/common.c index 22d0e99..6d3b02e 100644 --- a/testcases/kernel/containers/netns/common.c +++ b/testcases/kernel/containers/netns/common.c @@ -48,8 +48,7 @@ int crtchild(char *s1 , char *s2) { char *cmd[] = { "--", s1, s2, (char *)0 }; execve("/bin/sh", cmd, __environ); - printf("The code would not reach here on success\n"); - perror("execve"); + fprintf(stderr, "Failed to execve(%s, %s): %m\n", s1, s2); return 1; } diff --git a/testcases/kernel/containers/netns/par_ftp.sh b/testcases/kernel/containers/netns/par_ftp.sh index 3bfb47b..bb65db4 100755 --- a/testcases/kernel/containers/netns/par_ftp.sh +++ b/testcases/kernel/containers/netns/par_ftp.sh @@ -37,6 +37,7 @@ export TST_TOTAL if [ $? = 0 ] ; then tst_resm TINFO "Pinging ChildNS from ParentNS" + status=0 else tst_resm TFAIL "Error: Unable to ping ChildNS from ParentNS" status=-1 @@ -45,3 +46,5 @@ export TST_TOTAL if [ $stat != 0 ] ; then status=$stat fi + + exit $status diff --git a/testcases/kernel/containers/netns/parent_1.sh b/testcases/kernel/containers/netns/parent_1.sh index 8577bf2..32f1a47 100755 --- a/testcases/kernel/containers/netns/parent_1.sh +++ b/testcases/kernel/containers/netns/parent_1.sh @@ -55,4 +55,4 @@ export TST_TOTAL echo $vnet1 > /tmp/FIFO1 debug "INFO: PARENT_1: End of $0" - exit $status + exit 0 diff --git a/testcases/kernel/containers/netns/parent_2.sh b/testcases/kernel/containers/netns/parent_2.sh index 57d3974..f72c16d 100755 --- a/testcases/kernel/containers/netns/parent_2.sh +++ b/testcases/kernel/containers/netns/parent_2.sh @@ -51,4 +51,4 @@ export TST_TOTAL echo $vnet3 > /tmp/FIFO3 debug "INFO: PARENT-2: End of $0" - exit $status + exit 0 hooks/post-receive -- ltp |