|
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
|