Blob Blame History Raw
From 4d2a2b79aefac90d4656b0d9c3b58661d2b88a07 Mon Sep 17 00:00:00 2001
From: Eric Garver <eric@garver.life>
Date: Tue, 25 Jun 2019 14:04:34 -0400
Subject: [PATCH 12/20] fix: tests/functions: use gdbus instead of dbus-send

dbus-send doesn't support all the types and nested types that we need
for testing.

(cherry picked from commit 15346d6ff16e75bbbd05e40ac2e8cbe051e08dd9)
---
 src/tests/functions.at | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/tests/functions.at b/src/tests/functions.at
index 7a0242cb33fb..28af5a7fc532 100644
--- a/src/tests/functions.at
+++ b/src/tests/functions.at
@@ -355,10 +355,20 @@ m4_define([NFT_LIST_SET], [
     ])
 ])
 
+m4_define([DBUS_CHECK_NORMALIZE], [dnl
+    [sed -e 's/^({//' -e 's/},)$//' -e 's/>,/>\n/g'] | dnl truncate dictionary output
+    TRIM_WHITESPACE | dnl
+    sort dnl sort dictionaries by keys
+])
+
 m4_define([DBUS_CHECK], [
-    NS_CHECK([dbus-send --system --print-reply --dest=org.fedoraproject.FirewallD1 dnl
-              /org/fedoraproject/FirewallD1/$1 org.fedoraproject.FirewallD1.$2 $3],
-             [$4], [$5], [$6], [$7], [$8])
+    AT_SKIP_IF([! NS_CMD([which gdbus >/dev/null 2>&1])])
+    NS_CHECK([PIPESTATUS0([gdbus call --system --dest=org.fedoraproject.FirewallD1 dnl
+                           m4_ifblank([$1], [--object-path /org/fedoraproject/FirewallD1],
+                                            [--object-path /org/fedoraproject/FirewallD1/$1]) dnl
+                           --method org.fedoraproject.FirewallD1.$2 $3],
+                          [DBUS_CHECK_NORMALIZE])],
+             [$4], [m4_strip([$5])], [m4_strip([$6])], [$7], [$8])
 ])
 
 m4_define([DBUS_GETALL_NORMALIZE], dnl
-- 
2.20.1