From 12e3fb0c76248f94556317b56a5aa08ce7d66e1b Mon Sep 17 00:00:00 2001 From: George Danchev Date: Sat, 21 Apr 2012 09:44:48 +0000 Subject: [PATCH] process the case where the parent can't be find out, i.e. missing ps --- releng/README | 9 +++++---- releng/inc/releng_getopts.inc | 32 ++++++++++++++++++++++---------- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/releng/README b/releng/README index 65192e7f..0528ba93 100644 --- a/releng/README +++ b/releng/README @@ -250,15 +250,16 @@ to the general options of the test suite: SPECIFIC_HELP 0=normal operation, 1=print help text of script and exit 0 Default 0. Setable to 1 by option -h. - RELENG_STANDALONE 0=standalone, 1=supervised by run_all_auto script. + RELENG_STANDALONE 0=standalone, 1=supervised by run_all_auto script, + -1=undefined. - RELENG_PARENT Name of the parent process. + RELENG_PARENT Name of the parent process. Default: unknown_parent The code piece inc/releng_getopts.inc defines the following functions for use by the single tests: - standalone_or_supervised Initialize the running mode - standalone or - supervised by run_all_auto script. + standalone_or_supervised Initialize the running mode - standalone, + supervised by run_all_auto, or unknown. print_help Prints the help text for general options. diff --git a/releng/inc/releng_getopts.inc b/releng/inc/releng_getopts.inc index c6e149f3..b5cdf602 100644 --- a/releng/inc/releng_getopts.inc +++ b/releng/inc/releng_getopts.inc @@ -9,19 +9,31 @@ CLEANUP=1 SPECIFIC_HELP=0 START_DIR_DONT_CHANGE=`pwd` GEN_DATA_DIR=releng_generated_data/${SELF} -RELENG_STANDALONE=1 -RELENG_PARENT=`ps -p $PPID -o comm=` +RELENG_STANDALONE=-1 +RELENG_PARENT=unknown_parent ############################################# standalone_or_supervised() { - if test x"$RELENG_PARENT" = x"run_all_auto" - then - echo "${SELF}: Running Supervised by ${RELENG_PARENT}" - RELENG_STANDALONE=0 - else - echo "${SELF}: Running Standalone" - RELENG_STANDALONE=1 - fi + which ps >/dev/null 2>&1 + ret="$?" + case "$ret" in + 0) + RELENG_PARENT=`ps -p $PPID -o comm=` + if test x"$RELENG_PARENT" = x"run_all_auto" + then + echo "${SELF}: Running in Supervised mode by ${RELENG_PARENT}" + RELENG_STANDALONE=0 + else + echo "${SELF}: Running in Standalone mode" + RELENG_STANDALONE=1 + fi + ;; + *) + echo "${SELF}: Running in Unknown mode by ${RELENG_PARENT}" + ;; +esac + + } # Unconditionally initialize the invocation mode - standalone or supervised