#!/bin/sh OPTION="-explicit -implicit" run_script_for_init() { script="$1" data="$2" output=`echo $script | sed 's/\.awk$/.out/g'` "$ASEAWK" $OPTION -d -f "$script" "$data" > "$output" } run_script_for_init_nodata() { script="$1" output=`echo $script | sed 's/\.awk$/.out/g'` "$ASEAWK" $OPTION -d -f "$script" > "$output" } run_script_for_init_main() { script="$1" output=`echo $script | sed 's/\.awk$/.out/g'` "$ASEAWK" $OPTION -m main -d -f "$script" > "$output" } run_init() { for script in simple-???.awk do run_script_for_init_nodata "$script" done for script in main-???.awk do run_script_for_init_main "$script" done for script in emp-???.awk do run_script_for_init "$script" "emp-en.data" done for script in cou-???.awk do run_script_for_init "$script" "cou-en.data" done for script in adr-???.awk do run_script_for_init "$script" "adr-en.data" done for script in err-???.awk do run_script_for_init "$script" "err-en.data" done } run_script_for_test() { script="$1" data="$2" output=`echo $script | sed 's/\.awk$/.out/g'` echo ">> RUNNING $script" "$ASEAWK" $OPTION -d -f "$script" "$data" > "$output.$pid" #diff -y "$output" "$output.$pid" diff "$output" "$output.$pid" if [ $? -ne 0 ] then rm -f "$output.$pid" return 1 fi rm -f "$output.$pid" return 0 } run_script_for_test_nodata() { script="$1" output=`echo $script | sed 's/\.awk$/.out/g'` echo ">> RUNNING $script" "$ASEAWK" $OPTION -d -f "$script" > "$output.$pid" #diff -y "$output" "$output.$pid" diff "$output" "$output.$pid" if [ $? -ne 0 ] then rm -f "$output.$pid" return 1 fi rm -f "$output.$pid" return 0 } run_script_for_test_main() { script="$1" output=`echo $script | sed 's/\.awk$/.out/g'` echo ">> RUNNING $script" "$ASEAWK" $OPTION -m main -d -f "$script" > "$output.$pid" #diff -y "$output" "$output.$pid" diff "$output" "$output.$pid" if [ $? -ne 0 ] then rm -f "$output.$pid" return 1 fi rm -f "$output.$pid" return 0 } run_test() { pid=$$ for script in simple-???.awk do run_script_for_test_nodata "$script" [ $? -ne 0 ] && { echo "###################################" echo "PROBLEM(S) DETECTED IN $script.". echo "###################################" echo "Do you want to abort? [y/n]" read ans [ "$ans" = "y" -o "$ans" = "Y" ] && return 1 } done for script in main-???.awk do run_script_for_test_main "$script" [ $? -ne 0 ] && { echo "###################################" echo "PROBLEM(S) DETECTED IN $script.". echo "###################################" echo "Do you want to abort? [y/n]" read ans [ "$ans" = "y" -o "$ans" = "Y" ] && return 1 } done for script in emp-???.awk do run_script_for_test "$script" "emp-en.data" [ $? -ne 0 ] && { echo "###################################" echo "PROBLEM(S) DETECTED IN $script.". echo "###################################" echo "Do you want to abort? [y/n]" read ans [ "$ans" = "y" -o "$ans" = "Y" ] && return 1 } done for script in cou-???.awk do run_script_for_test "$script" "cou-en.data" [ $? -ne 0 ] && { echo "###################################" echo "PROBLEM(S) DETECTED IN $script.". echo "###################################" echo "Do you want to abort? [y/n]" read ans [ "$ans" = "y" -o "$ans" = "Y" ] && return 1 } done for script in adr-???.awk do run_script_for_test "$script" "adr-en.data" if [ $? -ne 0 ] then echo "###################################" echo "PROBLEM(S) DETECTED IN $script.". echo "###################################" echo "Do you want to abort? [y/n]" read ans if [ "$ans" = "y" -o "$ans" = "Y" ] then return 1 fi fi done for script in err-???.awk do run_script_for_test "$script" "err-en.data" if [ $? -ne 0 ] then echo "###################################" echo "PROBLEM(S) DETECTED IN $script.". echo "###################################" echo "Do you want to abort? [y/n]" read ans if [ "$ans" = "y" -o "$ans" = "Y" ] then return 1 fi fi done return 0 } print_usage() { echo "Usage: $0 init" echo " $0 test" } #--------# # main # #--------# if [ -x ./aseawk ] then ASEAWK="./aseawk" elif [ -x ../../release/bin/aseawk ] then ASEAWK="../../release/bin/aseawk" elif [ -x ../../debug/bin/aseawk ] then ASEAWK="../../debug/bin/aseawk" else echo "Error: cannot locate a relevant awk interpreter" exit 1; fi [ $# -ne 1 ] && { print_usage "$0" exit 1 } if [ "$1" = "init" ] then run_init elif [ "$1" = "test" ] then run_test else print_usage "$0" exit 1 fi exit 0