aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--openbsc/.gitignore6
-rw-r--r--openbsc/configure.ac1
-rw-r--r--openbsc/tests/Makefile.am44
-rw-r--r--openbsc/tests/bsc-nat/Makefile.am2
-rw-r--r--openbsc/tests/bsc-nat/bsc_nat_test.ok21
-rw-r--r--openbsc/tests/channel/Makefile.am2
-rw-r--r--openbsc/tests/channel/channel_test.ok2
-rw-r--r--openbsc/tests/db/Makefile.am2
-rw-r--r--openbsc/tests/db/db_test.ok4
-rw-r--r--openbsc/tests/gsm0408/Makefile.am2
-rw-r--r--openbsc/tests/gsm0408/gsm0408_test.ok5
-rw-r--r--openbsc/tests/mgcp/Makefile.am2
-rw-r--r--openbsc/tests/mgcp/mgcp_test.ok2
-rw-r--r--openbsc/tests/testsuite.at39
14 files changed, 133 insertions, 1 deletions
diff --git a/openbsc/.gitignore b/openbsc/.gitignore
index c19c16a76..37495cc91 100644
--- a/openbsc/.gitignore
+++ b/openbsc/.gitignore
@@ -52,4 +52,10 @@ tests/sccp/sccp_test
tests/sms/sms_test
tests/timer/timer_test
+tests/atconfig
+tests/package.m4
+tests/testsuite
+tests/testsuite.log
+
+
src/openbsc.cfg*
diff --git a/openbsc/configure.ac b/openbsc/configure.ac
index f330c99c0..90e3654e2 100644
--- a/openbsc/configure.ac
+++ b/openbsc/configure.ac
@@ -4,6 +4,7 @@ AC_INIT([openbsc],
[openbsc-devel@lists.openbsc.org])
AM_INIT_AUTOMAKE([dist-bzip2])
+AC_CONFIG_TESTDIR(tests)
dnl kernel style compile messages
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
diff --git a/openbsc/tests/Makefile.am b/openbsc/tests/Makefile.am
index 1968119f8..64667c9ad 100644
--- a/openbsc/tests/Makefile.am
+++ b/openbsc/tests/Makefile.am
@@ -2,4 +2,48 @@ SUBDIRS = debug gsm0408 db channel mgcp
if BUILD_NAT
SUBDIRS += bsc-nat
+ENABLE_NAT_TEST = echo 'm4_define([ENABLE_NAT_TEST], [1])';
+else
+ENABLE_NAT_TEST = echo '';
endif
+
+
+# The `:;' works around a Bash 3.2 bug when the output is not writeable.
+$(srcdir)/package.m4: $(top_srcdir)/configure.ac $(top_builddir)/config.log
+ :;{ \
+ echo '# Signature of the current package.' && \
+ echo 'm4_define([AT_PACKAGE_NAME],' && \
+ echo ' [$(PACKAGE_NAME)])' && \
+ echo 'm4_define([AT_PACKAGE_TARNAME],' && \
+ echo ' [$(PACKAGE_TARNAME)])' && \
+ echo 'm4_define([AT_PACKAGE_VERSION],' && \
+ echo ' [$(PACKAGE_VERSION)])' && \
+ echo 'm4_define([AT_PACKAGE_STRING],' && \
+ echo ' [$(PACKAGE_STRING)])' && \
+ echo 'm4_define([AT_PACKAGE_BUGREPORT],' && \
+ echo ' [$(PACKAGE_BUGREPORT)])'; \
+ echo 'm4_define([AT_PACKAGE_URL],' && \
+ echo ' [$(PACKAGE_URL)])'; \
+ $(ENABLE_NAT_TEST) \
+ } >'$(srcdir)/package.m4'
+
+EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE)
+TESTSUITE = $(srcdir)/testsuite
+
+check-local: atconfig $(TESTSUITE)
+ $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS)
+
+installcheck-local: atconfig $(TESTSUITE)
+ $(SHELL) '$(TESTSUITE)' AUTOTEST_PATH='$(bindir)' \
+ $(TESTSUITEFLAGS)
+
+clean-local:
+ test ! -f '$(TESTSUITE)' || \
+ $(SHELL) '$(TESTSUITE)' --clean
+ $(RM) -f atconfig
+
+AUTOM4TE = $(SHELL) $(top_srcdir)/missing --run autom4te
+AUTOTEST = $(AUTOM4TE) --language=autotest
+$(TESTSUITE): $(srcdir)/testsuite.at $(srcdir)/package.m4
+ $(AUTOTEST) -I '$(srcdir)' -o $@.tmp $@.at
+ mv $@.tmp $@
diff --git a/openbsc/tests/bsc-nat/Makefile.am b/openbsc/tests/bsc-nat/Makefile.am
index 5a6898487..db3cbe542 100644
--- a/openbsc/tests/bsc-nat/Makefile.am
+++ b/openbsc/tests/bsc-nat/Makefile.am
@@ -2,7 +2,7 @@ INCLUDES = $(all_includes) -I$(top_srcdir)/include
AM_CFLAGS=-Wall -ggdb3 $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBOSMOSCCP_CFLAGS) $(LIBOSMOABIS_CFLAGS) $(COVERAGE_CFLAGS)
AM_LDFLAGS = $(COVERAGE_LDFLAGS)
-EXTRA_DIST = bsc_data.c
+EXTRA_DIST = bsc_nat_test.ok
noinst_PROGRAMS = bsc_nat_test
diff --git a/openbsc/tests/bsc-nat/bsc_nat_test.ok b/openbsc/tests/bsc-nat/bsc_nat_test.ok
new file mode 100644
index 000000000..2aff594fb
--- /dev/null
+++ b/openbsc/tests/bsc-nat/bsc_nat_test.ok
@@ -0,0 +1,21 @@
+Testing BSS Filtering.
+Going to test item: 0
+Going to test item: 1
+Going to test item: 2
+Going to test item: 3
+Going to test item: 4
+Going to test item: 5
+Going to test item: 6
+Going to test item: 7
+Going to test item: 8
+Going to test item: 9
+Going to test item: 10
+Going to test item: 11
+Going to test item: 12
+Testing connection tracking.
+Testing paging by lac.
+Testing MGCP.
+Testing finding of a BSC Connection
+Testing rewriting MGCP messages.
+Testing MGCP response parsing.
+Testing execution completed.
diff --git a/openbsc/tests/channel/Makefile.am b/openbsc/tests/channel/Makefile.am
index 404ab3225..4f50dab21 100644
--- a/openbsc/tests/channel/Makefile.am
+++ b/openbsc/tests/channel/Makefile.am
@@ -1,6 +1,8 @@
INCLUDES = $(all_includes) -I$(top_srcdir)/include
AM_CFLAGS=-Wall -ggdb3 $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS)
+EXTRA_DIST = channel_test.ok
+
noinst_PROGRAMS = channel_test
channel_test_SOURCES = channel_test.c
diff --git a/openbsc/tests/channel/channel_test.ok b/openbsc/tests/channel/channel_test.ok
new file mode 100644
index 000000000..7976aee0f
--- /dev/null
+++ b/openbsc/tests/channel/channel_test.ok
@@ -0,0 +1,2 @@
+Testing the gsm_subscriber chan logic
+Reached, didn't crash, test passed
diff --git a/openbsc/tests/db/Makefile.am b/openbsc/tests/db/Makefile.am
index aab2cd683..f0d65f897 100644
--- a/openbsc/tests/db/Makefile.am
+++ b/openbsc/tests/db/Makefile.am
@@ -2,6 +2,8 @@ INCLUDES = $(all_includes) -I$(top_srcdir)/include
AM_CFLAGS=-Wall -ggdb3 $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBOSMOABIS_CFLAGS) $(COVERAGE_CFLAGS)
AM_LDFLAGS = $(COVERAGE_LDFLAGS)
+EXTRA_DIST = db_test.ok
+
noinst_PROGRAMS = db_test
db_test_SOURCES = db_test.c
diff --git a/openbsc/tests/db/db_test.ok b/openbsc/tests/db/db_test.ok
new file mode 100644
index 000000000..2632a8c8a
--- /dev/null
+++ b/openbsc/tests/db/db_test.ok
@@ -0,0 +1,4 @@
+Testing subscriber database code.
+DB: Database initialized.
+DB: Database prepared.
+Done
diff --git a/openbsc/tests/gsm0408/Makefile.am b/openbsc/tests/gsm0408/Makefile.am
index 90ca05b5d..6ecdc070c 100644
--- a/openbsc/tests/gsm0408/Makefile.am
+++ b/openbsc/tests/gsm0408/Makefile.am
@@ -2,6 +2,8 @@ INCLUDES = $(all_includes) -I$(top_srcdir)/include
AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS)
noinst_PROGRAMS = gsm0408_test
+EXTRA_DIST = gsm0408_test.ok
+
gsm0408_test_SOURCES = gsm0408_test.c
gsm0408_test_LDADD = $(top_builddir)/src/libbsc/libbsc.a \
$(top_builddir)/src/libmsc/libmsc.a \
diff --git a/openbsc/tests/gsm0408/gsm0408_test.ok b/openbsc/tests/gsm0408/gsm0408_test.ok
new file mode 100644
index 000000000..52c601e2d
--- /dev/null
+++ b/openbsc/tests/gsm0408/gsm0408_test.ok
@@ -0,0 +1,5 @@
+Testing test location area identifier
+Testing parsing and generating TMSI/IMSI
+hex: 17 08 99 78 56 34 12 90 78 36
+hex: 17 09 91 78 56 34 12 90 78 56 f4
+Done.
diff --git a/openbsc/tests/mgcp/Makefile.am b/openbsc/tests/mgcp/Makefile.am
index 472368cb3..ff67cf86b 100644
--- a/openbsc/tests/mgcp/Makefile.am
+++ b/openbsc/tests/mgcp/Makefile.am
@@ -2,6 +2,8 @@ INCLUDES = $(all_includes) -I$(top_srcdir)/include
AM_CFLAGS=-Wall -ggdb3 $(LIBOSMOCORE_CFLAGS) $(LIBOSMOSCCP_CFLAGS) $(COVERAGE_CFLAGS)
AM_LDFLAGS = $(COVERAGE_LDFLAGS)
+EXTRA_DIST = mgcp_test.ok
+
noinst_PROGRAMS = mgcp_test
mgcp_test_SOURCES = mgcp_test.c
diff --git a/openbsc/tests/mgcp/mgcp_test.ok b/openbsc/tests/mgcp/mgcp_test.ok
new file mode 100644
index 000000000..1a01c28a8
--- /dev/null
+++ b/openbsc/tests/mgcp/mgcp_test.ok
@@ -0,0 +1,2 @@
+Testing AUEP
+Done
diff --git a/openbsc/tests/testsuite.at b/openbsc/tests/testsuite.at
new file mode 100644
index 000000000..fb57d07b0
--- /dev/null
+++ b/openbsc/tests/testsuite.at
@@ -0,0 +1,39 @@
+AT_INIT
+AT_BANNER([Regression tests.])
+
+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([db])
+AT_KEYWORDS([db])
+cat $abs_srcdir/db/db_test.ok > expout
+AT_CHECK([$abs_top_builddir/tests/db/db_test], [], [expout], [ignore])
+AT_CLEANUP
+
+AT_SETUP([channel])
+AT_KEYWORDS([channel])
+cat $abs_srcdir/channel/channel_test.ok > expout
+AT_CHECK([$abs_top_builddir/tests/channel/channel_test], [], [expout], [ignore])
+AT_CLEANUP
+
+AT_SETUP([mgcp])
+AT_KEYWORDS([mgcp])
+cat $abs_srcdir/mgcp/mgcp_test.ok > expout
+AT_CHECK([$abs_top_builddir/tests/mgcp/mgcp_test], [], [expout], [ignore])
+AT_CLEANUP
+
+AT_SETUP([gprs])
+AT_KEYWORDS([gprs])
+cat $abs_srcdir/gprs/gprs_test.ok > expout
+AT_CHECK([$abs_top_builddir/tests/gprs/gprs_test], [], [expout], [ignore])
+AT_CLEANUP
+
+m4_ifdef([ENABLE_NAT_TEST],[
+AT_SETUP([bsc-nat])
+AT_KEYWORDS([bsc-nat])
+cat $abs_srcdir/bsc-nat/bsc_nat_test.ok > expout
+AT_CHECK([$abs_top_builddir/tests/bsc-nat/bsc_nat_test], [], [expout], [ignore])
+AT_CLEANUP])