#! /bin/sh # This file is part of lunit 0.4. # # For Details about lunit look at: http://www.mroth.net/lunit/ # # Author: Michael Roth # # Copyright (c) 2004-2008 Michael Roth # # Permission is hereby granted, free of charge, to any person # obtaining a copy of this software and associated documentation # files (the "Software"), to deal in the Software without restriction, # including without limitation the rights to use, copy, modify, merge, # publish, distribute, sublicense, and/or sell copies of the Software, # and to permit persons to whom the Software is furnished to do so, # subject to the following conditions: # # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. # IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. if test $# = 0 ; then echo "$0: Usage Error. Try $0 --help" >&2 exit 1 fi scriptname="$(readlink -n -e "$0")" interpreter="lua" options="" while true ; do case "$1" in -h|--help) cat < This program comes WITHOUT WARRANTY OF ANY KIND. Usage: lunit [OPTIONS] [--] scripts Options: -i, --interpreter LUA Complete path of the lua binary to use. -p, --path PATH Sets the LUA_PATH environment for the tests. --cpath CPATH Sets the LUA_CPATH environment for the tests. -r, --runner RUNNER Testrunner to use, defaults to 'lunit-console'. -t, --test PATTERN Which tests to run, may contain * or ? wildcards. --loadonly Only load the tests. --dontforce Do not force to load $scriptname*.lua. -h, --help Print this help screen. --version Print lunit version. Please report bugs to . EOT exit ;; --version) echo "lunit 0.4pre Copyright 2004-2008 Michael Roth " # FIXME exit ;; -i|--interpreter) interpreter="$2" shift 2 ;; -p|--path) LUA_PATH="$2" export LUA_PATH shift 2 ;; --cpath) LUA_CPATH="$2" export LUA_CPATH shift 2 ;; --loadonly) options="$options $1" shift 1 ;; --dontforce) scriptname="" shift 1 ;; -r|--runner|-t|--test) options="$options $1 $2" shift 2 ;; --) break ;; -*) echo "$0: Invalid option: $1" >&2 exit 1 ;; *) break ;; esac done exec "$interpreter" - "$scriptname" $options "$@" <