25 #include "dbus-test.h"
26 #include "dbus-sysdeps.h"
27 #include "dbus-internals.h"
31 #ifdef DBUS_BUILD_TESTS
33 die (
const char *failure)
35 fprintf (stderr,
"Unit test failed: %s\n", failure);
44 printf (
"%s: checking for memleaks\n",
"dbus-test");
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",
"dbus-test", 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",
"dbus-test", test_name);
80 if (!test (test_data_dir))
99 dbus_internal_do_not_use_run_tests (
const char *test_data_dir,
const char *specific_test)
101 #ifdef DBUS_BUILD_TESTS
102 if (!_dbus_threads_init_debug ())
103 die (
"debug threads init");
105 if (test_data_dir ==
NULL)
108 if (test_data_dir !=
NULL)
109 printf (
"Test data in %s\n", test_data_dir);
111 printf (
"No test data!\n");
113 run_test (
"string", specific_test, _dbus_string_test);
115 run_test (
"sysdeps", specific_test, _dbus_sysdeps_test);
117 run_test (
"data-slot", specific_test, _dbus_data_slot_test);
119 run_test (
"misc", specific_test, _dbus_misc_test);
121 run_test (
"address", specific_test, _dbus_address_test);
123 run_test (
"server", specific_test, _dbus_server_test);
125 run_test (
"object-tree", specific_test, _dbus_object_tree_test);
127 run_test (
"signature", specific_test, _dbus_signature_test);
129 run_test (
"marshalling", specific_test, _dbus_marshal_test);
131 run_test (
"marshal-recursive", specific_test, _dbus_marshal_recursive_test);
133 run_test (
"byteswap", specific_test, _dbus_marshal_byteswap_test);
135 run_test (
"memory", specific_test, _dbus_memory_test);
138 run_test (
"mem-pool", specific_test, _dbus_mem_pool_test);
141 run_test (
"list", specific_test, _dbus_list_test);
143 run_test (
"marshal-validate", specific_test, _dbus_marshal_validate_test);
145 run_data_test (
"message", specific_test, _dbus_message_test, test_data_dir);
147 run_test (
"hash", specific_test, _dbus_hash_test);
149 #if !defined(DBUS_WINCE)
150 run_data_test (
"spawn", specific_test, _dbus_spawn_test, test_data_dir);
153 run_data_test (
"credentials", specific_test, _dbus_credentials_test, test_data_dir);
156 run_data_test (
"userdb", specific_test, _dbus_userdb_test, test_data_dir);
158 run_test (
"transport-unix", specific_test, _dbus_transport_unix_test);
161 run_test (
"keyring", specific_test, _dbus_keyring_test);
163 run_data_test (
"sha", specific_test, _dbus_sha_test, test_data_dir);
165 run_data_test (
"auth", specific_test, _dbus_auth_test, test_data_dir);
167 printf (
"%s: completed successfully\n",
"dbus-test");
169 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().