#!/bin/sh
unset MALLOC_COUNT_SHOW
TZ=HST
export TZ
sdir=test-data
ddir=test-dump-tsc-log.d
for opts in '' -a -z; do
	rm -rf $ddir
	mkdir -p $ddir
	cat << _END |\
# this is a comment
AZ Real Angle
EL Real Angle [this should be ignored]
Weather Temperature [and a really really long line which does not fit in a buffer]
_END
	./dump-tsc-log-tester -v -d $ddir $opts \
		-E \
		-e "Telescope Auto Guiding(SV)" -e "Telescope Auto Guiding(AG)" \
		-e 0x00A118D -e 00A118C \
		$sdir/TSCL20050209-L1-L7.bin \
		$sdir/TSCS20050209-2sets.bin \
		$sdir/TSCV20050209-10sets.bin > $ddir/stderr.log 2>&1
	for t in \
		TSCL20050209-L1-L7.bin-L-000C \
		TSCS20050209-2sets.bin-S-0002 \
		TSCV20050209-10sets.bin-E-00A1 \
		stderr;
	do
		target=$sdir/dump-tsc-log/$t.$opts.log
		created=$ddir/$t.log
		if test -f $created; then
      diff -u $target $created
			if [ "$?" != "0" ]; then
				echo $0: error: $created is not as expected in $target
				exit 1
			fi
		else
			echo $0: error: $created not created.
			exit 1
		fi
	done
done

for opts in '' -z; do
	if [ x$opts = x-z ]; then
		ranges="23:30:00-00:00:05 00:00:05-23:30:00"
	else
		ranges="09:30:00-10:00:05 10:00:05-09:30:00"
	fi
	for xrange in $ranges; do
		range=`echo $xrange | sed 's/://g'`
		./dump-tsc-log-tester -d $ddir $opts -r $xrange \
		-e 'X Real Angle' test-data/TSCL20050617-10sec.bin \
		> $ddir/stderr.$range.log 2>&1
		for file in \
			TSCL20050617-10sec.bin-$range-L-0003.log \
			stderr.$range.log;
		do
			target=$sdir/dump-tsc-log/$file$opts
			created=$ddir/$file
			if test -f $created; then
				diff -u $target $created
				if [ "$?" != "0" ]; then
					echo $0: error: $created is not as expected
					exit 1
				fi
			else
				echo $0: error: $created not created.
				exit 1
			fi
		done
	done
done

# debug status
awk -F, '{print($2)}' melco-csv/azel-table-debug-2006-05-05.csv |\
./dump-tsc-log-tester -e 'AZ CMD Angle ANS' -e 'EL CMD Angle ANS' \
-E -d $ddir $sdir/TSCS-azel-table-debug.bin \
> $ddir/TSCS-azel-table-debug.stderr.log 2>&1
for f in \
	TSCS-azel-table-debug.bin-S-0002.log \
	TSCS-azel-table-debug.bin-S-00A1.log \
	TSCS-azel-table-debug.stderr.log ; \
do
	target=$sdir/dump-tsc-log/$f
	created=$ddir/$f
	if test -f $created; then
		diff -u $target $created
		if [ "$?" != "0" ]; then
			echo $0: error: $created is not as expected
			exit 1
		fi
	else
		echo $0: error: $created not created.
		exit 1
	fi
done

echo OK
#rm -rf $ddir
