| #!/bin/bash |
| |
| # Copyright 2011 George Danchev <danchev@spnet.net> |
| # Copyright 2011 Thomas Schmitt <scdbackup@gmx.net> |
| # === 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 |