Re: [LTP] Remove pidns14 test case

Subrata Modak
2009-07-30T18:30:20Z

On Wed, 2009-07-22 at 11:59 +0530, M. Mohan Kumar wrote:
> [PATCH] Remove pidns14 test case
> Container-init may be immune to unhandled fatal signals (like SIGUSR1)
> even if they are from ancestor namespace. SIGKILL/SIGSTOP are the only
> reliable signals to a container-init from ancestor namespace. So remove
> test case pidns14 from container test suite. Please check git commit id
> b3bfa0cba867f23365b81658b47efd906830879b for the kernel changes.
>
> Signed-off-by: M. Mohan Kumar <mohan@in.ibm.com>

I had removed this long back:

Revision 1.5
Wed Jul 8 17:44:09 2009 UTC (3 weeks ago) by subrata_modak
Branch: MAIN
CVS Tags: HEAD
Changes since 1.4: +0 -0 lines
FILE REMOVED
Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>, "Serge E. Hallyn" <serue@us.ibm.com> & "M. Mohan Kumar" <mohan@in.ibm.com> wanted to get this removed.
http://ltp.cvs.sourceforge.net/viewvc/ltp/ltp/testcases/kernel/containers/pidns/pidns14.c?hideattic=0&view=log,

Regards--
Subrata

> ---
> testcases/kernel/containers/pidns/pidns14.c | 122 ---------------------
> testcases/kernel/containers/pidns/runpidnstest.sh | 6 -
> 2 files changed, 0 insertions(+), 128 deletions(-)
> delete mode 100644 testcases/kernel/containers/pidns/pidns14.c
>
> diff --git a/testcases/kernel/containers/pidns/pidns14.c b/testcases/kernel/containers/pidns/pidns14.c
> deleted file mode 100644
> index e95bf95..0000000
> --- a/testcases/kernel/containers/pidns/pidns14.c
> +++ /dev/null
> @@ -1,122 +0,0 @@
> -/*
> -* Copyright (c) International Business Machines Corp., 2008
> -* This program is free software; you can redistribute it and/or modify
> -* it under the terms of the GNU General Public License as published by
> -* the Free Software Foundation; either version 2 of the License, or
> -* (at your option) any later version.
> -* This program is distributed in the hope that it will be useful,
> -* but WITHOUT ANY WARRANTY; without even the implied warranty of
> -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
> -* the GNU General Public License for more details.
> -* You should have received a copy of the GNU General Public License
> -* along with this program; if not, write to the Free Software
> -* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
> -*
> -***************************************************************************
> -* * Assertion:
> -* * kill -USR1 container_init from outside a container
> -* * $ Where init has not defined a custom handler for USR1
> -* * $ Should kill the container
> -* * $ else the test fails.
> -* *
> -* * Description:
> -* * This testcase creates container and waits till it is awakened by parent.
> -* * The parent process sends the SIGUSR1 to container init.
> -* * This would invoke default handler & terminate the container init.
> -* * In parent process verify, if the SIGUSR1 signal is passed to c-init.
> -* * If yes then Test is Passed else Test is Failed.
> -* *
> -* * History:
> -* * DATE NAME DESCRIPTION
> -* * 14/11/08 Veerendra C <vechandr@in.ibm.com> Verifying kill -USR1 in pidns
> -*
> -******************************************************************************/
> -#include "config.h"
> -
> -#define _GNU_SOURCE 1
> -#include <sys/wait.h>
> -#include <sys/types.h>
> -#include <signal.h>
> -#include <stdlib.h>
> -#include <unistd.h>
> -#include <usctest.h>
> -#include <test.h>
> -#include <libclone.h>
> -
> -char *TCID = "pidns14";
> -int TST_TOTAL = 1;
> -
> -int child_fn(void *);
> -void cleanup(void);
> -
> -#define CHILD_PID 1
> -#define PARENT_PID 0
> -
> -/*
> - * child_fn() - Inside container
> - */
> -int child_fn(void *ttype)
> -{
> - pid_t pid, ppid;
> -
> - /* Set process id and parent pid */
> - pid = getpid();
> - ppid = getppid();
> -
> - if ((pid != CHILD_PID) || (ppid != PARENT_PID)) {
> - tst_resm(TBROK, "pidns is not created.");
> - cleanup();
> - }
> - pause();
> - tst_resm(TFAIL, "Oops! Container init resumed after receiving SIGUSR1");
> - return -1;
> -}
> -
> -/*
> - * cleanup() - performs all ONE TIME cleanup for this test at
> - * completion or premature exit.
> - */
> -void cleanup()
> -{
> - /* Clean the test testcase as LTP wants*/
> - TEST_CLEANUP;
> - tst_exit();
> -
> -}
> -
> -/***********************************************************************
> -* M A I N
> -***********************************************************************/
> -
> -int main(int argc, char *argv[])
> -{
> - int status;
> - pid_t cpid;
> -
> - cpid = do_clone(CLONE_NEWPID | SIGCHLD, child_fn, NULL);
> -
> - if (cpid < 0) {
> - tst_resm(TBROK, "clone() failed.");
> - cleanup();
> - }
> -
> - sleep(1);
> - /* Passing the SIGUSR1 to the container init */
> - if (kill(cpid, SIGUSR1) != 0) {
> - tst_resm(TBROK, "kill(SIGUSR1) fails.");
> - cleanup();
> - }
> -
> - sleep(1);
> - if (waitpid(cpid, &status, 0) < 0)
> - tst_resm(TWARN, "waitpid() failed.");
> -
> - if ((WIFSIGNALED(status)) && (WTERMSIG(status) == SIGUSR1))
> - tst_resm(TPASS, "Container init is killed as expected, "
> - " when the SIGUSR1 is passed from parent\n");
> - else
> - tst_resm(TFAIL, "After sending signal kill -USR1, "
> - "returned unexpected error\n");
> -
> - return 0;
> -} /* End main */
> diff --git a/testcases/kernel/containers/pidns/runpidnstest.sh b/testcases/kernel/containers/pidns/runpidnstest.sh
> index 12d3b34..03fed38 100644
> --- a/testcases/kernel/containers/pidns/runpidnstest.sh
> +++ b/testcases/kernel/containers/pidns/runpidnstest.sh
> @@ -85,12 +85,6 @@ if [ $rc -ne 0 ] && [ -z $err_code ]; then
> err_code=$rc
> fi
>
> -pidns14
> -rc=$?
> -if [ $rc -ne 0 ] && [ -z $err_code ]; then
> - err_code=$rc
> -fi
> -
> pidns16
> rc=$?
> if [ $rc -ne 0 ] && [ -z $err_code ]; then