From f98a4974d764a4b6f8da5a8a5cadacae83eb87b7 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 20 Feb 2010 17:29:27 +0100 Subject: finish openbsc / libosmocore separation * use pkg-config from openbsc to find header and library * move sms and timer tests to libosmocore itself * ensure "make distcheck" works on both packages --- libosmocore/Makefile.am | 2 +- libosmocore/configure.in | 3 ++ libosmocore/include/osmocore/Makefile.am | 6 ++- libosmocore/libosmocore.pc.in | 3 +- libosmocore/tests/Makefile.am | 1 + libosmocore/tests/sms/Makefile.am | 5 +++ libosmocore/tests/sms/sms_test.c | 47 +++++++++++++++++++++ libosmocore/tests/timer/Makefile.am | 6 +++ libosmocore/tests/timer/timer_test.c | 70 ++++++++++++++++++++++++++++++++ 9 files changed, 139 insertions(+), 4 deletions(-) create mode 100644 libosmocore/tests/Makefile.am create mode 100644 libosmocore/tests/sms/Makefile.am create mode 100644 libosmocore/tests/sms/sms_test.c create mode 100644 libosmocore/tests/timer/Makefile.am create mode 100644 libosmocore/tests/timer/timer_test.c (limited to 'libosmocore') diff --git a/libosmocore/Makefile.am b/libosmocore/Makefile.am index 6bda10a1c..8007b7458 100644 --- a/libosmocore/Makefile.am +++ b/libosmocore/Makefile.am @@ -1,7 +1,7 @@ AUTOMAKE_OPTIONS = foreign dist-bzip2 1.6 INCLUDES = $(all_includes) -I$(top_srcdir)/include -SUBDIRS = include src +SUBDIRS = include src tests pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libosmocore.pc diff --git a/libosmocore/configure.in b/libosmocore/configure.in index 8c0fe6727..d9fa6e810 100644 --- a/libosmocore/configure.in +++ b/libosmocore/configure.in @@ -34,4 +34,7 @@ AC_OUTPUT( include/osmocore/Makefile include/Makefile src/Makefile + tests/Makefile + tests/timer/Makefile + tests/sms/Makefile Makefile) diff --git a/libosmocore/include/osmocore/Makefile.am b/libosmocore/include/osmocore/Makefile.am index aec27d19c..189c7676d 100644 --- a/libosmocore/include/osmocore/Makefile.am +++ b/libosmocore/include/osmocore/Makefile.am @@ -1,2 +1,4 @@ -pkginclude_HEADERS = signal.h linuxlist.h timer.h talloc.h msgb.h select.h \ - tlv.h bitvec.h comp128.h statistics.h gsm_utils.h +osmocore_HEADERS = signal.h linuxlist.h timer.h talloc.h msgb.h select.h \ + tlv.h bitvec.h comp128.h statistics.h gsm_utils.h utils.h + +osmocoredir = $(includedir)/osmocore diff --git a/libosmocore/libosmocore.pc.in b/libosmocore/libosmocore.pc.in index 0d09cb823..7c298693a 100644 --- a/libosmocore/libosmocore.pc.in +++ b/libosmocore/libosmocore.pc.in @@ -1,4 +1,5 @@ -prefix=@exec_prefix@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ diff --git a/libosmocore/tests/Makefile.am b/libosmocore/tests/Makefile.am new file mode 100644 index 000000000..56e8b6f64 --- /dev/null +++ b/libosmocore/tests/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = timer sms diff --git a/libosmocore/tests/sms/Makefile.am b/libosmocore/tests/sms/Makefile.am new file mode 100644 index 000000000..a8f1ff6a2 --- /dev/null +++ b/libosmocore/tests/sms/Makefile.am @@ -0,0 +1,5 @@ +INCLUDES = $(all_includes) -I$(top_srcdir)/include +noinst_PROGRAMS = sms_test + +sms_test_SOURCES = sms_test.c +sms_test_LDADD = $(top_builddir)/src/libosmocore.la diff --git a/libosmocore/tests/sms/sms_test.c b/libosmocore/tests/sms/sms_test.c new file mode 100644 index 000000000..106635ffd --- /dev/null +++ b/libosmocore/tests/sms/sms_test.c @@ -0,0 +1,47 @@ +/* + * (C) 2008 by Daniel Willmann + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + printf("SMS testing\n"); + struct msgb *msg; + u_int8_t *sms; + u_int8_t i; + + /* test 7-bit coding/decoding */ + const char *input = "test text"; + u_int8_t length; + u_int8_t coded[256]; + char result[256]; + + length = gsm_7bit_encode(coded, input); + gsm_7bit_decode(result, coded, length); + if (strcmp(result, input) != 0) { + printf("7 Bit coding failed... life sucks\n"); + printf("Wanted: '%s' got '%s'\n", input, result); + } +} diff --git a/libosmocore/tests/timer/Makefile.am b/libosmocore/tests/timer/Makefile.am new file mode 100644 index 000000000..d3decf556 --- /dev/null +++ b/libosmocore/tests/timer/Makefile.am @@ -0,0 +1,6 @@ +INCLUDES = $(all_includes) -I$(top_srcdir)/include +noinst_PROGRAMS = timer_test + +timer_test_SOURCES = timer_test.c +timer_test_LDADD = $(top_builddir)/src/libosmocore.la + diff --git a/libosmocore/tests/timer/timer_test.c b/libosmocore/tests/timer/timer_test.c new file mode 100644 index 000000000..ec29ef048 --- /dev/null +++ b/libosmocore/tests/timer/timer_test.c @@ -0,0 +1,70 @@ +/* + * (C) 2008 by Holger Hans Peter Freyther + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include + +#include +#include + +static void timer_fired(unsigned long data); + +static struct timer_list timer_one = { + .cb = timer_fired, + .data = (void*)1, +}; + +static struct timer_list timer_two = { + .cb = timer_fired, + .data = (void*)2, +}; + +static struct timer_list timer_three = { + .cb = timer_fired, + .data = (void*)3, +}; + +static void timer_fired(unsigned long data) +{ + printf("Fired timer: %lu\n", data); + + if (data == 1) { + bsc_schedule_timer(&timer_one, 3, 0); + bsc_del_timer(&timer_two); + } else if (data == 2) { + printf("Should not be fired... bug in del_timer\n"); + } else if (data == 3) { + printf("Timer fired not registering again\n"); + } else { + printf("wtf... wrong data\n"); + } +} + +int main(int argc, char** argv) +{ + printf("Starting... timer\n"); + + bsc_schedule_timer(&timer_one, 3, 0); + bsc_schedule_timer(&timer_two, 5, 0); + bsc_schedule_timer(&timer_three, 4, 0); + + while (1) { + bsc_select_main(0); + } +} -- cgit v1.2.3