return g_string_free (result, FALSE);
}
-static gboolean
-is_readable_ptr (gpointer was_object)
-{
- static gint test_memory_fd = -1;
-
- /* First make sure this memory is still accessible */
- if (test_memory_fd < 0)
- test_memory_fd = g_open ("/dev/null", O_WRONLY, 0);
- if (write (test_memory_fd, was_object, 1) > 0)
- return TRUE;
- return (errno != EFAULT);
-}
-
-void
-egg_assertion_not_object (const char *domain,
- const char *file,
- int line,
- const char *func,
- const char *expr,
- gpointer was_object)
-{
- gchar *s;
-
- if (RUNNING_ON_VALGRIND)
- return;
-
- if (!is_readable_ptr (was_object))
- return;
-
- if (G_IS_OBJECT (was_object)) {
- s = g_strdup_printf ("assertion failed: %s is still referenced", expr);
- g_assertion_message (domain, file, line, func, s);
- g_free (s);
- }
-}
-
void
egg_assertion_message_cmpmem (const char *domain,
const char *file,
G_STRFUNC, #a "[" #na"] " #cmp " " #b "[" #nb "]", \
__p1, __n1, #cmp, __p2, __n2); } while (0)
-#define egg_assert_not_object(p) \
- (egg_assertion_not_object (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, #p, (p)))
-
-void egg_assertion_not_object (const char *domain,
- const char *file,
- int line,
- const char *func,
- const char *expr,
- gpointer was_object);
-
void egg_assertion_message_cmpmem (const char *domain, const char *file,
int line, const char *func,
const char *expr, gconstpointer arg1,
test->service = secret_service_get_sync (SECRET_SERVICE_NONE, NULL, &error);
g_assert_no_error (error);
+ g_object_add_weak_pointer (G_OBJECT (test->service), (gpointer *)&test->service);
}
static void
{
g_object_unref (test->service);
secret_service_disconnect ();
- egg_assert_not_object (test->service);
+ g_assert (test->service == NULL);
mock_service_stop ();
}
collection = secret_collection_new_for_dbus_path_sync (test->service, collection_path,
SECRET_COLLECTION_NONE, NULL, &error);
g_assert_no_error (error);
+ g_object_add_weak_pointer (G_OBJECT (collection), (gpointer *)&collection);
g_assert_cmpstr (g_dbus_proxy_get_object_path (G_DBUS_PROXY (collection)), ==, collection_path);
g_object_unref (collection);
- egg_assert_not_object (collection);
+ g_assert (collection == NULL);
}
static void
collection = secret_collection_new_for_dbus_path_finish (result, &error);
g_assert_no_error (error);
g_object_unref (result);
+ g_object_add_weak_pointer (G_OBJECT (collection), (gpointer *)&collection);
g_assert_cmpstr (g_dbus_proxy_get_object_path (G_DBUS_PROXY (collection)), ==, collection_path);
g_object_unref (collection);
- egg_assert_not_object (collection);
+ g_assert (collection == NULL);
}
static void
collection = secret_collection_create_sync (test->service, "Train", NULL,
SECRET_COLLECTION_CREATE_NONE, NULL, &error);
g_assert_no_error (error);
+ g_object_add_weak_pointer (G_OBJECT (collection), (gpointer *)&collection);
g_assert (g_str_has_prefix (g_dbus_proxy_get_object_path (G_DBUS_PROXY (collection)), "/org/freedesktop/secrets/collection"));
g_assert_cmpstr (secret_collection_get_label (collection), ==, "Train");
g_assert (secret_collection_get_locked (collection) == FALSE);
g_object_unref (collection);
- egg_assert_not_object (collection);
+ g_assert (collection == NULL);
}
static void
collection = secret_collection_create_finish (result, &error);
g_assert_no_error (error);
g_object_unref (result);
+ g_object_add_weak_pointer (G_OBJECT (collection), (gpointer *)&collection);
g_assert (g_str_has_prefix (g_dbus_proxy_get_object_path (G_DBUS_PROXY (collection)), "/org/freedesktop/secrets/collection"));
g_assert_cmpstr (secret_collection_get_label (collection), ==, "Train");
g_assert (secret_collection_get_locked (collection) == FALSE);
g_object_unref (collection);
- egg_assert_not_object (collection);
+ g_assert (collection == NULL);
}
static void
test->service = secret_service_get_sync (SECRET_SERVICE_NONE, NULL, &error);
g_assert_no_error (error);
+ g_object_add_weak_pointer (G_OBJECT (test->service), (gpointer *)&test->service);
}
static void
{
g_object_unref (test->service);
secret_service_disconnect ();
- egg_assert_not_object (test->service);
+ g_assert (test->service == NULL);
mock_service_stop ();
}
item = secret_item_create_sync (collection, &MOCK_SCHEMA, attributes, "Tunnel",
value, SECRET_ITEM_CREATE_NONE, NULL, &error);
g_assert_no_error (error);
+ g_object_add_weak_pointer (G_OBJECT (item), (gpointer *)&item);
g_hash_table_unref (attributes);
g_object_unref (collection);
g_assert (secret_item_get_locked (item) == FALSE);
g_object_unref (item);
- egg_assert_not_object (item);
+ g_assert (item == NULL);
}
static void
item = secret_item_create_finish (result, &error);
g_assert_no_error (error);
g_object_unref (result);
+ g_object_add_weak_pointer (G_OBJECT (item), (gpointer *)&item);
g_assert (g_str_has_prefix (g_dbus_proxy_get_object_path (G_DBUS_PROXY (item)), collection_path));
g_assert_cmpstr (secret_item_get_label (item), ==, "Tunnel");
g_assert (secret_item_get_locked (item) == FALSE);
g_object_unref (item);
- egg_assert_not_object (item);
+ g_assert (item == NULL);
}
static void
test->service = secret_service_get_sync (SECRET_SERVICE_NONE, NULL, &error);
g_assert_no_error (error);
+ g_object_add_weak_pointer (G_OBJECT (test->service), (gpointer *)&test->service);
}
static void
g_object_unref (test->service);
secret_service_disconnect ();
- egg_assert_not_object (test->service);
+ g_assert (test->service == NULL);
teardown_mock (test, unused);
}
test->service = secret_service_get_sync (SECRET_SERVICE_NONE, NULL, &error);
g_assert_no_error (error);
+ g_object_add_weak_pointer (G_OBJECT (test->service), (gpointer *)&test->service);
}
static void
g_object_unref (test->service);
secret_service_disconnect ();
- egg_assert_not_object (test->service);
+ g_assert (test->service == NULL);
teardown_mock (test, unused);
}
test->service = secret_service_get_sync (SECRET_SERVICE_NONE, NULL, &error);
g_assert_no_error (error);
+ g_object_add_weak_pointer (G_OBJECT (test->service), (gpointer *)&test->service);
}
static void
{
g_object_unref (test->service);
secret_service_disconnect ();
- egg_assert_not_object (test->service);
+ g_assert (test->service == NULL);
mock_service_stop ();
}
g_assert_no_error (error);
g_assert (retval != NULL);
g_variant_unref (retval);
+ g_object_add_weak_pointer (G_OBJECT (prompt), (gpointer *)&prompt);
g_assert_cmpuint (value, ==, 0);
g_source_remove (increment_id);
g_object_unref (prompt);
- egg_assert_not_object (prompt);
+ g_assert (prompt == NULL);
}
static void
g_assert_no_error (error);
g_assert (retval != NULL);
g_variant_unref (retval);
+ g_object_add_weak_pointer (G_OBJECT (prompt), (gpointer *)&prompt);
g_assert_cmpuint (value, >, 0);
g_source_remove (increment_id);
egg_test_wait_idle ();
g_object_unref (prompt);
- egg_assert_not_object (prompt);
+ g_assert (prompt == NULL);
}
static void
GVariant *retval;
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/simple");
+ g_object_add_weak_pointer (G_OBJECT (prompt), (gpointer *)&prompt);
secret_prompt_perform (prompt, 0, NULL, NULL, on_async_result, &result);
g_assert (result == NULL);
egg_test_wait_idle ();
g_object_unref (prompt);
- egg_assert_not_object (prompt);
+ g_assert (prompt == NULL);
}
static void
GVariant *retval;
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/delay");
+ g_object_add_weak_pointer (G_OBJECT (prompt), (gpointer *)&prompt);
cancellable = g_cancellable_new ();
secret_prompt_perform (prompt, 0, NULL, cancellable, on_async_result, &result);
/* Due to GDBus threading races */
egg_test_wait_until (100);
- egg_assert_not_object (prompt);
+ g_assert (prompt == NULL);
}
static void
GVariant *retval;
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/error");
+ g_object_add_weak_pointer (G_OBJECT (prompt), (gpointer *)&prompt);
retval = secret_prompt_perform_sync (prompt, 0, NULL, NULL, &error);
g_assert_error (error, G_DBUS_ERROR, G_DBUS_ERROR_NOT_SUPPORTED);
g_assert (retval == NULL);
g_object_unref (prompt);
- egg_assert_not_object (prompt);
+ g_assert (prompt == NULL);
}
static void
GVariant *retval;
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/vanish");
+ g_object_add_weak_pointer (G_OBJECT (prompt), (gpointer *)&prompt);
retval = secret_prompt_perform_sync (prompt, 0, NULL, NULL, &error);
g_assert_no_error (error);
g_assert (retval == NULL);
g_object_unref (prompt);
- egg_assert_not_object (prompt);
+ g_assert (prompt == NULL);
}
static void
GVariant *retval;
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/result");
+ g_object_add_weak_pointer (G_OBJECT (prompt), (gpointer *)&prompt);
retval = secret_prompt_perform_sync (prompt, 0, NULL, G_VARIANT_TYPE_STRING, &error);
g_assert_no_error (error);
g_variant_unref (retval);
g_object_unref (prompt);
- egg_assert_not_object (prompt);
+ g_assert (prompt == NULL);
}
static void
GVariant *retval;
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/window");
+ g_object_add_weak_pointer (G_OBJECT (prompt), (gpointer *)&prompt);
retval = secret_prompt_perform_sync (prompt, 555, NULL, G_VARIANT_TYPE_STRING, &error);
g_assert_no_error (error);
g_variant_unref (retval);
g_object_unref (prompt);
- egg_assert_not_object (prompt);
+ g_assert (prompt == NULL);
}
static void
GVariant *retval;
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/simple");
+ g_object_add_weak_pointer (G_OBJECT (prompt), (gpointer *)&prompt);
retval = secret_service_prompt_sync (test->service, prompt, NULL, NULL, &error);
g_assert_no_error (error);
g_variant_unref (retval);
g_object_unref (prompt);
- egg_assert_not_object (prompt);
+ g_assert (prompt == NULL);
}
static void
GVariant *retval;
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/simple");
+ g_object_add_weak_pointer (G_OBJECT (prompt), (gpointer *)&prompt);
secret_service_prompt (test->service, prompt, NULL, NULL, on_async_result, &result);
g_assert (result == NULL);
egg_test_wait_idle ();
g_object_unref (prompt);
- egg_assert_not_object (prompt);
+ g_assert (prompt == NULL);
}
static void
GVariant *retval;
prompt = _secret_prompt_instance (test->service, "/org/freedesktop/secrets/prompts/error");
+ g_object_add_weak_pointer (G_OBJECT (prompt), (gpointer *)&prompt);
secret_service_prompt (test->service, prompt, NULL, NULL, on_async_result, &result);
g_assert (result == NULL);
egg_test_wait_idle ();
g_object_unref (prompt);
- egg_assert_not_object (prompt);
+ g_assert (prompt == NULL);
}
static void
service2 = secret_service_get_sync (SECRET_SERVICE_NONE, NULL, &error);
g_assert_no_error (error);
+ g_object_add_weak_pointer (G_OBJECT (service2), (gpointer *)&service2);
g_assert (SECRET_IS_SERVICE (service1));
g_assert (service1 == service2);
g_object_unref (service2);
secret_service_disconnect ();
- egg_assert_not_object (service2);
+ g_assert (service2 == NULL);
/* Services were disconnected, so this should create a new one */
service3 = secret_service_get_sync (SECRET_SERVICE_NONE, NULL, &error);
g_assert (SECRET_IS_SERVICE (service3));
g_assert_no_error (error);
+ g_object_add_weak_pointer (G_OBJECT (service3), (gpointer *)&service3);
g_object_unref (service3);
secret_service_disconnect ();
- egg_assert_not_object (service3);
+ g_assert (service3 == NULL);
}
static void
service2 = secret_service_get_finish (result, &error);
g_assert_no_error (error);
g_clear_object (&result);
+ g_object_add_weak_pointer (G_OBJECT (service2), (gpointer *)&service2);
g_assert (SECRET_IS_SERVICE (service1));
g_assert (service1 == service2);
g_object_unref (service2);
secret_service_disconnect ();
- egg_assert_not_object (service2);
+ g_assert (service2 == NULL);
/* Services were unreffed, so this should create a new one */
secret_service_get (SECRET_SERVICE_NONE, NULL, on_complete_get_result, &result);
service3 = secret_service_get_finish (result, &error);
g_assert_no_error (error);
g_clear_object (&result);
+ g_object_add_weak_pointer (G_OBJECT (service3), (gpointer *)&service3);
g_object_unref (service3);
secret_service_disconnect ();
- egg_assert_not_object (service3);
+ g_assert (service3 == NULL);
}
static void
service = secret_service_get_sync (SECRET_SERVICE_NONE, NULL, &error);
g_assert_no_error (error);
+ g_object_add_weak_pointer (G_OBJECT (service), (gpointer *)&service);
g_assert_cmpuint (secret_service_get_flags (service), ==, SECRET_SERVICE_NONE);
g_object_unref (service);
secret_service_disconnect ();
- egg_assert_not_object (service);
+ g_assert (service == NULL);
}
static void
g_assert_no_error (error);
g_object_unref (result);
result = NULL;
+ g_object_add_weak_pointer (G_OBJECT (service), (gpointer *)&service);
g_assert_cmpuint (secret_service_get_flags (service), ==, SECRET_SERVICE_OPEN_SESSION | SECRET_SERVICE_LOAD_COLLECTIONS);
path = secret_service_get_session_dbus_path (service);
g_object_unref (service);
secret_service_disconnect ();
- egg_assert_not_object (service);
+ g_assert (service == NULL);
/* Now get a session with just collections */
service = secret_service_get_finish (result, &error);
g_assert_no_error (error);
g_object_unref (result);
+ g_object_add_weak_pointer (G_OBJECT (service), (gpointer *)&service);
g_assert_cmpuint (secret_service_get_flags (service), ==, SECRET_SERVICE_LOAD_COLLECTIONS);
path = secret_service_get_session_dbus_path (service);
g_object_unref (service);
secret_service_disconnect ();
- egg_assert_not_object (service);
+ g_assert (service == NULL);
}
static void
service1 = secret_service_open_sync (SECRET_TYPE_SERVICE, NULL,
SECRET_SERVICE_NONE, NULL, &error);
g_assert_no_error (error);
+ g_object_add_weak_pointer (G_OBJECT (service1), (gpointer *)&service1);
service2 = secret_service_open_sync (SECRET_TYPE_SERVICE, NULL,
SECRET_SERVICE_NONE, NULL, &error);
g_assert_no_error (error);
+ g_object_add_weak_pointer (G_OBJECT (service2), (gpointer *)&service2);
g_assert (SECRET_IS_SERVICE (service1));
g_assert (SECRET_IS_SERVICE (service2));
g_assert (service1 != service2);
g_object_unref (service1);
- egg_assert_not_object (service1);
+ g_assert (service1 == NULL);
g_object_unref (service2);
- egg_assert_not_object (service2);
+ g_assert (service2 == NULL);
}
static void
service1 = secret_service_open_finish (result, &error);
g_assert_no_error (error);
g_clear_object (&result);
+ g_object_add_weak_pointer (G_OBJECT (service1), (gpointer *)&service1);
secret_service_open (SECRET_TYPE_SERVICE, NULL, SECRET_SERVICE_NONE, NULL,
on_complete_get_result, &result);
service2 = secret_service_open_finish (result, &error);
g_assert_no_error (error);
g_clear_object (&result);
+ g_object_add_weak_pointer (G_OBJECT (service2), (gpointer *)&service2);
g_assert (SECRET_IS_SERVICE (service1));
g_assert (SECRET_IS_SERVICE (service2));
g_assert (service1 != service2);
g_object_unref (service1);
- egg_assert_not_object (service1);
+ g_assert (service1 == NULL);
g_object_unref (service2);
- egg_assert_not_object (service2);
+ g_assert (service2 == NULL);
}
static void
NULL, &error);
g_assert_no_error (error);
g_assert (SECRET_IS_SERVICE (service));
+ g_object_add_weak_pointer (G_OBJECT (service), (gpointer *)&service);
g_assert_cmpuint (secret_service_get_flags (service), ==, SECRET_SERVICE_NONE);
g_assert (secret_service_get_collections (service) == NULL);
g_assert (secret_service_get_session_dbus_path (service) == NULL);
g_object_unref (service);
- egg_assert_not_object (service);
+ g_assert (service == NULL);
service = secret_service_open_sync (SECRET_TYPE_SERVICE, NULL,
SECRET_SERVICE_LOAD_COLLECTIONS, NULL, &error);
g_assert_no_error (error);
g_assert (SECRET_IS_SERVICE (service));
+ g_object_add_weak_pointer (G_OBJECT (service), (gpointer *)&service);
g_assert_cmpuint (secret_service_get_flags (service), ==, SECRET_SERVICE_LOAD_COLLECTIONS);
collections = secret_service_get_collections (service);
g_assert (secret_service_get_session_dbus_path (service) == NULL);
g_object_unref (service);
- egg_assert_not_object (service);
+ g_assert (service == NULL);
service = secret_service_open_sync (SECRET_TYPE_SERVICE, NULL,
SECRET_SERVICE_OPEN_SESSION, NULL, &error);
g_assert_no_error (error);
g_assert (SECRET_IS_SERVICE (service));
+ g_object_add_weak_pointer (G_OBJECT (service), (gpointer *)&service);
g_assert_cmpuint (secret_service_get_flags (service), ==, SECRET_SERVICE_OPEN_SESSION);
g_assert (secret_service_get_collections (service) == NULL);
g_assert (path != NULL);
g_object_unref (service);
- egg_assert_not_object (service);
+ g_assert (service == NULL);
}
static void
g_assert_no_error (error);
g_object_unref (result);
result = NULL;
+ g_object_add_weak_pointer (G_OBJECT (service), (gpointer *)&service);
g_assert_cmpuint (secret_service_get_flags (service), ==, SECRET_SERVICE_OPEN_SESSION | SECRET_SERVICE_LOAD_COLLECTIONS);
path = secret_service_get_session_dbus_path (service);
g_list_free_full (collections, g_object_unref);
g_object_unref (service);
- egg_assert_not_object (service);
+ g_assert (service == NULL);
/* Now get a session with just collections */
service = secret_service_open_finish (result, &error);
g_assert_no_error (error);
g_object_unref (result);
+ g_object_add_weak_pointer (G_OBJECT (service), (gpointer *)&service);
g_assert_cmpuint (secret_service_get_flags (service), ==, SECRET_SERVICE_LOAD_COLLECTIONS);
path = secret_service_get_session_dbus_path (service);
g_list_free_full (collections, g_object_unref);
g_object_unref (service);
- egg_assert_not_object (service);
+ g_assert (service == NULL);
}
static void
g_assert (SECRET_IS_SERVICE (service));
g_assert_no_error (error);
g_object_unref (result);
+ g_object_add_weak_pointer (G_OBJECT (service), (gpointer *)&service);
path = secret_service_get_session_dbus_path (service);
g_assert (path == NULL);
g_object_unref (service);
secret_service_disconnect ();
- egg_assert_not_object (service);
+ g_assert (service == NULL);
}
static void
g_assert_no_error (error);
g_assert (SECRET_IS_SERVICE (service));
g_object_unref (result);
+ g_object_add_weak_pointer (G_OBJECT (service), (gpointer *)&service);
path = secret_service_get_session_dbus_path (service);
g_assert (path != NULL);
g_object_unref (service);
secret_service_disconnect ();
- egg_assert_not_object (service);
+ g_assert (service == NULL);
}
static void
SECRET_SERVICE_NONE, NULL, &error);
g_assert_no_error (error);
g_assert (service != NULL);
+ g_object_add_weak_pointer (G_OBJECT (service), (gpointer *)&service);
flags = secret_service_get_flags (service);
g_assert_cmpuint (flags, ==, SECRET_SERVICE_NONE);
g_assert_cmpuint (flags, ==, SECRET_SERVICE_OPEN_SESSION | SECRET_SERVICE_LOAD_COLLECTIONS);
g_object_unref (service);
- egg_assert_not_object (service);
+ g_assert (service == NULL);
}
static void
g_assert (ret == TRUE);
g_object_unref (result);
result = NULL;
+ g_object_add_weak_pointer (G_OBJECT (service), (gpointer *)&service);
flags = secret_service_get_flags (service);
g_assert_cmpuint (flags, ==, SECRET_SERVICE_OPEN_SESSION | SECRET_SERVICE_LOAD_COLLECTIONS);
g_object_unref (service);
- egg_assert_not_object (service);
+ g_assert (service == NULL);
}
int
test->service = secret_service_get_sync (SECRET_SERVICE_NONE, NULL, &error);
g_assert_no_error (error);
+ g_object_add_weak_pointer (G_OBJECT (test->service), (gpointer *)&test->service);
}
static void
{
g_object_unref (test->service);
secret_service_disconnect ();
- egg_assert_not_object (test->service);
+ g_assert (test->service == NULL);
mock_service_stop ();
}