1262395Sbapt#!/bin/sh 2262395Sbapt 3262395Sbaptif [ $# -lt 1 ] ; then 4262395Sbapt echo 'Specify binary to run as the first argument' 5262395Sbapt exit 1 6262395Sbaptfi 7262395Sbapt 8262395Sbapt 9262395Sbaptfor _tin in ${TEST_DIR}/*.in ; do 10262395Sbapt _t=`echo $_tin | sed -e 's/.in$//'` 11262395Sbapt $1 $_t.in $_t.out 12262395Sbapt if [ $? -ne 0 ] ; then 13262395Sbapt echo "Test: $_t failed, output:" 14262395Sbapt cat $_t.out 15262395Sbapt rm $_t.out 16262395Sbapt exit 1 17262395Sbapt fi 18262395Sbapt if [ -f $_t.res ] ; then 19262395Sbapt diff -s $_t.out $_t.res -u 2>/dev/null 20262395Sbapt if [ $? -ne 0 ] ; then 21262395Sbapt rm $_t.out 22262395Sbapt echo "Test: $_t output missmatch" 23262395Sbapt exit 1 24262395Sbapt fi 25262395Sbapt fi 26262395Sbapt rm $_t.out 27262395Sbaptdone 28262395Sbapt 29262395Sbaptif [ $# -gt 2 ] ; then 30262395Sbapt $3 ${TEST_DIR}/generate.out 31262395Sbapt diff -s ${TEST_DIR}/generate.out ${TEST_DIR}/generate.res -u 2>/dev/null 32262395Sbapt if [ $? -ne 0 ] ; then 33262395Sbapt rm ${TEST_DIR}/generate.out 34262395Sbapt echo "Test: generate.res output missmatch" 35262395Sbapt exit 1 36262395Sbapt fi 37262395Sbapt rm ${TEST_DIR}/generate.out 38262395Sbaptfi 39262395Sbapt 40263648Sbaptif [ $# -gt 3 ] ; then 41263648Sbapt rm /tmp/_ucl_test_schema.out ||true 42263648Sbapt for i in ${TEST_DIR}/schema/*.json ; do 43263648Sbapt _name=`basename $i` 44263648Sbapt printf "running schema test suite $_name... " 45263648Sbapt cat $i | $4 >> /tmp/_ucl_test_schema.out && ( echo "OK" ) || ( echo "Fail" ) 46263648Sbapt done 47263648Sbaptfi 48263648Sbapt 49262395Sbaptsh -c "xz -c < /dev/null > /dev/null" 50262395Sbaptif [ $? -eq 0 -a $# -gt 1 ] ; then 51262395Sbapt echo 'Running speed tests' 52262395Sbapt for _tin in ${TEST_DIR}/*.xz ; do 53262395Sbapt echo "Unpacking $_tin..." 54262395Sbapt xz -cd < $_tin > ${TEST_DIR}/test_file 55262395Sbapt # Preread file to cheat benchmark! 56262395Sbapt cat ${TEST_DIR}/test_file > /dev/null 57262395Sbapt echo "Starting benchmarking for $_tin..." 58262395Sbapt $2 ${TEST_DIR}/test_file 59262395Sbapt if [ $? -ne 0 ] ; then 60262395Sbapt echo "Test: $_tin failed" 61262395Sbapt rm ${TEST_DIR}/test_file 62262395Sbapt exit 1 63262395Sbapt fi 64262395Sbapt rm ${TEST_DIR}/test_file 65262395Sbapt done 66262395Sbaptfi 67262395Sbapt 68