summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorWaldo Bastian <bastian@kde.org>2005-09-12 08:19:33 +0000
committerWaldo Bastian <bastian@kde.org>2005-09-12 08:19:33 +0000
commit8b34c2c538f182fe29af58f5153b9dd7cdbaf7fa (patch)
treefa5deb39e5b291180a67947d98607809a2a5ff59 /test
parent5e8110d79aa8c11ad76b3e77791e3e6daca0fa32 (diff)
* dbus/dbus-marshal-validate.c, doc/dbus-specification.xml,
test/Makefile.am, test/test-names.c: allow hyphens in bus names.
Diffstat (limited to 'test')
-rw-r--r--test/.cvsignore1
-rw-r--r--test/Makefile.am8
-rw-r--r--test/test-names.c79
3 files changed, 87 insertions, 1 deletions
diff --git a/test/.cvsignore b/test/.cvsignore
index 20de1a28..f7a65876 100644
--- a/test/.cvsignore
+++ b/test/.cvsignore
@@ -22,3 +22,4 @@ test-sleep-forever
decode-gcov
shell-test
test-shell-service
+test-names
diff --git a/test/Makefile.am b/test/Makefile.am
index e0a25aa4..5f904887 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -14,7 +14,7 @@ INCLUDES=-I$(top_srcdir) $(DBUS_TEST_CFLAGS)
if DBUS_BUILD_TESTS
## break-loader removed for now
-TEST_BINARIES=test-service test-shell-service shell-test spawn-test test-segfault test-exit test-sleep-forever
+TEST_BINARIES=test-service test-names test-shell-service shell-test spawn-test test-segfault test-exit test-sleep-forever
#enable stand alone make check test
TESTS=shell-test
@@ -36,6 +36,11 @@ test_service_SOURCES= \
test-utils.c \
test-utils.h
+test_names_SOURCES= \
+ test-names.c \
+ test-utils.c \
+ test-utils.h
+
##break_loader_SOURCES= \
## break-loader.c
@@ -65,6 +70,7 @@ decode_gcov_SOURCES= \
TEST_LIBS=$(DBUS_TEST_LIBS) $(top_builddir)/dbus/libdbus-convenience.la
test_service_LDADD=$(TEST_LIBS)
+test_names_LDADD=$(TEST_LIBS)
## break_loader_LDADD= $(TEST_LIBS)
test_shell_service_LDADD=$(TEST_LIBS)
shell_test_LDADD=$(TEST_LIBS)
diff --git a/test/test-names.c b/test/test-names.c
new file mode 100644
index 00000000..b29648dc
--- /dev/null
+++ b/test/test-names.c
@@ -0,0 +1,79 @@
+
+#include "test-utils.h"
+
+static DBusLoop *loop;
+
+static void
+die (const char *message)
+{
+ fprintf (stderr, "*** test-names: %s", message);
+ exit (1);
+}
+
+static void
+TestName(DBusConnection *connection, const char *name, int expectedSuccess)
+{
+ DBusError error;
+ dbus_error_init (&error);
+
+ (void) dbus_bus_request_name (connection, name, 0, &error);
+ if (dbus_error_is_set (&error))
+ {
+ if (expectedSuccess)
+ fprintf (stderr, "Error acquiring name '%s': %s\n", name, error.message);
+ else
+ fprintf (stdout, "Expected Error acquiring name '%s': %s\n", name, error.message);
+ _dbus_verbose ("*** Failed to acquire name '%s': %s\n", name,
+ error.message);
+ dbus_error_free (&error);
+ if (expectedSuccess)
+ exit (1);
+ }
+ else
+ {
+ if (!expectedSuccess)
+ fprintf (stderr, "Unexpected Success acquiring name '%s'\n", name);
+ else
+ fprintf (stdout, "Successfully acquired name '%s'\n", name);
+ _dbus_verbose ("*** Managed to acquire name '%s'\n", name);
+ if (!expectedSuccess)
+ exit (1);
+ }
+}
+
+int
+main (int argc,
+ char **argv)
+{
+ DBusError error;
+ int result;
+ DBusConnection *connection;
+
+ dbus_error_init (&error);
+ connection = dbus_bus_get (DBUS_BUS_SESSION, &error);
+ if (connection == NULL)
+ {
+ fprintf (stderr, "*** Failed to open connection to system bus: %s\n",
+ error.message);
+ dbus_error_free (&error);
+ return 1;
+ }
+
+ loop = _dbus_loop_new ();
+ if (loop == NULL)
+ die ("No memory\n");
+
+ if (!test_connection_setup (loop, connection))
+ die ("No memory\n");
+
+ TestName(connection, "org.freedesktop.DBus.Test", TRUE);
+ TestName(connection, "org.freedesktop.DBus.Test-2", TRUE);
+ TestName(connection, "org.freedesktop.DBus.Test_2", TRUE);
+#if 0
+ TestName(connection, "Test_2", TRUE);
+#endif
+
+ _dbus_verbose ("*** Test service name exiting\n");
+
+ return 0;
+}