141 lines
2.2 KiB
Bash
Executable File
141 lines
2.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
run_script_for_init()
|
|
{
|
|
script="$1"
|
|
data="$2"
|
|
output=`echo $script | sed 's/\.awk$/.out/g'`
|
|
|
|
./aseawk -d -f "$script" "$data" > "$output"
|
|
}
|
|
|
|
run_init()
|
|
{
|
|
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 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 -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_test()
|
|
{
|
|
pid=$$
|
|
|
|
for script in emp-???.awk
|
|
do
|
|
run_script_for_test "$script" "emp-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 cou-???.awk
|
|
do
|
|
run_script_for_test "$script" "cou-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
|
|
}
|
|
|
|
#--------#
|
|
# main #
|
|
#--------#
|
|
|
|
if [ ! -x ./aseawk ]
|
|
then
|
|
echo "Error: cannot locate a relevant awk interpreter"
|
|
exit 1;
|
|
fi
|
|
|
|
if [ $# -ne 1 ]
|
|
then
|
|
echo "Usage: $0 init"
|
|
echo " $0 test"
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$1" = "init" ]
|
|
then
|
|
run_init
|
|
elif [ "$1" = "test" ]
|
|
then
|
|
run_test
|
|
else
|
|
echo "Usage: $0 init"
|
|
echo " $0 test"
|
|
exit 1
|
|
fi
|
|
|