AT_INIT
AT_BANNER([Regression tests.])


# todo.. create one macro for it
AT_SETUP([a5])
AT_KEYWORDS([a5])
cat $abs_srcdir/a5/a5_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/a5/a5_test], [], [expout])
AT_CLEANUP

AT_SETUP([bssgp-fc])
AT_KEYWORDS([bssgp-fc])
cat $abs_srcdir/gb/bssgp_fc_tests.ok > expout
cat $abs_srcdir/gb/bssgp_fc_tests.err > experr
AT_CHECK([$abs_top_srcdir/tests/gb/bssgp_fc_tests.sh $abs_top_builddir/tests/gb], [], [expout], [experr])
AT_CLEANUP

AT_SETUP([bits])
AT_KEYWORDS([bits])
cat $abs_srcdir/bits/bitrev_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/bits/bitrev_test], [], [expout])
AT_CLEANUP

AT_SETUP([conv])
AT_KEYWORDS([conv])
cat $abs_srcdir/conv/conv_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/conv/conv_test], [], [expout])
AT_CLEANUP

if ENABLE_MSGFILE
AT_SETUP([msgfile])
AT_KEYWORDS([msgfile])
cp $abs_srcdir/msgfile/msgconfig.cfg .
cat $abs_srcdir/msgfile/msgfile_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/msgfile/msgfile_test], [], [expout])
AT_CLEANUP
endif

AT_SETUP([sms])
AT_KEYWORDS([sms])
cat $abs_srcdir/sms/sms_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/sms/sms_test], [], [expout])
AT_CLEANUP

AT_SETUP([smscb])
AT_KEYWORDS([smscb])
cat $abs_srcdir/smscb/smscb_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/smscb/smscb_test], [], [expout])
AT_CLEANUP

AT_SETUP([timer])
AT_KEYWORDS([timer])
cat $abs_srcdir/timer/timer_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/timer/timer_test -s 5], [], [expout], [ignore])
AT_CLEANUP

AT_SETUP([ussd])
AT_KEYWORDS([ussd])
cat $abs_srcdir/ussd/ussd_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/ussd/ussd_test], [], [expout], [ignore])
AT_CLEANUP

AT_SETUP([auth])
AT_KEYWORDS([auth])
cat $abs_srcdir/auth/milenage_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/auth/milenage_test], [], [expout], [ignore])
AT_CLEANUP

AT_SETUP([lapd])
AT_KEYWORDS([lapd])
cat $abs_srcdir/lapd/lapd_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/lapd/lapd_test], [], [expout], [ignore])
AT_CLEANUP

AT_SETUP([gsm0808])
AT_KEYWORDS([gsm0808])
cat $abs_srcdir/gsm0808/gsm0808_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/gsm0808/gsm0808_test], [], [expout], [ignore])
AT_CLEANUP

AT_SETUP([gsm0408])
AT_KEYWORDS([gsm0408])
cat $abs_srcdir/gsm0408/gsm0408_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/gsm0408/gsm0408_test], [], [expout], [ignore])
AT_CLEANUP

AT_SETUP([logging])
AT_KEYWORDS([logging])
cat $abs_srcdir/logging/logging_test.ok > expout
cat $abs_srcdir/logging/logging_test.err > experr
AT_CHECK([$abs_top_builddir/tests/logging/logging_test], [], [expout], [experr])
AT_CLEANUP

AT_SETUP([fr])
AT_KEYWORDS([fr])
cat $abs_srcdir/fr/fr_test.ok > expout
cat $abs_srcdir/fr/fr_test.err > experr
AT_CHECK([$abs_top_builddir/tests/fr/fr_test], [], [expout], [experr])

AT_CLEANUP

AT_SETUP([loggingrb])
AT_KEYWORDS([loggingrb])
cat $abs_srcdir/loggingrb/logging_test.ok > expout
cat $abs_srcdir/loggingrb/logging_test.err > experr
AT_CHECK([$abs_top_builddir/tests/loggingrb/loggingrb_test], [], [expout], [experr])
AT_CLEANUP

AT_SETUP([strrb])
AT_KEYWORDS([strrb])
cat $abs_srcdir/strrb/strrb_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/strrb/strrb_test], [], [expout], [ignore])
AT_CLEANUP
