]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
tests: Assert that dbus-daemon filters unknown header fields
authorSimon McVittie <smcv@collabora.com>
Tue, 12 Dec 2017 14:05:20 +0000 (14:05 +0000)
committerSimon McVittie <smcv@collabora.com>
Thu, 11 Jan 2018 18:35:36 +0000 (18:35 +0000)
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=100317
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Signed-off-by: Simon McVittie <smcv@collabora.com>
test/dbus-daemon.c
test/header-fields.c

index 9305866b8ee4ebbff42987be424d31578072daee..7f990a7e66e0061e211f0124c58cbde08b53ff50 100644 (file)
@@ -1594,6 +1594,7 @@ check_features (DBusMessageIter *var_iter)
 {
   DBusMessageIter arr_iter;
   gboolean have_systemd_activation = FALSE;
+  gboolean have_header_filtering = FALSE;
 
   g_assert_cmpint (dbus_message_iter_get_arg_type (var_iter), ==,
       DBUS_TYPE_ARRAY);
@@ -1611,12 +1612,15 @@ check_features (DBusMessageIter *var_iter)
 
       g_test_message ("Feature: %s", feature);
 
-      if (g_strcmp0 (feature, "SystemdActivation") == 0)
+      if (g_strcmp0 (feature, "HeaderFiltering") == 0)
+        have_header_filtering = TRUE;
+      else if (g_strcmp0 (feature, "SystemdActivation") == 0)
         have_systemd_activation = TRUE;
 
       dbus_message_iter_next (&arr_iter);
     }
 
+  g_assert_true (have_header_filtering);
   /* We pass --systemd-activation to the daemon for this unit test on Unix
    * (it can only work in practice on Linux, but there's nothing
    * inherently Linux-specific about the protocol). */
index 09b4f99c47fce179ded32cf71cb9a398bb04d097..ad7ceac53b24ddf6bc855ba06472eb308da7ee1d 100644 (file)
@@ -625,10 +625,7 @@ test_weird_header_field (void        *user_data,
                        ==, DBUS_TYPE_BYTE);
       _dbus_type_reader_read_basic (&sub, &field_code);
 
-      if (field_code == NOT_A_HEADER_FIELD)
-        {
-          g_test_message ("TODO: header field was passed through");
-        }
+      g_assert_cmpuint (field_code, !=, NOT_A_HEADER_FIELD);
 
       _dbus_type_reader_next (&array);
     }