diff options
author | Anders Carlsson <andersca@codefactory.se> | 2003-02-15 17:18:13 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@codefactory.se> | 2003-02-15 17:18:13 +0000 |
commit | 2aa38be20b015777ec6570d1e2fd7e072f5f3be9 (patch) | |
tree | e08632fff63b7edc17c47af46fb6c54a55e8960a /test | |
parent | 0c502d5bc3c1858acb78d57439767f8ef24f90fe (diff) |
2003-02-15 Anders Carlsson <andersca@codefactory.se>
* dbus/dbus-errors.c: (dbus_set_error):
* dbus/dbus-errors.h:
Add a few errors and make dbus_set_error void.
* dbus/dbus-sysdeps.c:
(_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
(write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
* dbus/dbus-sysdeps.h:
Add _dbus_spawn_async.
* test/spawn-test.c: (main):
Test for _dbus_spawn_async.
Diffstat (limited to 'test')
-rw-r--r-- | test/Makefile.am | 6 | ||||
-rw-r--r-- | test/spawn-test.c | 34 |
2 files changed, 39 insertions, 1 deletions
diff --git a/test/Makefile.am b/test/Makefile.am index ad657826..604fd3f8 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -2,7 +2,7 @@ INCLUDES=-I$(top_srcdir) $(DBUS_TEST_CFLAGS) if DBUS_BUILD_TESTS -TEST_BINARIES=echo-client echo-server unbase64 bus-test break-loader +TEST_BINARIES=echo-client echo-server unbase64 bus-test break-loader spawn-test else TEST_BINARIES= endif @@ -31,6 +31,9 @@ bus_test_SOURCES = \ break_loader_SOURCES= \ break-loader.c +spawn_test_SOURCES= \ + spawn-test.c + TEST_LIBS=$(DBUS_TEST_LIBS) $(top_builddir)/dbus/libdbus-convenience.la $(top_builddir)/dbus/libdbus-1.la echo_client_LDADD=$(TEST_LIBS) @@ -38,6 +41,7 @@ echo_server_LDADD=$(TEST_LIBS) unbase64_LDADD=$(TEST_LIBS) break_loader_LDADD= $(TEST_LIBS) bus_test_LDADD=$(TEST_LIBS) $(top_builddir)/bus/libdbus-daemon.la +spawn_test_LDADD=$(TEST_LIBS) dist-hook: \ DIRS="data data/valid-messages data/invalid-messages data/incomplete-messages data/auth" ; \ diff --git a/test/spawn-test.c b/test/spawn-test.c new file mode 100644 index 00000000..fda0309b --- /dev/null +++ b/test/spawn-test.c @@ -0,0 +1,34 @@ +#include <dbus/dbus.h> + +#define DBUS_COMPILATION /* cheat and use dbus-sysdeps */ +#include <dbus/dbus-sysdeps.h> +#undef DBUS_COMPILATION +#include <stdio.h> + +int +main (int argc, char **argv) +{ + char **argv_copy; + int i; + DBusError error; + + if (argc < 2) + { + fprintf (stderr, "You need to specify a program to launch.\n"); + + return -1; + } + + argv_copy = dbus_new (char *, argc); + for (i = 0; i < argc - 1; i++) + argv_copy [i] = argv[i + 1]; + argv_copy[argc - 1] = NULL; + + if (!_dbus_spawn_async (argv_copy, &error)) + { + fprintf (stderr, "Could not launch application: \"%s\"\n", + error.message); + } + + return 0; +} |