summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <smcv@collabora.com>2017-11-21 11:59:20 +0000
committerSimon McVittie <smcv@collabora.com>2017-11-24 12:19:12 +0000
commit9baff7044e58fa70f89737b632960cfc3f5efbdf (patch)
tree61e6497933649ad88579e66140603dde5ceee6ff
parentdaf9b7dab99308d2925b3527ea7d1d519c850f78 (diff)
downloaddbus-9baff7044e58fa70f89737b632960cfc3f5efbdf.tar.gz
tests: Don't use the same variable for call and reply
It seemed like a nice idea at the time, but I now think it's more confusing than it's worth. Signed-off-by: Simon McVittie <smcv@collabora.com> Reviewed-by: Philip Withnall <withnall@endlessm.com> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=103600
-rw-r--r--test/dbus-daemon.c225
-rw-r--r--test/monitor.c102
-rw-r--r--test/sd-activation.c53
-rw-r--r--test/uid-permissions.c50
4 files changed, 205 insertions, 225 deletions
diff --git a/test/dbus-daemon.c b/test/dbus-daemon.c
index ce8edc82..8d6d65dd 100644
--- a/test/dbus-daemon.c
+++ b/test/dbus-daemon.c
@@ -385,6 +385,7 @@ test_creds (Fixture *f,
const char *unique = dbus_bus_get_unique_name (f->left_conn);
DBusMessage *m = dbus_message_new_method_call (DBUS_SERVICE_DBUS,
DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS, "GetConnectionCredentials");
+ DBusMessage *reply = NULL;
DBusPendingCall *pc;
DBusMessageIter args_iter;
DBusMessageIter arr_iter;
@@ -410,20 +411,18 @@ test_creds (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- g_assert_cmpstr (dbus_message_get_signature (m), ==, "a{sv}");
+ g_assert_cmpstr (dbus_message_get_signature (reply), ==, "a{sv}");
- dbus_message_iter_init (m, &args_iter);
+ dbus_message_iter_init (reply, &args_iter);
g_assert_cmpuint (dbus_message_iter_get_arg_type (&args_iter), ==,
DBUS_TYPE_ARRAY);
g_assert_cmpuint (dbus_message_iter_get_element_type (&args_iter), ==,
@@ -535,6 +534,7 @@ test_creds (Fixture *f,
g_assert (seen & SEEN_WINDOWS_SID);
#endif
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
}
@@ -546,6 +546,7 @@ test_processid (Fixture *f,
const char *unique = dbus_bus_get_unique_name (f->left_conn);
DBusMessage *m = dbus_message_new_method_call (DBUS_SERVICE_DBUS,
DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS, "GetConnectionUnixProcessID");
+ DBusMessage *reply = NULL;
DBusPendingCall *pc;
DBusError error = DBUS_ERROR_INIT;
guint32 pid;
@@ -563,18 +564,16 @@ test_processid (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- if (dbus_set_error_from_message (&error, m))
+ if (dbus_set_error_from_message (&error, reply))
{
g_assert_cmpstr (error.name, ==, DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN);
@@ -585,11 +584,11 @@ test_processid (Fixture *f,
dbus_error_free (&error);
}
- else if (dbus_message_get_args (m, &error,
+ else if (dbus_message_get_args (reply, &error,
DBUS_TYPE_UINT32, &pid,
DBUS_TYPE_INVALID))
{
- g_assert_cmpstr (dbus_message_get_signature (m), ==, "u");
+ g_assert_cmpstr (dbus_message_get_signature (reply), ==, "u");
test_assert_no_error (&error);
g_test_message ("GetConnectionUnixProcessID returned %u", pid);
@@ -607,6 +606,7 @@ test_processid (Fixture *f,
g_error ("Unexpected error: %s: %s", error.name, error.message);
}
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
}
@@ -617,6 +617,7 @@ test_canonical_path_uae (Fixture *f,
{
DBusMessage *m = dbus_message_new_method_call (DBUS_SERVICE_DBUS,
DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS, "UpdateActivationEnvironment");
+ DBusMessage *reply = NULL;
DBusPendingCall *pc;
DBusMessageIter args_iter;
DBusMessageIter arr_iter;
@@ -637,21 +638,20 @@ test_canonical_path_uae (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
/* it succeeds */
- g_assert_cmpint (dbus_message_get_type (m), ==,
+ g_assert_cmpint (dbus_message_get_type (reply), ==,
DBUS_MESSAGE_TYPE_METHOD_RETURN);
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
@@ -675,23 +675,22 @@ test_canonical_path_uae (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
/* it fails, yielding an error message with one string argument */
- g_assert_cmpint (dbus_message_get_type (m), ==, DBUS_MESSAGE_TYPE_ERROR);
- g_assert_cmpstr (dbus_message_get_error_name (m), ==,
+ g_assert_cmpint (dbus_message_get_type (reply), ==, DBUS_MESSAGE_TYPE_ERROR);
+ g_assert_cmpstr (dbus_message_get_error_name (reply), ==,
DBUS_ERROR_ACCESS_DENIED);
- g_assert_cmpstr (dbus_message_get_signature (m), ==, "s");
+ g_assert_cmpstr (dbus_message_get_signature (reply), ==, "s");
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
}
@@ -1193,6 +1192,7 @@ test_peer_get_machine_id (Fixture *f,
char *what_i_think;
const char *what_daemon_thinks;
DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
DBusPendingCall *pc = NULL;
DBusError error = DBUS_ERROR_INIT;
@@ -1229,18 +1229,16 @@ test_peer_get_machine_id (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- if (!dbus_message_get_args (m, &error,
+ if (!dbus_message_get_args (reply, &error,
DBUS_TYPE_STRING, &what_daemon_thinks,
DBUS_TYPE_INVALID))
g_error ("%s: %s", error.name, error.message);
@@ -1249,6 +1247,7 @@ test_peer_get_machine_id (Fixture *f,
g_assert_nonnull (what_daemon_thinks);
g_assert_cmpuint (strlen (what_daemon_thinks), ==, 32);
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
dbus_free (what_i_think);
@@ -1259,6 +1258,7 @@ test_peer_ping (Fixture *f,
gconstpointer context)
{
DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
DBusPendingCall *pc = NULL;
DBusError error = DBUS_ERROR_INIT;
@@ -1274,20 +1274,19 @@ test_peer_ping (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- if (!dbus_message_get_args (m, &error, DBUS_TYPE_INVALID))
+ if (!dbus_message_get_args (reply, &error, DBUS_TYPE_INVALID))
g_error ("%s: %s", error.name, error.message);
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
}
@@ -1297,6 +1296,7 @@ test_get_invalid_path (Fixture *f,
gconstpointer context)
{
DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
DBusPendingCall *pc = NULL;
DBusError error = DBUS_ERROR_INIT;
const char *iface = DBUS_INTERFACE_DBUS;
@@ -1318,24 +1318,23 @@ test_get_invalid_path (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- if (!dbus_set_error_from_message (&error, m))
+ if (!dbus_set_error_from_message (&error, reply))
g_error ("Unexpected success");
/* That object path does not have that interface */
g_assert_cmpstr (error.name, ==, DBUS_ERROR_UNKNOWN_INTERFACE);
dbus_error_free (&error);
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
}
@@ -1345,6 +1344,7 @@ test_get_invalid_iface (Fixture *f,
gconstpointer context)
{
DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
DBusPendingCall *pc = NULL;
DBusError error = DBUS_ERROR_INIT;
const char *iface = "com.example.Nope";
@@ -1366,23 +1366,22 @@ test_get_invalid_iface (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- if (!dbus_set_error_from_message (&error, m))
+ if (!dbus_set_error_from_message (&error, reply))
g_error ("Unexpected success");
g_assert_cmpstr (error.name, ==, DBUS_ERROR_UNKNOWN_INTERFACE);
dbus_error_free (&error);
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
}
@@ -1392,6 +1391,7 @@ test_get_invalid (Fixture *f,
gconstpointer context)
{
DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
DBusPendingCall *pc = NULL;
DBusError error = DBUS_ERROR_INIT;
const char *iface = DBUS_INTERFACE_DBUS;
@@ -1413,23 +1413,22 @@ test_get_invalid (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- if (!dbus_set_error_from_message (&error, m))
+ if (!dbus_set_error_from_message (&error, reply))
g_error ("Unexpected success");
g_assert_cmpstr (error.name, ==, DBUS_ERROR_UNKNOWN_PROPERTY);
dbus_error_free (&error);
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
}
@@ -1439,6 +1438,7 @@ test_get_all_invalid_iface (Fixture *f,
gconstpointer context)
{
DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
DBusPendingCall *pc = NULL;
DBusError error = DBUS_ERROR_INIT;
const char *iface = "com.example.Nope";
@@ -1458,23 +1458,22 @@ test_get_all_invalid_iface (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- if (!dbus_set_error_from_message (&error, m))
+ if (!dbus_set_error_from_message (&error, reply))
g_error ("Unexpected success");
g_assert_cmpstr (error.name, ==, DBUS_ERROR_UNKNOWN_INTERFACE);
dbus_error_free (&error);
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
}
@@ -1484,6 +1483,7 @@ test_get_all_invalid_path (Fixture *f,
gconstpointer context)
{
DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
DBusPendingCall *pc = NULL;
DBusError error = DBUS_ERROR_INIT;
const char *iface = DBUS_INTERFACE_DBUS;
@@ -1503,24 +1503,23 @@ test_get_all_invalid_path (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- if (!dbus_set_error_from_message (&error, m))
+ if (!dbus_set_error_from_message (&error, reply))
g_error ("Unexpected success");
/* That object path does not have that interface */
g_assert_cmpstr (error.name, ==, DBUS_ERROR_UNKNOWN_INTERFACE);
dbus_error_free (&error);
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
}
@@ -1530,6 +1529,7 @@ test_set_invalid_iface (Fixture *f,
gconstpointer context)
{
DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
DBusPendingCall *pc = NULL;
DBusError error = DBUS_ERROR_INIT;
const char *iface = "com.example.Nope";
@@ -1562,23 +1562,22 @@ test_set_invalid_iface (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- if (!dbus_set_error_from_message (&error, m))
+ if (!dbus_set_error_from_message (&error, reply))
g_error ("Unexpected success");
g_assert_cmpstr (error.name, ==, DBUS_ERROR_UNKNOWN_INTERFACE);
dbus_error_free (&error);
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
}
@@ -1588,6 +1587,7 @@ test_set_invalid_path (Fixture *f,
gconstpointer context)
{
DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
DBusPendingCall *pc = NULL;
DBusError error = DBUS_ERROR_INIT;
const char *iface = DBUS_INTERFACE_DBUS;
@@ -1620,23 +1620,22 @@ test_set_invalid_path (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- if (!dbus_set_error_from_message (&error, m))
+ if (!dbus_set_error_from_message (&error, reply))
g_error ("Unexpected success");
g_assert_cmpstr (error.name, ==, DBUS_ERROR_UNKNOWN_INTERFACE);
dbus_error_free (&error);
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
}
@@ -1646,6 +1645,7 @@ test_set_invalid (Fixture *f,
gconstpointer context)
{
DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
DBusPendingCall *pc = NULL;
DBusError error = DBUS_ERROR_INIT;
const char *iface = DBUS_INTERFACE_DBUS;
@@ -1678,23 +1678,22 @@ test_set_invalid (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- if (!dbus_set_error_from_message (&error, m))
+ if (!dbus_set_error_from_message (&error, reply))
g_error ("Unexpected success");
g_assert_cmpstr (error.name, ==, DBUS_ERROR_UNKNOWN_PROPERTY);
dbus_error_free (&error);
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
}
@@ -1704,6 +1703,7 @@ test_set (Fixture *f,
gconstpointer context)
{
DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
DBusPendingCall *pc = NULL;
DBusError error = DBUS_ERROR_INIT;
const char *iface = DBUS_INTERFACE_DBUS;
@@ -1736,23 +1736,22 @@ test_set (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- if (!dbus_set_error_from_message (&error, m))
+ if (!dbus_set_error_from_message (&error, reply))
g_error ("Unexpected success");
g_assert_cmpstr (error.name, ==, DBUS_ERROR_PROPERTY_READ_ONLY);
dbus_error_free (&error);
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
}
@@ -1800,6 +1799,7 @@ test_features (Fixture *f,
gconstpointer context)
{
DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
DBusPendingCall *pc = NULL;
DBusMessageIter args_iter;
DBusMessageIter var_iter;
@@ -1822,18 +1822,16 @@ test_features (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- if (!dbus_message_iter_init (m, &args_iter))
+ if (!dbus_message_iter_init (reply, &args_iter))
g_error ("Reply has no arguments");
g_assert_cmpint (dbus_message_iter_get_arg_type (&args_iter), ==,
@@ -1845,6 +1843,7 @@ test_features (Fixture *f,
if (dbus_message_iter_next (&args_iter))
g_error ("Reply has too many arguments");
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
}
@@ -1907,6 +1906,7 @@ test_interfaces (Fixture *f,
gconstpointer context)
{
DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
DBusPendingCall *pc = NULL;
DBusMessageIter args_iter;
DBusMessageIter var_iter;
@@ -1929,18 +1929,16 @@ test_interfaces (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- if (!dbus_message_iter_init (m, &args_iter))
+ if (!dbus_message_iter_init (reply, &args_iter))
g_error ("Reply has no arguments");
if (dbus_message_iter_get_arg_type (&args_iter) != DBUS_TYPE_VARIANT)
@@ -1952,6 +1950,7 @@ test_interfaces (Fixture *f,
if (dbus_message_iter_next (&args_iter))
g_error ("Reply has too many arguments");
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
}
@@ -1961,6 +1960,7 @@ test_get_all (Fixture *f,
gconstpointer context)
{
DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
DBusPendingCall *pc = NULL;
DBusMessageIter args_iter;
DBusMessageIter arr_iter;
@@ -1985,18 +1985,16 @@ test_get_all (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_clear_message (&m);
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- dbus_message_iter_init (m, &args_iter);
+ dbus_message_iter_init (reply, &args_iter);
g_assert_cmpuint (dbus_message_iter_get_arg_type (&args_iter), ==,
DBUS_TYPE_ARRAY);
g_assert_cmpuint (dbus_message_iter_get_element_type (&args_iter), ==,
@@ -2036,6 +2034,7 @@ test_get_all (Fixture *f,
if (dbus_message_iter_next (&args_iter))
g_error ("Reply has too many arguments");
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
dbus_clear_pending_call (&pc);
}
diff --git a/test/monitor.c b/test/monitor.c
index df5a7180..55d61598 100644
--- a/test/monitor.c
+++ b/test/monitor.c
@@ -497,7 +497,8 @@ static void
become_monitor (Fixture *f,
const Config *config)
{
- DBusMessage *m;
+ DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
DBusPendingCall *pc;
dbus_bool_t ok;
DBusMessageIter appender, array_appender;
@@ -543,26 +544,23 @@ become_monitor (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_message_unref (m);
- m = NULL;
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- ok = dbus_message_get_args (m, &f->e,
+ ok = dbus_message_get_args (reply, &f->e,
DBUS_TYPE_INVALID);
test_assert_no_error (&f->e);
g_assert (ok);
- dbus_pending_call_unref (pc);
- dbus_message_unref (m);
- m = NULL;
+ dbus_clear_pending_call (&pc);
+ dbus_clear_message (&reply);
+ dbus_clear_message (&m);
}
/*
@@ -572,8 +570,9 @@ static void
test_invalid (Fixture *f,
gconstpointer context)
{
- DBusMessage *m;
- DBusPendingCall *pc;
+ DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
+ DBusPendingCall *pc = NULL;
dbus_bool_t ok;
DBusMessageIter appender, array_appender;
dbus_uint32_t zero = 0;
@@ -609,28 +608,26 @@ test_invalid (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_message_unref (m);
- m = NULL;
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- g_assert_cmpint (dbus_message_get_type (m), ==, DBUS_MESSAGE_TYPE_ERROR);
- g_assert_cmpstr (dbus_message_get_error_name (m), ==,
+ g_assert_cmpint (dbus_message_get_type (reply), ==, DBUS_MESSAGE_TYPE_ERROR);
+ g_assert_cmpstr (dbus_message_get_error_name (reply), ==,
DBUS_ERROR_INVALID_ARGS);
+ dbus_clear_pending_call (&pc);
+ dbus_clear_message (&reply);
+ dbus_clear_message (&m);
+
/* Try to become a monitor but use the wrong object path - not allowed
* (security hardening against inappropriate XML policy rules) */
- dbus_pending_call_unref (pc);
- dbus_message_unref (m);
-
m = dbus_message_new_method_call (DBUS_SERVICE_DBUS,
"/", DBUS_INTERFACE_MONITORING, "BecomeMonitor");
@@ -652,28 +649,26 @@ test_invalid (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_message_unref (m);
- m = NULL;
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- g_assert_cmpint (dbus_message_get_type (m), ==, DBUS_MESSAGE_TYPE_ERROR);
- g_assert_cmpstr (dbus_message_get_error_name (m), ==,
+ g_assert_cmpint (dbus_message_get_type (reply), ==, DBUS_MESSAGE_TYPE_ERROR);
+ g_assert_cmpstr (dbus_message_get_error_name (reply), ==,
DBUS_ERROR_UNKNOWN_INTERFACE);
+ dbus_clear_pending_call (&pc);
+ dbus_clear_message (&reply);
+ dbus_clear_message (&m);
+
/* Try to become a monitor but specify a bad match rule -
* also not allowed */
- dbus_pending_call_unref (pc);
- dbus_message_unref (m);
-
m = dbus_message_new_method_call (DBUS_SERVICE_DBUS,
DBUS_PATH_DBUS, DBUS_INTERFACE_MONITORING, "BecomeMonitor");
@@ -700,28 +695,25 @@ test_invalid (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_message_unref (m);
- m = NULL;
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- g_assert_cmpint (dbus_message_get_type (m), ==, DBUS_MESSAGE_TYPE_ERROR);
- g_assert_cmpstr (dbus_message_get_error_name (m), ==,
+ g_assert_cmpint (dbus_message_get_type (reply), ==, DBUS_MESSAGE_TYPE_ERROR);
+ g_assert_cmpstr (dbus_message_get_error_name (reply), ==,
DBUS_ERROR_MATCH_RULE_INVALID);
- dbus_pending_call_unref (pc);
- dbus_message_unref (m);
+ dbus_clear_pending_call (&pc);
+ dbus_clear_message (&reply);
+ dbus_clear_message (&m);
/* We did not become a monitor, so we can still call methods. */
- pc = NULL;
m = dbus_message_new_method_call (DBUS_SERVICE_DBUS,
DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS, "GetId");
@@ -733,22 +725,19 @@ test_invalid (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_message_unref (m);
- m = NULL;
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- if (dbus_set_error_from_message (&f->e, m))
+ if (dbus_set_error_from_message (&f->e, reply))
g_error ("%s: %s", f->e.name, f->e.message);
- ok = dbus_message_get_args (m, &f->e,
+ ok = dbus_message_get_args (reply, &f->e,
DBUS_TYPE_STRING, &s,
DBUS_TYPE_INVALID);
test_assert_no_error (&f->e);
@@ -756,8 +745,9 @@ test_invalid (Fixture *f,
g_assert_cmpstr (s, !=, NULL);
g_assert_cmpstr (s, !=, "");
- dbus_pending_call_unref (pc);
- dbus_message_unref (m);
+ dbus_clear_pending_call (&pc);
+ dbus_clear_message (&reply);
+ dbus_clear_message (&m);
}
/*
diff --git a/test/sd-activation.c b/test/sd-activation.c
index bf6f8b6f..c8e41225 100644
--- a/test/sd-activation.c
+++ b/test/sd-activation.c
@@ -522,8 +522,9 @@ static void
test_uae (Fixture *f,
gconstpointer context)
{
- DBusMessage *m;
- DBusPendingCall *pc;
+ DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
+ DBusPendingCall *pc = NULL;
DBusMessageIter args_iter, arr_iter, entry_iter;
const char *s;
@@ -548,21 +549,19 @@ test_uae (Fixture *f,
DBUS_TIMEOUT_USE_DEFAULT) || pc == NULL)
g_error ("OOM");
- dbus_message_unref (m);
- m = NULL;
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- assert_method_reply (m, DBUS_SERVICE_DBUS, f->caller_name, "");
+ assert_method_reply (reply, DBUS_SERVICE_DBUS, f->caller_name, "");
dbus_clear_pending_call (&pc);
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
/* The fake systemd connects to the bus. */
@@ -635,21 +634,19 @@ test_uae (Fixture *f,
DBUS_TIMEOUT_USE_DEFAULT) || pc == NULL)
g_error ("OOM");
- dbus_message_unref (m);
- m = NULL;
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- assert_method_reply (m, DBUS_SERVICE_DBUS, f->caller_name, "");
+ assert_method_reply (reply, DBUS_SERVICE_DBUS, f->caller_name, "");
dbus_clear_pending_call (&pc);
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
while (f->systemd_message == NULL)
@@ -884,24 +881,22 @@ test_transient_services (Fixture *f,
DBUS_TIMEOUT_USE_DEFAULT) || pc == NULL)
g_error ("OOM");
- dbus_message_unref (m);
- m = NULL;
-
/* It fails. */
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- assert_error_reply (m, DBUS_SERVICE_DBUS, f->caller_name,
+ assert_error_reply (reply, DBUS_SERVICE_DBUS, f->caller_name,
DBUS_ERROR_SERVICE_UNKNOWN);
dbus_clear_pending_call (&pc);
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
/* Now generate a transient D-Bus service file for it. The directory
@@ -919,21 +914,19 @@ test_transient_services (Fixture *f,
DBUS_TIMEOUT_USE_DEFAULT) || pc == NULL)
g_error ("OOM");
- dbus_message_unref (m);
- m = NULL;
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
- assert_method_reply (m, DBUS_SERVICE_DBUS, f->caller_name, "");
+ assert_method_reply (reply, DBUS_SERVICE_DBUS, f->caller_name, "");
dbus_clear_pending_call (&pc);
+ dbus_clear_message (&reply);
dbus_clear_message (&m);
}
diff --git a/test/uid-permissions.c b/test/uid-permissions.c
index ce6d7a6b..6ccb1767 100644
--- a/test/uid-permissions.c
+++ b/test/uid-permissions.c
@@ -91,8 +91,9 @@ test_uae (Fixture *f,
gconstpointer context)
{
const Config *config = context;
- DBusMessage *m;
- DBusPendingCall *pc;
+ DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
+ DBusPendingCall *pc = NULL;
DBusMessageIter args_iter;
DBusMessageIter arr_iter;
@@ -118,35 +119,33 @@ test_uae (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_message_unref (m);
- m = NULL;
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
if (config->expect_success)
{
/* it succeeds */
- g_assert_cmpint (dbus_message_get_type (m), ==,
+ g_assert_cmpint (dbus_message_get_type (reply), ==,
DBUS_MESSAGE_TYPE_METHOD_RETURN);
}
else
{
/* it fails, yielding an error message with one string argument */
- g_assert_cmpint (dbus_message_get_type (m), ==, DBUS_MESSAGE_TYPE_ERROR);
- g_assert_cmpstr (dbus_message_get_error_name (m), ==,
+ g_assert_cmpint (dbus_message_get_type (reply), ==, DBUS_MESSAGE_TYPE_ERROR);
+ g_assert_cmpstr (dbus_message_get_error_name (reply), ==,
DBUS_ERROR_ACCESS_DENIED);
- g_assert_cmpstr (dbus_message_get_signature (m), ==, "s");
+ g_assert_cmpstr (dbus_message_get_signature (reply), ==, "s");
}
dbus_clear_pending_call (&pc);
- dbus_message_unref (m);
+ dbus_clear_message (&reply);
+ dbus_clear_message (&m);
}
static void
@@ -154,8 +153,9 @@ test_monitor (Fixture *f,
gconstpointer context)
{
const Config *config = context;
- DBusMessage *m;
- DBusPendingCall *pc;
+ DBusMessage *m = NULL;
+ DBusMessage *reply = NULL;
+ DBusPendingCall *pc = NULL;
DBusMessageIter args_iter;
DBusMessageIter arr_iter;
dbus_uint32_t no_flags = 0;
@@ -184,35 +184,33 @@ test_monitor (Fixture *f,
pc == NULL)
g_error ("OOM");
- dbus_message_unref (m);
- m = NULL;
-
if (dbus_pending_call_get_completed (pc))
- test_pending_call_store_reply (pc, &m);
+ test_pending_call_store_reply (pc, &reply);
else if (!dbus_pending_call_set_notify (pc, test_pending_call_store_reply,
- &m, NULL))
+ &reply, NULL))
g_error ("OOM");
- while (m == NULL)
+ while (reply == NULL)
test_main_context_iterate (f->ctx, TRUE);
if (config->expect_success)
{
/* it succeeds */
- g_assert_cmpint (dbus_message_get_type (m), ==,
+ g_assert_cmpint (dbus_message_get_type (reply), ==,
DBUS_MESSAGE_TYPE_METHOD_RETURN);
}
else
{
/* it fails, yielding an error message with one string argument */
- g_assert_cmpint (dbus_message_get_type (m), ==, DBUS_MESSAGE_TYPE_ERROR);
- g_assert_cmpstr (dbus_message_get_error_name (m), ==,
+ g_assert_cmpint (dbus_message_get_type (reply), ==, DBUS_MESSAGE_TYPE_ERROR);
+ g_assert_cmpstr (dbus_message_get_error_name (reply), ==,
DBUS_ERROR_ACCESS_DENIED);
- g_assert_cmpstr (dbus_message_get_signature (m), ==, "s");
+ g_assert_cmpstr (dbus_message_get_signature (reply), ==, "s");
}
dbus_clear_pending_call (&pc);
- dbus_message_unref (m);
+ dbus_clear_message (&reply);
+ dbus_clear_message (&m);
}
static void