25 #include "dbus-test.h"
26 #include "dbus-sysdeps.h"
27 #include "dbus-internals.h"
31 #ifdef DBUS_ENABLE_EMBEDDED_TESTS
33 die (
const char *failure)
35 fprintf (stderr,
"Unit test failed: %s\n", failure);
44 printf (
"%s: checking for memleaks\n",
"test-dbus");
45 if (_dbus_get_malloc_blocks_outstanding () != 0)
47 _dbus_warn (
"%d dbus_malloc blocks were not freed\n",
48 _dbus_get_malloc_blocks_outstanding ());
54 typedef dbus_bool_t (*TestDataFunc)(
const char *data);
57 run_test (
const char *test_name,
58 const char *specific_test,
61 if (!specific_test || strcmp (specific_test, test_name) == 0)
63 printf (
"%s: running %s tests\n",
"test-dbus", test_name);
72 run_data_test (
const char *test_name,
73 const char *specific_test,
75 const char *test_data_dir)
77 if (!specific_test || strcmp (specific_test, test_name) == 0)
79 printf (
"%s: running %s tests\n",
"test-dbus", test_name);
80 if (!test (test_data_dir))
100 dbus_internal_do_not_use_run_tests (
const char *test_data_dir,
const char *specific_test)
102 #ifdef DBUS_ENABLE_EMBEDDED_TESTS
103 if (!_dbus_threads_init_debug ())
104 die (
"debug threads init");
106 if (test_data_dir ==
NULL)
109 if (test_data_dir !=
NULL)
110 printf (
"Test data in %s\n", test_data_dir);
112 printf (
"No test data!\n");
114 run_test (
"string", specific_test, _dbus_string_test);
116 run_test (
"sysdeps", specific_test, _dbus_sysdeps_test);
118 run_test (
"data-slot", specific_test, _dbus_data_slot_test);
120 run_test (
"misc", specific_test, _dbus_misc_test);
122 run_test (
"address", specific_test, _dbus_address_test);
124 run_test (
"server", specific_test, _dbus_server_test);
126 run_test (
"object-tree", specific_test, _dbus_object_tree_test);
128 run_test (
"signature", specific_test, _dbus_signature_test);
130 run_test (
"marshalling", specific_test, _dbus_marshal_test);
132 run_test (
"marshal-recursive", specific_test, _dbus_marshal_recursive_test);
134 run_test (
"byteswap", specific_test, _dbus_marshal_byteswap_test);
136 run_test (
"memory", specific_test, _dbus_memory_test);
139 run_test (
"mem-pool", specific_test, _dbus_mem_pool_test);
142 run_test (
"list", specific_test, _dbus_list_test);
144 run_test (
"marshal-validate", specific_test, _dbus_marshal_validate_test);
146 run_data_test (
"message", specific_test, _dbus_message_test, test_data_dir);
148 run_test (
"hash", specific_test, _dbus_hash_test);
150 #if !defined(DBUS_WINCE)
151 run_data_test (
"spawn", specific_test, _dbus_spawn_test, test_data_dir);
154 run_data_test (
"credentials", specific_test, _dbus_credentials_test, test_data_dir);
157 run_data_test (
"userdb", specific_test, _dbus_userdb_test, test_data_dir);
159 run_test (
"transport-unix", specific_test, _dbus_transport_unix_test);
162 run_test (
"keyring", specific_test, _dbus_keyring_test);
164 run_data_test (
"sha", specific_test, _dbus_sha_test, test_data_dir);
166 run_data_test (
"auth", specific_test, _dbus_auth_test, test_data_dir);
168 printf (
"%s: completed successfully\n",
"test-dbus");
170 printf (
"Not compiled with unit tests, not running any\n");
#define NULL
A null pointer, defined appropriately for C or C++.
const char * _dbus_getenv(const char *varname)
Wrapper for getenv().
dbus_uint32_t dbus_bool_t
A boolean, valid values are TRUE and FALSE.
void _dbus_warn(const char *format,...)
Prints a warning message to stderr.
void dbus_shutdown(void)
Frees all memory allocated internally by libdbus and reverses the effects of dbus_threads_init().