#!/bin/bash # Copyright 2011 George Danchev # Copyright 2011 Thomas Schmitt # === TEMPLATE: Add your own copyright here # # Licensed under GNU GPL version 2 or later # === TEMPLATE: Remove this remark before releasing this script. # # This is a template for creating a new libisoburn/releng test. # It is supposed that you have read releng/README before you begin to work # here. # # Step 1: Invent a name for your test # test_name="manual_"...some.name... # or # test_name="auto_"...some.name... # # Step 2: Copy releng/template_new to $test_name # # Step 3: Edit $test_name and process any line that begins by # "# === TEMPLATE:". Do what the line prescribes and then remove it # from the script. You are not done as long as such a line remains. # # === TEMPLATE: End of remark to remove set -e # === TEMPLATE: Describe your own specific options (if any) and the test print_specific_help() { cat << HLP Specific options: --option Explanation of specific option Overview: Short explanation of test purpose and activities. HLP } getopts_inc=inc/releng_getopts.inc if test -e "$getopts_inc" then . "$getopts_inc" if test "$SPECIFIC_HELP" = 1 then print_specific_help exit 0 fi else echo >&2 echo "File not found: $getopts_inc" >&2 echo "Are we in the ./releng directory of a libisoburn SVN checkout ?" >&2 echo "(Please execute the tests from that ./releng directory.)" >&2 echo >&2 exit 29 fi # === TEMPLATE: Decide whether the test will have own options, # === TEMPLATE: apart from those interpreted by inc/releng_getopts.inc # === TEMPLATE: If not, then remove this interpreter code. # Set default values for specific option variables. E.g.: # dev= # Interpret specific options, they begin after the first --. next_is=ignore for i in "$@" do if test "$next_is" = "ignore" then if test "$i" = "--" then next_is="" fi # === TEMPLATE: Implement interpretation of specific options. Like: # elif test "$next_is" = "dev" # then # dev="$i" # next_is="" # elif test "$i" = "--dev" # then # next_is="dev" else echo >&2 echo "Unknown test specific option: $i" >&2 print_help print_specific_help exit 31 fi done # === TEMPLATE: End of own option interpreter code. # Each test should decide whether or not it needs # a xorriso binary to test, since some do compilations only. # === TEMPLATE: Decide whether you need a xorriso program. # === TEMPLATE: If not, then remove this function call check_for_xorriso -x # check data dir, if any and after checking -x xorriso # === TEMPLATE: Decide whether your test will possibly create own files. # === TEMPLATE: If yes, then create your files underneath ${GEN_DATA_DIR}. # === TEMPLATE: The name in this variable is set by inc/releng_getopts.inc . # === TEMPLATE: If not, then remove this if ... fi statement. if [ -d "${GEN_DATA_DIR}" ]; then printf "\n${SELF}: directory %s exists!" ${GEN_DATA_DIR} printf "\n${SELF}: use '${SELF} -c' to remove.\n" exit 30 else mkdir "${GEN_DATA_DIR}" fi ##################################################################### # === TEMPLATE: Perform your test activities here. # === TEMPLATE: In case of failure, issue a line to stdout that begins by # === TEMPLATE: the word "FAIL", and make sure that the test script finally # === TEMPLATE: returns a non-zero exit value. # === TEMPLATE: 31 = Unknown option or unusable argument with known option # === TEMPLATE: 30 = Unexpected state of own directory for self generated files # === TEMPLATE: 29 = Not in ./releng directory or missing essential parts # === TEMPLATE: 1 to 28 = test specific exit values # === TEMPLATE: When exiting prematurely, make sure to call cleanup. cleanup exit 0