+ else if (_dbus_string_starts_with_c_str (&line,
+ "EXPECT_UNUSED"))
+ {
+ DBusString expected;
+ DBusString unused;
+
+ _dbus_string_delete_first_word (&line);
+
+ if (!_dbus_string_init (&expected, _DBUS_INT_MAX))
+ {
+ _dbus_warn ("no mem to allocate string expected\n");
+ goto out;
+ }
+
+ if (!append_quoted_string (&expected, &line))
+ {
+ _dbus_warn ("failed to append quoted string line %d\n",
+ line_no);
+ _dbus_string_free (&expected);
+ goto out;
+ }
+
+ if (!_dbus_string_init (&unused, _DBUS_INT_MAX))
+ {
+ _dbus_warn ("no mem to allocate string unused\n");
+ _dbus_string_free (&expected);
+ goto out;
+ }
+
+ if (!_dbus_auth_get_unused_bytes (auth, &unused))
+ {
+ _dbus_warn ("couldn't get unused bytes\n");
+ _dbus_string_free (&expected);
+ _dbus_string_free (&unused);
+ goto out;
+ }
+
+ if (_dbus_string_equal (&expected, &unused))
+ {
+ _dbus_string_free (&expected);
+ _dbus_string_free (&unused);
+ }
+ else
+ {
+ const char *e1, *h1;
+ _dbus_string_get_const_data (&expected, &e1);
+ _dbus_string_get_const_data (&unused, &h1);
+ _dbus_warn ("Expected unused bytes '%s' and have '%s'\n",
+ e1, h1);
+ _dbus_string_free (&expected);
+ _dbus_string_free (&unused);
+ goto out;
+ }
+ }
+ else if (_dbus_string_starts_with_c_str (&line,
+ "EXPECT"))
+ {
+ DBusString expected;
+
+ _dbus_string_delete_first_word (&line);
+
+ if (!_dbus_string_init (&expected, _DBUS_INT_MAX))
+ {
+ _dbus_warn ("no mem to allocate string expected\n");
+ goto out;
+ }
+
+ if (!append_quoted_string (&expected, &line))
+ {
+ _dbus_warn ("failed to append quoted string line %d\n",
+ line_no);
+ _dbus_string_free (&expected);
+ goto out;
+ }
+
+ if (_dbus_string_equal_len (&expected, &from_auth,
+ _dbus_string_get_length (&expected)))
+ {
+ _dbus_string_delete (&from_auth, 0,
+ _dbus_string_get_length (&expected));
+ _dbus_string_free (&expected);
+ }
+ else
+ {
+ const char *e1, *h1;
+ _dbus_string_get_const_data (&expected, &e1);
+ _dbus_string_get_const_data (&from_auth, &h1);
+ _dbus_warn ("Expected exact string '%s' and have '%s'\n",
+ e1, h1);
+ _dbus_string_free (&expected);
+ goto out;
+ }
+ }