From 8cfd6308bb58996f79678fef632b662ab24c6eb4 Mon Sep 17 00:00:00 2001 From: George Danchev Date: Fri, 8 Jul 2011 12:16:44 +0000 Subject: [PATCH] more unification --- releng/inc/releng_getopts.inc | 65 +++++++++++++++++++++++++++-------- releng/inc/test_releng_getopt | 1 + releng/releng_cxx | 61 +++----------------------------- releng/template_new_releng | 43 +++++------------------ 4 files changed, 65 insertions(+), 105 deletions(-) diff --git a/releng/inc/releng_getopts.inc b/releng/inc/releng_getopts.inc index 77e5ea3d..c76b2b8e 100644 --- a/releng/inc/releng_getopts.inc +++ b/releng/inc/releng_getopts.inc @@ -2,18 +2,43 @@ SELF=$(basename $0) RELENG_XORRISO=0 KEEP=0 SIMULATE_FAILURE=0 +CLEANUP=1 -usage() { +START_DIR_DONT_CHANGE=`pwd` +GEN_DATA_DIR=releng_generated_data/${SELF} + +############################################# +print_help() { cat << EOF Usage: $SELF -x path/to/xorriso [-k0|1] [-f0|1] [-h] -x absolute or relative path to binary to be run. - -k keep selfgenerated data, values 0,1 default 0. - -f simulate failure, values 0,1 default 0. + -k keep selfgenerated data (values 0,1, default 0). + -c cleanup selfgenerated data kept from previous + run and exit (values 0,1, default 0). + -f simulate failure (values 0,1, default 0). EOF } -while getopts “x:k:f:h” OPTION +############################################# +cleanup() { + if [ ${KEEP} -eq 0 -a ${CLEANUP} -eq 1 ]; then + # safety net, just in case -> we want to be in the starting + # directory before removing whatever self-generated stuff + if [ -d "${GEN_DATA_DIR}" ]; then + cd "${START_DIR_DONT_CHANGE}" || exit 2 + rm -rf ${GEN_DATA_DIR} + printf "${SELF}: Removed (self-generated) %s\n" ${GEN_DATA_DIR} + else + printf "${SELF}: ${GEN_DATA_DIR} does not exist. Nothing to clean.\n" + fi + else + printf "${SELF}: Leaving (self-generated) %s\n" ${GEN_DATA_DIR} + fi +} + +############################################# +while getopts “x:k:c:f:h” OPTION do case $OPTION in x) @@ -22,34 +47,46 @@ do k) KEEP=$OPTARG ;; + c) + CLEANUP=$OPTARG + cleanup + exit 0 + ;; f) SIMULATE_FAILURE=$OPTARG ;; h) - usage + print_help exit 0 ;; *) - usage + print_help exit 31 ;; esac done -if [ ! -x $RELENG_XORRISO ]; then - usage - printf "\n${SELF}: -x absolute or relative path to binary to be run.\n\n" +# Each releng_ test should decide whether or not to check that +#if [ ! -x $RELENG_XORRISO ]; then +# print_help +# printf "\n${SELF}: -x absolute or relative path to binary to be run.\n\n" +# exit 31 +#fi + +if [ x"$KEEP" != x"0" -a x"$KEEP" != x"1" ]; then + print_help + printf "\n${SELF}: -k keep selfgenerated data.\n\n" exit 31 fi -if [ x"$KEEP" != x"0" -a x"$KEEP" != x"1" ]; then - usage - printf "\n${SELF}: -k keep selfgenerated data, values 0,1 default 0.\n\n" +if [ x"$CLEANUP" != x"0" -a x"$CLEANUP" != x"1" ]; then + print_help + printf "\n${SELF}: -c cleanup selfgenerated data kept from previous run.\n\n" exit 31 fi if [ x"$SIMULATE_FAILURE" != x"0" -a x"$SIMULATE_FAILURE" != x"1" ]; then - usage - printf "\n${SELF}: -f simulate failure, values 0,1 default 0.\n\n" + print_help + printf "\n${SELF}: -f simulate failure.\n\n" exit 31 fi diff --git a/releng/inc/test_releng_getopt b/releng/inc/test_releng_getopt index 7d0c1e34..dee8d849 100755 --- a/releng/inc/test_releng_getopt +++ b/releng/inc/test_releng_getopt @@ -6,6 +6,7 @@ set -e printf "\nRELENG_XORRISO =${RELENG_XORRISO}" printf "\nKEEP =${KEEP}" +printf "\nCLEANUP =${CLEANUP}" printf "\nSIMULATE_FAILURE =${SIMULATE_FAILURE}" printf "\n" diff --git a/releng/releng_cxx b/releng/releng_cxx index 03c31332..3c60a4d3 100755 --- a/releng/releng_cxx +++ b/releng/releng_cxx @@ -2,68 +2,17 @@ set -e -START_DIR_DONT_CHANGE=`pwd` -SELF=$(basename "$0") -GEN_DATA_DIR=releng_generated_data/${SELF} -KEEP=0 +. inc/releng_getopts.inc + +# xorriso binary is not needed for that particular test + SAMPLE_CODE_DIR=codesamples CC=g++ -##################################################################### -print_help() { - cat << HLP -Usage: - $0 -help - -# - $0 -rc [-keep] - -# cleanup test generated data directory and exit - $0 -cleanup -HLP -} - -##################################################################### -cleanup() { - if [ ${KEEP} -eq 0 ]; then - # safety net, just in case -> we want to be in the starting - # directory before removing whatever self-generated stuff - if [ -d "${GEN_DATA_DIR}" ]; then - cd "${START_DIR_DONT_CHANGE}" || exit 2 - rm -rf ${GEN_DATA_DIR} - printf "${SELF}: Removed (self-generated) %s\n" ${GEN_DATA_DIR} - else - printf "${SELF}: ${GEN_DATA_DIR} does not exist. Nothing to clean.\n" - fi - else - printf "${SELF}: Leaving (self-generated) %s\n" ${GEN_DATA_DIR} - fi -} - -##################################################################### -# help -if [ ! "${1}" ]; then - print_help && exit 3 -# -elif [ "${1}" == "-cleanup" ]; then - cleanup - exit 0 -# -elif [ "${1}" == "-rc" -a "${2}" == "-keep" ]; then - KEEP=1 -elif [ "${1}" == "-rc" -a ! "${2}" ]; then - KEEP=0 -# the rest -else - print_help && exit 4 -fi - - -##################################################################### # check data dir if [ -d "${GEN_DATA_DIR}" ]; then printf "\n${SELF}: directory %s exists!" ${GEN_DATA_DIR} - printf "\n${SELF}: use '${SELF} -cleanup' to remove.\n" + printf "\n${SELF}: use '${SELF} -c1' to remove.\n" exit 5 else mkdir "${GEN_DATA_DIR}" diff --git a/releng/template_new_releng b/releng/template_new_releng index 38143d5f..def19520 100755 --- a/releng/template_new_releng +++ b/releng/template_new_releng @@ -2,46 +2,19 @@ set -e -START_DIR_DONT_CHANGE=`pwd` -SELF=$(basename "$0") -# required config items -# RELENG_XORRISO="" - -# optional config items - -# config file -CONFFILE=${HOME}/.libburnia-releng/${SELF}.conf -GEN_DATA_DIR=releng_generated_data/${SELF} -KEEP=0 +. inc/releng_getopts.inc +# Each releng_ test should decide whether or not it need +# a xorriso binary to test, since some do compilations only. +if [ ! -x $RELENG_XORRISO ]; then + print_help + printf "\n${SELF}: -x absolute or relative path to binary to be run.\n\n" + exit 31 +fi printf "\n$0: FAIL: === TEPLATE === RENAME ME TO releng_\n" exit 31 -##################################################################### -print_help() { - cat << HLP -Usage: - $0 -help - -# using a config file ${CONFFILE} - $0 -rc [-keep] - -# without using a config file - $0 your_own_options_here - -# cleanup test generated data directory and exit - $0 -cleanup -HLP -} - ##################################################################### print_help -#if [ ! -x "${XOR}" ]; then -# printf "$0: Not found or not an executable: $XOR\n" -# exit 50 -#fi - -# xorriso version details, incl. underlying libraries -# "${XOR}" -version exit 0