Blame tests/exec.sh

Packit 1422b7
# environment variables:
Packit 1422b7
# GREP - if set, can be used to use alternative grep version
Packit 1422b7
#        Most important use case is to use GNU grep (ggrep)
Packit 1422b7
#        on Solaris. If unset, use "grep".
Packit 1422b7
set -e
Packit 1422b7
Packit 1422b7
if [ "x$debug" == "xon" ]; then #get core-dump on crash
Packit 1422b7
    ulimit -c unlimited
Packit 1422b7
fi
Packit 1422b7
Packit 1422b7
cmd=../src/ln_test
Packit 1422b7
Packit 1422b7
. ./options.sh
Packit 1422b7
Packit 1422b7
test_def() {
Packit 1422b7
    test_file=$(basename $1)
Packit 1422b7
    test_name=$(echo $test_file | sed -e 's/\..*//g')
Packit 1422b7
Packit 1422b7
    echo ===============================================================================
Packit 1422b7
    echo "[${test_file}]: test for ${2}"
Packit 1422b7
}
Packit 1422b7
Packit 1422b7
execute() {
Packit 1422b7
    if [ "x$debug" == "xon" ]; then
Packit 1422b7
	echo "======rulebase======="
Packit 1422b7
	cat tmp.rulebase
Packit 1422b7
	echo "====================="
Packit 1422b7
	set -x
Packit 1422b7
    fi
Packit 1422b7
    if [ "$1" == "file" ]; then
Packit 1422b7
        $cmd $ln_opts -r tmp.rulebase -e json > test.out < $2
Packit 1422b7
    else
Packit 1422b7
        echo "$1" | $cmd $ln_opts -r tmp.rulebase -e json > test.out
Packit 1422b7
    fi
Packit 1422b7
    echo "Out:"
Packit 1422b7
    cat test.out
Packit 1422b7
    if [ "x$debug" == "xon" ]; then
Packit 1422b7
	set +x
Packit 1422b7
    fi
Packit 1422b7
}
Packit 1422b7
Packit 1422b7
execute_with_string() {
Packit 1422b7
    # $1 must be rulebase string
Packit 1422b7
    # $2 must be sample string
Packit 1422b7
    if [ "x$debug" == "xon" ]; then
Packit 1422b7
	echo "======rulebase======="
Packit 1422b7
	cat tmp.rulebase
Packit 1422b7
	echo "====================="
Packit 1422b7
	set -x
Packit 1422b7
    fi
Packit 1422b7
    echo "$2" | $cmd $ln_opts -R "$1" -e json > test.out
Packit 1422b7
    echo "Out:"
Packit 1422b7
    cat test.out
Packit 1422b7
    if [ "x$debug" == "xon" ]; then
Packit 1422b7
	set +x
Packit 1422b7
    fi
Packit 1422b7
}
Packit 1422b7
Packit 1422b7
assert_output_contains() {
Packit 1422b7
    if [ "x$GREP" == "x" ]; then
Packit 1422b7
       GREP=grep
Packit 1422b7
    fi
Packit 1422b7
    cat test.out | $GREP -F "$1"
Packit 1422b7
}
Packit 1422b7
Packit 1422b7
assert_output_json_eq() {
Packit 1422b7
    ./json_eq "$1" "$(cat test.out)"
Packit 1422b7
}
Packit 1422b7
Packit 1422b7
rulebase_file_name() {
Packit 1422b7
    if [ "x$1" == "x" ]; then
Packit 1422b7
	echo tmp.rulebase
Packit 1422b7
    else
Packit 1422b7
	echo $1.rulebase
Packit 1422b7
    fi
Packit 1422b7
}
Packit 1422b7
Packit 1422b7
reset_rules() {
Packit 1422b7
    rb_file=$(rulebase_file_name $1)
Packit 1422b7
    rm -f $rb_file
Packit 1422b7
}
Packit 1422b7
Packit 1422b7
add_rule() {
Packit 1422b7
    rb_file=$(rulebase_file_name $2)
Packit 1422b7
    echo $1 >> $rb_file
Packit 1422b7
}
Packit 1422b7
Packit 1422b7
add_rule_no_LF() {
Packit 1422b7
    rb_file=$(rulebase_file_name $2)
Packit 1422b7
    echo -n $1 >> $rb_file
Packit 1422b7
}
Packit 1422b7
Packit 1422b7
Packit 1422b7
cleanup_tmp_files() {
Packit 1422b7
    rm -f test.out *.rulebase 
Packit 1422b7
}
Packit 1422b7
Packit 1422b7
reset_rules