This will make it possible to unify the wrapper code that runs them.
I'm using a plain C string rather than a DBusString to make it
more straightforward to carve out tests into their own executables.
Signed-off-by: Simon McVittie <smcv@collabora.com>
}
dbus_bool_t
-bus_activation_service_reload_test (const DBusString *test_data_dir)
+bus_activation_service_reload_test (const char *test_data_dir_cstr)
{
+ DBusString test_data_dir;
DBusString directory;
const char *tmp;
dbus_bool_t ret = FALSE;
+ _dbus_string_init_const (&test_data_dir, test_data_dir_cstr);
+
if (!_dbus_string_init (&directory))
return FALSE;
if (!init_service_reload_test (&directory))
_dbus_test_fatal ("could not initiate service reload test");
- if (!do_service_reload_test (test_data_dir, &directory, FALSE))
+ if (!do_service_reload_test (&test_data_dir, &directory, FALSE))
{
/* Do nothing? */
}
if (!init_service_reload_test (&directory))
_dbus_test_fatal ("could not initiate service reload test");
- if (!do_service_reload_test (test_data_dir, &directory, TRUE))
+ if (!do_service_reload_test (&test_data_dir, &directory, TRUE))
{
/* Do nothing? */
}
}
dbus_bool_t
-bus_config_parser_trivial_test (const DBusString *test_data_dir)
+bus_config_parser_trivial_test (const char *test_data_dir_cstr)
{
+ DBusString test_data_dir;
DBusString full_path;
dbus_bool_t retval;
retval = FALSE;
- if (test_data_dir == NULL ||
- _dbus_string_get_length (test_data_dir) == 0)
+ if (test_data_dir_cstr == NULL || test_data_dir_cstr[0] == '\0')
{
_dbus_test_diag ("No test data");
return TRUE;
}
-
+
+ _dbus_string_init_const (&test_data_dir, test_data_dir_cstr);
+
/* We already test default_session_servicedirs and default_system_servicedirs
* in bus_config_parser_test() */
- if (!process_test_valid_subdir (test_data_dir, "valid-config-files", VALID))
+ if (!process_test_valid_subdir (&test_data_dir, "valid-config-files",
+ VALID))
goto finish;
#ifndef DBUS_WIN
/* We already test default_session_servicedirs and default_system_servicedirs
* in bus_config_parser_test() */
- if (!process_test_valid_subdir (test_data_dir, "valid-config-files-system", VALID))
+ if (!process_test_valid_subdir (&test_data_dir,
+ "valid-config-files-system", VALID))
goto finish;
#endif
/* we don't process all the invalid files, as the trivial parser can't hope
* to validate them all for all different syntaxes. We just check one broken
* file to see if junk is received */
- if (!make_full_path (test_data_dir, "invalid-config-files", "not-well-formed.conf", &full_path))
+ if (!make_full_path (&test_data_dir, "invalid-config-files",
+ "not-well-formed.conf", &full_path))
goto finish;
if (!check_file_valid (&full_path, INVALID))
goto finish;
#ifndef DBUS_WIN
/* just test if the check_file_valid works okay and we got sane values */
- if (!make_full_path (test_data_dir, "valid-config-files-system", "system.conf", &full_path))
+ if (!make_full_path (&test_data_dir, "valid-config-files-system",
+ "system.conf", &full_path))
goto finish;
if (!check_file_valid (&full_path, VALID))
goto finish;
#endif
dbus_bool_t
-bus_config_parser_test (const DBusString *test_data_dir)
+bus_config_parser_test (const char *test_data_dir_cstr)
{
- if (test_data_dir == NULL ||
- _dbus_string_get_length (test_data_dir) == 0)
+ DBusString test_data_dir;
+
+ if (test_data_dir_cstr == NULL || test_data_dir_cstr[0] == '\0')
{
_dbus_test_diag ("No test data");
return TRUE;
}
- if (!test_default_session_servicedirs (test_data_dir))
+ _dbus_string_init_const (&test_data_dir, test_data_dir_cstr);
+
+ if (!test_default_session_servicedirs (&test_data_dir))
return FALSE;
#ifdef DBUS_WIN
return FALSE;
#endif
- if (!process_test_valid_subdir (test_data_dir, "valid-config-files", VALID))
+ if (!process_test_valid_subdir (&test_data_dir, "valid-config-files",
+ VALID))
return FALSE;
#ifndef DBUS_WIN
- if (!process_test_valid_subdir (test_data_dir, "valid-config-files-system", VALID))
+ if (!process_test_valid_subdir (&test_data_dir,
+ "valid-config-files-system", VALID))
return FALSE;
#endif
- if (!process_test_valid_subdir (test_data_dir, "invalid-config-files", INVALID))
+ if (!process_test_valid_subdir (&test_data_dir, "invalid-config-files",
+ INVALID))
return FALSE;
- if (!process_test_equiv_subdir (test_data_dir, "equiv-config-files"))
+ if (!process_test_equiv_subdir (&test_data_dir, "equiv-config-files"))
return FALSE;
return TRUE;
#endif
dbus_bool_t
-bus_dispatch_test (const DBusString *test_data_dir)
+bus_dispatch_test (const char *test_data_dir_cstr)
{
+ DBusString test_data_dir;
+
+ _dbus_string_init_const (&test_data_dir, test_data_dir_cstr);
+
/* run normal activation tests */
_dbus_verbose ("Normal activation tests\n");
- if (!bus_dispatch_test_conf (test_data_dir,
+ if (!bus_dispatch_test_conf (&test_data_dir,
"valid-config-files/debug-allow-all.conf", FALSE))
return FALSE;
#ifndef DBUS_WIN
/* run launch-helper activation tests */
_dbus_verbose ("Launch helper activation tests\n");
- if (!bus_dispatch_test_conf (test_data_dir,
+ if (!bus_dispatch_test_conf (&test_data_dir,
"valid-config-files-system/debug-allow-all-pass.conf", TRUE))
return FALSE;
/* run select launch-helper activation tests on broken service files */
- if (!bus_dispatch_test_conf_fail (test_data_dir,
+ if (!bus_dispatch_test_conf_fail (&test_data_dir,
"valid-config-files-system/debug-allow-all-fail.conf"))
return FALSE;
#endif
}
dbus_bool_t
-bus_dispatch_sha1_test (const DBusString *test_data_dir)
+bus_dispatch_sha1_test (const char *test_data_dir_cstr)
{
+ DBusString test_data_dir;
BusContext *context;
DBusConnection *foo;
DBusError error;
+ _dbus_string_init_const (&test_data_dir, test_data_dir_cstr);
dbus_error_init (&error);
/* Test SHA1 authentication */
_dbus_verbose ("Testing SHA1 context\n");
- context = bus_context_new_test (test_data_dir,
+ context = bus_context_new_test (&test_data_dir,
"valid-config-files/debug-allow-all-sha1.conf");
if (context == NULL)
return FALSE;
#ifdef HAVE_UNIX_FD_PASSING
dbus_bool_t
-bus_unix_fds_passing_test(const DBusString *test_data_dir)
+bus_unix_fds_passing_test (const char *test_data_dir_cstr)
{
+ DBusString test_data_dir;
BusContext *context;
DBusConnection *foo, *bar;
DBusError error;
int x, y, z;
char r;
+ _dbus_string_init_const (&test_data_dir, test_data_dir_cstr);
dbus_error_init (&error);
- context = bus_context_new_test (test_data_dir, "valid-config-files/debug-allow-all.conf");
+ context = bus_context_new_test (&test_data_dir,
+ "valid-config-files/debug-allow-all.conf");
if (context == NULL)
_dbus_test_fatal ("could not alloc context");
}
dbus_bool_t
-bus_expire_list_test (const DBusString *test_data_dir)
+bus_expire_list_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
DBusLoop *loop;
BusExpireList *list;
}
dbus_bool_t
-bus_signals_test (const DBusString *test_data_dir)
+bus_signals_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
BusMatchmaker *matchmaker;
static const char *only;
static DBusInitialFDs *initial_fds = NULL;
-static DBusString test_data_dir;
static void
test_pre_hook (void)
static void
test_one (const char *name,
- dbus_bool_t (*func) (const DBusString *))
+ dbus_bool_t (*func) (const char *),
+ const char *test_data_dir)
{
if (only != NULL && strcmp (only, name) != 0)
{
test_pre_hook ();
- if (func (&test_data_dir))
+ if (func (test_data_dir))
_dbus_test_ok ("%s", name);
else
_dbus_test_not_ok ("%s", name);
if (dir == NULL)
_dbus_test_fatal ("Must specify test data directory as argv[1] or in DBUS_TEST_DATA env variable");
- _dbus_string_init_const (&test_data_dir, dir);
-
#ifdef DBUS_UNIX
/* close any inherited fds so dbus-spawn's check for close-on-exec works */
_dbus_close_all ();
#endif
- test_one ("expire-list", bus_expire_list_test);
- test_one ("config-parser", bus_config_parser_test);
- test_one ("signals", bus_signals_test);
- test_one ("dispatch-sha1", bus_dispatch_sha1_test);
- test_one ("dispatch", bus_dispatch_test);
- test_one ("activation-service-reload", bus_activation_service_reload_test);
+ test_one ("expire-list", bus_expire_list_test, dir);
+ test_one ("config-parser", bus_config_parser_test, dir);
+ test_one ("signals", bus_signals_test, dir);
+ test_one ("dispatch-sha1", bus_dispatch_sha1_test, dir);
+ test_one ("dispatch", bus_dispatch_test, dir);
+ test_one ("activation-service-reload",
+ bus_activation_service_reload_test, dir);
#ifdef HAVE_UNIX_FD_PASSING
- test_one ("unix-fds-passing", bus_unix_fds_passing_test);
+ test_one ("unix-fds-passing", bus_unix_fds_passing_test, dir);
#else
_dbus_test_skip ("fd-passing not supported on this platform");
#endif
main (int argc, char **argv)
{
const char *dir;
- DBusString test_data_dir;
progname = argv[0];
if (dir == NULL)
_dbus_test_fatal ("Must specify test data directory as argv[1] or in DBUS_TEST_DATA env variable");
- _dbus_string_init_const (&test_data_dir, dir);
-
test_pre_hook ();
_dbus_test_diag ("%s: Running config file parser (trivial) test", argv[0]);
- if (!bus_config_parser_trivial_test (&test_data_dir))
+ if (!bus_config_parser_trivial_test (dir))
_dbus_test_fatal ("OOM creating parser");
/* All failure modes for this test are currently fatal */
typedef dbus_bool_t (* BusConnectionForeachFunction) (DBusConnection *connection,
void *data);
-dbus_bool_t bus_dispatch_test (const DBusString *test_data_dir);
-dbus_bool_t bus_dispatch_sha1_test (const DBusString *test_data_dir);
-dbus_bool_t bus_config_parser_test (const DBusString *test_data_dir);
-dbus_bool_t bus_config_parser_trivial_test (const DBusString *test_data_dir);
-dbus_bool_t bus_signals_test (const DBusString *test_data_dir);
-dbus_bool_t bus_expire_list_test (const DBusString *test_data_dir);
-dbus_bool_t bus_activation_service_reload_test (const DBusString *test_data_dir);
+dbus_bool_t bus_dispatch_test (const char *test_data_dir_cstr);
+dbus_bool_t bus_dispatch_sha1_test (const char *test_data_dir_cstr);
+dbus_bool_t bus_config_parser_test (const char *test_data_dir_cstr);
+dbus_bool_t bus_config_parser_trivial_test (const char *test_data_dir_cstr);
+dbus_bool_t bus_signals_test (const char *test_data_dir);
+dbus_bool_t bus_expire_list_test (const char *test_data_dir);
+dbus_bool_t bus_activation_service_reload_test (const char *test_data_dir_cstr);
dbus_bool_t bus_setup_debug_client (DBusConnection *connection);
void bus_test_clients_foreach (BusConnectionForeachFunction function,
void *data);
const char *filename);
#ifdef HAVE_UNIX_FD_PASSING
-dbus_bool_t bus_unix_fds_passing_test (const DBusString *test_data_dir);
+dbus_bool_t bus_unix_fds_passing_test (const char *test_data_dir_cstr);
#endif
#endif
};
dbus_bool_t
-_dbus_address_test (void)
+_dbus_address_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
DBusAddressEntry **entries;
int len;
* Test function for data slots
*/
dbus_bool_t
-_dbus_data_slot_test (void)
+_dbus_data_slot_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
DBusDataSlotAllocator allocator;
DBusDataSlotList list;
* @returns #TRUE on success.
*/
dbus_bool_t
-_dbus_hash_test (void)
+_dbus_hash_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
int i;
DBusHashTable *table1;
#include <stdio.h>
dbus_bool_t
-_dbus_keyring_test (void)
+_dbus_keyring_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
DBusString context;
DBusKeyring *ring1;
* @returns #TRUE on success.
*/
dbus_bool_t
-_dbus_list_test (void)
+_dbus_list_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
DBusList *list1;
DBusList *list2;
} while (0)
dbus_bool_t
-_dbus_marshal_test (void)
+_dbus_marshal_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
int alignment;
DBusString str;
}
dbus_bool_t
-_dbus_marshal_byteswap_test (void)
+_dbus_marshal_byteswap_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
do_byteswap_test (DBUS_LITTLE_ENDIAN);
do_byteswap_test (DBUS_BIG_ENDIAN);
}
dbus_bool_t
-_dbus_marshal_recursive_test (void)
+_dbus_marshal_recursive_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
make_and_run_test_nodes ();
};
dbus_bool_t
-_dbus_marshal_validate_test (void)
+_dbus_marshal_validate_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
DBusString str;
int i;
* @returns #TRUE on success.
*/
dbus_bool_t
-_dbus_memory_test (void)
+_dbus_memory_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
dbus_bool_t old_guards;
void *p;
* @returns #TRUE on success.
*/
dbus_bool_t
-_dbus_mem_pool_test (void)
+_dbus_mem_pool_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
int i;
int element_sizes[] = { 4, 8, 16, 50, 124 };
* @returns #TRUE on success.
*/
dbus_bool_t
-_dbus_message_test (const char *test_data_dir)
+_dbus_message_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
DBusMessage *message, *message_without_unix_fds;
DBusMessageLoader *loader;
dbus_bool_t
-_dbus_misc_test (void)
+_dbus_misc_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
int major, minor, micro;
DBusString str;
* @returns #TRUE on success.
*/
dbus_bool_t
-_dbus_object_tree_test (void)
+_dbus_object_tree_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
return _dbus_test_oom_handling ("object tree",
object_tree_test_iteration,
#include <string.h>
dbus_bool_t
-_dbus_server_test (void)
+_dbus_server_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
const char *valid_addresses[] = {
"tcp:port=1234",
* @returns #TRUE on success.
*/
dbus_bool_t
-_dbus_signature_test (void)
+_dbus_signature_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
DBusSignatureIter iter;
DBusSignatureIter subiter;
* @returns #TRUE on success.
*/
dbus_bool_t
-_dbus_string_test (void)
+_dbus_string_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
DBusString str = _DBUS_STRING_INIT_INVALID;
DBusString other;
* @returns #TRUE on success.
*/
dbus_bool_t
-_dbus_sysdeps_test (void)
+_dbus_sysdeps_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
#ifdef DBUS_WIN
check_dirname ("foo\\bar", "foo");
#include <stdlib.h>
#ifdef DBUS_ENABLE_EMBEDDED_TESTS
-typedef dbus_bool_t (*TestFunc)(void);
typedef dbus_bool_t (*TestDataFunc)(const char *data);
-static void
-run_test (const char *test_name,
- const char *specific_test,
- TestFunc test)
-{
- if (specific_test != NULL && strcmp (specific_test, test_name) != 0)
- {
- _dbus_test_skip ("%s - Only intending to run %s", test_name, specific_test);
- return;
- }
-
- _dbus_test_diag ("%s: running %s tests", "test-dbus", test_name);
-
- if (test ())
- _dbus_test_ok ("%s", test_name);
- else
- _dbus_test_not_ok ("%s", test_name);
-
- _dbus_test_check_memleaks (test_name);
-}
-
static void
run_data_test (const char *test_name,
const char *specific_test,
else
_dbus_test_diag ("No test data!");
- run_test ("string", specific_test, _dbus_string_test);
-
- run_test ("sysdeps", specific_test, _dbus_sysdeps_test);
-
- run_test ("data-slot", specific_test, _dbus_data_slot_test);
-
- run_test ("misc", specific_test, _dbus_misc_test);
-
- run_test ("address", specific_test, _dbus_address_test);
-
- run_test ("server", specific_test, _dbus_server_test);
-
- run_test ("object-tree", specific_test, _dbus_object_tree_test);
-
- run_test ("signature", specific_test, _dbus_signature_test);
-
- run_test ("marshalling", specific_test, _dbus_marshal_test);
-
- run_test ("marshal-recursive", specific_test, _dbus_marshal_recursive_test);
-
- run_test ("byteswap", specific_test, _dbus_marshal_byteswap_test);
-
- run_test ("memory", specific_test, _dbus_memory_test);
-
-#if 1
- run_test ("mem-pool", specific_test, _dbus_mem_pool_test);
-#endif
-
- run_test ("list", specific_test, _dbus_list_test);
-
- run_test ("marshal-validate", specific_test, _dbus_marshal_validate_test);
-
+ run_data_test ("string", specific_test, _dbus_string_test,
+ test_data_dir);
+ run_data_test ("sysdeps", specific_test, _dbus_sysdeps_test,
+ test_data_dir);
+ run_data_test ("data-slot", specific_test, _dbus_data_slot_test,
+ test_data_dir);
+ run_data_test ("misc", specific_test, _dbus_misc_test, test_data_dir);
+ run_data_test ("address", specific_test, _dbus_address_test,
+ test_data_dir);
+ run_data_test ("server", specific_test, _dbus_server_test,
+ test_data_dir);
+ run_data_test ("object-tree", specific_test, _dbus_object_tree_test,
+ test_data_dir);
+ run_data_test ("signature", specific_test, _dbus_signature_test,
+ test_data_dir);
+ run_data_test ("marshalling", specific_test, _dbus_marshal_test,
+ test_data_dir);
+ run_data_test ("marshal-recursive", specific_test,
+ _dbus_marshal_recursive_test, test_data_dir);
+ run_data_test ("byteswap", specific_test, _dbus_marshal_byteswap_test,
+ test_data_dir);
+ run_data_test ("memory", specific_test, _dbus_memory_test,
+ test_data_dir);
+ run_data_test ("mem-pool", specific_test, _dbus_mem_pool_test,
+ test_data_dir);
+ run_data_test ("list", specific_test, _dbus_list_test, test_data_dir);
+ run_data_test ("marshal-validate", specific_test,
+ _dbus_marshal_validate_test, test_data_dir);
run_data_test ("message", specific_test, _dbus_message_test, test_data_dir);
-
- run_test ("hash", specific_test, _dbus_hash_test);
+ run_data_test ("hash", specific_test, _dbus_hash_test, test_data_dir);
#if !defined(DBUS_WINCE)
run_data_test ("spawn", specific_test, _dbus_spawn_test, test_data_dir);
#ifdef DBUS_UNIX
run_data_test ("userdb", specific_test, _dbus_userdb_test, test_data_dir);
- run_test ("transport-unix", specific_test, _dbus_transport_unix_test);
+ run_data_test ("transport-unix", specific_test,
+ _dbus_transport_unix_test, test_data_dir);
#endif
- run_test ("keyring", specific_test, _dbus_keyring_test);
-
+ run_data_test ("keyring", specific_test, _dbus_keyring_test,
+ test_data_dir);
run_data_test ("sha", specific_test, _dbus_sha_test, test_data_dir);
-
run_data_test ("auth", specific_test, _dbus_auth_test, test_data_dir);
}
*/
DBUS_PRIVATE_EXPORT
-dbus_bool_t _dbus_hash_test (void);
+dbus_bool_t _dbus_hash_test (const char *test_data_dir);
DBUS_PRIVATE_EXPORT
-dbus_bool_t _dbus_list_test (void);
+dbus_bool_t _dbus_list_test (const char *test_data_dir);
DBUS_PRIVATE_EXPORT
-dbus_bool_t _dbus_marshal_test (void);
+dbus_bool_t _dbus_marshal_test (const char *test_data_dir);
-dbus_bool_t _dbus_marshal_recursive_test (void);
-dbus_bool_t _dbus_marshal_byteswap_test (void);
-dbus_bool_t _dbus_marshal_validate_test (void);
+dbus_bool_t _dbus_marshal_recursive_test (const char *test_data_dir);
+dbus_bool_t _dbus_marshal_byteswap_test (const char *test_data_dir);
+dbus_bool_t _dbus_marshal_validate_test (const char *test_data_dir);
DBUS_PRIVATE_EXPORT
-dbus_bool_t _dbus_misc_test (void);
+dbus_bool_t _dbus_misc_test (const char *test_data_dir);
DBUS_PRIVATE_EXPORT
-dbus_bool_t _dbus_signature_test (void);
+dbus_bool_t _dbus_signature_test (const char *test_data_dir);
DBUS_PRIVATE_EXPORT
-dbus_bool_t _dbus_mem_pool_test (void);
+dbus_bool_t _dbus_mem_pool_test (const char *test_data_dir);
-dbus_bool_t _dbus_string_test (void);
+dbus_bool_t _dbus_string_test (const char *test_data_dir);
DBUS_PRIVATE_EXPORT
-dbus_bool_t _dbus_address_test (void);
+dbus_bool_t _dbus_address_test (const char *test_data_dir);
DBUS_PRIVATE_EXPORT
-dbus_bool_t _dbus_server_test (void);
+dbus_bool_t _dbus_server_test (const char *test_data_dir);
dbus_bool_t _dbus_message_test (const char *test_data_dir);
dbus_bool_t _dbus_auth_test (const char *test_data_dir);
dbus_bool_t _dbus_sha_test (const char *test_data_dir);
DBUS_PRIVATE_EXPORT
-dbus_bool_t _dbus_keyring_test (void);
+dbus_bool_t _dbus_keyring_test (const char *test_data_dir);
DBUS_PRIVATE_EXPORT
-dbus_bool_t _dbus_data_slot_test (void);
+dbus_bool_t _dbus_data_slot_test (const char *test_data_dir);
-dbus_bool_t _dbus_sysdeps_test (void);
+dbus_bool_t _dbus_sysdeps_test (const char *test_data_dir);
dbus_bool_t _dbus_spawn_test (const char *test_data_dir);
DBUS_PRIVATE_EXPORT
dbus_bool_t _dbus_userdb_test (const char *test_data_dir);
DBUS_PRIVATE_EXPORT
-dbus_bool_t _dbus_transport_unix_test (void);
+dbus_bool_t _dbus_transport_unix_test (const char *test_data_dir);
DBUS_PRIVATE_EXPORT
-dbus_bool_t _dbus_memory_test (void);
+dbus_bool_t _dbus_memory_test (const char *test_data_dir);
DBUS_PRIVATE_EXPORT
-dbus_bool_t _dbus_object_tree_test (void);
+dbus_bool_t _dbus_object_tree_test (const char *test_data_dir);
dbus_bool_t _dbus_credentials_test (const char *test_data_dir);
#ifdef DBUS_ENABLE_EMBEDDED_TESTS
dbus_bool_t
-_dbus_transport_unix_test (void)
+_dbus_transport_unix_test (const char *test_data_dir _DBUS_GNUC_UNUSED)
{
DBusConnection *c;
DBusError error;