summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2005-08-14 01:26:19 +0000
committerLennart Poettering <lennart@poettering.net>2005-08-14 01:26:19 +0000
commit7934ca5e102693ba02d9ca6dcdee4960f2ba1a64 (patch)
tree441d008ef53ff24f1f18630ccede9d1a80847e77
parentb789f76475170c84fce85383279aa8f683ad1ff9 (diff)
* add C++ test
* add more autoconf checks git-svn-id: file:///home/lennart/svn/public/avahi/trunk@313 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
-rw-r--r--Makefile.am3
-rw-r--r--avahi-dnsconfd/main.c1
-rw-r--r--configure.ac6
-rw-r--r--tests/Makefile.am39
-rwxr-xr-xtests/c-plus-plus-test-gen.py62
-rw-r--r--tests/c-plus-plus-test.cc60
6 files changed, 168 insertions, 3 deletions
diff --git a/Makefile.am b/Makefile.am
index 05b84bc..e23db8e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -45,7 +45,8 @@ SUBDIRS = \
avahi-dnsconfd \
avahi-utils \
examples \
- man
+ man \
+ tests
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = avahi-core.pc
diff --git a/avahi-dnsconfd/main.c b/avahi-dnsconfd/main.c
index a76aa71..7fed849 100644
--- a/avahi-dnsconfd/main.c
+++ b/avahi-dnsconfd/main.c
@@ -625,7 +625,6 @@ gint main(gint argc, gchar *argv[]) {
r = (daemon_pid_file_is_running() >= 0) ? 0 : 1;
-
finish:
if (daemonize)
diff --git a/configure.ac b/configure.ac
index 6278af6..7aa4fa4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -35,6 +35,7 @@ fi
# Checks for programs.
AC_PROG_CC
+AC_PROG_CXX
AC_GNU_SOURCE
AC_PROG_CPP
AC_PROG_INSTALL
@@ -58,7 +59,9 @@ AC_HEADER_SYS_WAIT
# Checks for library functions.
AC_FUNC_MEMCMP
AC_FUNC_SELECT_ARGTYPES
-AC_CHECK_FUNCS([gethostname memchr memmove memset mkdir select socket strchr strcspn strdup strerror strrchr strspn strstr uname setresuid setreuid])
+AC_FUNC_MALLOC
+AC_FUNC_REALLOC
+AC_CHECK_FUNCS([gethostname memchr memmove memset mkdir select socket strchr strcspn strdup strerror strrchr strspn strstr uname setresuid setreuid strcasecmp gettimeofday])
AC_FUNC_CHOWN
AC_FUNC_STAT
@@ -294,6 +297,7 @@ avahi-utils/avahi/Makefile
examples/Makefile
common/Makefile
man/Makefile
+tests/Makefile
])
AC_OUTPUT
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644
index 0000000..f300c6c
--- /dev/null
+++ b/tests/Makefile.am
@@ -0,0 +1,39 @@
+# $Id$
+#
+# This file is part of avahi.
+#
+# avahi is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# avahi 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 Lesser General Public
+# License along with avahi; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA.
+
+AM_CFLAGS= \
+ -I$(top_srcdir)
+
+# GLIB 2.0
+AM_CFLAGS+=$(GLIB20_CFLAGS)
+AM_LDADD=$(GLIB20_LIBS)
+
+noinst_PROGRAMS = \
+ c-plus-plus-test
+
+c_plus_plus_test_SOURCES = \
+ c-plus-plus-test.cc
+
+c_plus_plus_CFLAGS = $(AM_CFLAGS)
+c_plus_plus_test_LDADD = $(AM_LDADD) ../avahi-common/libavahi-common.la ../avahi-core/libavahi-core.la
+
+EXTRA_DIST=c-plus-plus-test-gen.py
+
+gen:
+ python ./c-plus-plus-test-gen.py > c-plus-plus-test.cc
diff --git a/tests/c-plus-plus-test-gen.py b/tests/c-plus-plus-test-gen.py
new file mode 100755
index 0000000..62498f5
--- /dev/null
+++ b/tests/c-plus-plus-test-gen.py
@@ -0,0 +1,62 @@
+#!/usr/bin/python
+
+# $Id$
+#
+# This file is part of avahi.
+#
+# avahi is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# avahi 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 Lesser General Public
+# License along with avahi; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA.
+
+import os
+
+def print_includes(dir):
+
+ files = os.listdir("../%s" % dir)
+ files = filter(lambda fn: fn.endswith(".h") and not fn.startswith("."), files)
+
+ for f in files:
+ print "#include <%s/%s>" % (dir, f)
+
+
+print """/* $Id$ */
+
+/***
+ This file is part of avahi.
+
+ avahi is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of the
+ License, or (at your option) any later version.
+
+ avahi 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 Lesser General
+ Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with avahi; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ USA.
+***/
+"""
+
+print_includes("avahi-common")
+print_includes("avahi-core")
+
+print """
+int main(int argc, char*argv[]) {
+ return 0;
+}
+"""
diff --git a/tests/c-plus-plus-test.cc b/tests/c-plus-plus-test.cc
new file mode 100644
index 0000000..483ff5b
--- /dev/null
+++ b/tests/c-plus-plus-test.cc
@@ -0,0 +1,60 @@
+/* $Id$ */
+
+/***
+ This file is part of avahi.
+
+ avahi is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of the
+ License, or (at your option) any later version.
+
+ avahi 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 Lesser General
+ Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with avahi; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ USA.
+***/
+
+#include <avahi-common/alternative.h>
+#include <avahi-common/defs.h>
+#include <avahi-common/timeval.h>
+#include <avahi-common/watch.h>
+#include <avahi-common/malloc.h>
+#include <avahi-common/address.h>
+#include <avahi-common/simple-watch.h>
+#include <avahi-common/llist.h>
+#include <avahi-common/error.h>
+#include <avahi-common/domain.h>
+#include <avahi-common/gccmacro.h>
+#include <avahi-common/dbus.h>
+#include <avahi-common/cdecl.h>
+#include <avahi-common/strlst.h>
+#include <avahi-core/prioq.h>
+#include <avahi-core/cache.h>
+#include <avahi-core/rr.h>
+#include <avahi-core/hashmap.h>
+#include <avahi-core/util.h>
+#include <avahi-core/socket.h>
+#include <avahi-core/response-sched.h>
+#include <avahi-core/browse.h>
+#include <avahi-core/rrlist.h>
+#include <avahi-core/query-sched.h>
+#include <avahi-core/core.h>
+#include <avahi-core/probe-sched.h>
+#include <avahi-core/server.h>
+#include <avahi-core/dns.h>
+#include <avahi-core/timeeventq.h>
+#include <avahi-core/iface.h>
+#include <avahi-core/announce.h>
+#include <avahi-core/netlink.h>
+#include <avahi-core/log.h>
+#include <avahi-core/fdutil.h>
+
+int main(int argc, char*argv[]) {
+ return 0;
+}
+