cros_disks: specify D-Bus data types for cases requiring introspection
After cros-disks is migrated to use the Chrome D-Bus binding instead of
dbus-c++, it will not implement the org.freedesktop.DBus.Introspectable
interface. Without the introspection support, the CrosDisksClient Python
helper cannot deduce the D-Bus data type for arguments passed to
cros-disks. This CL updates the CrosDisksClient Python helper to
explicitly specify the D-Bus data types when necessary.
BUG=chromium:767645
TEST=Run platform_CrosDisks{DBus,Filesystem,Format,Rename} tests.
Change-Id: I8649d56437c60dc16b39e1eda7edc373f1a5e60d
Reviewed-on: https://chromium-review.googlesource.com/718077
Commit-Ready: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
Reviewed-by: Eric Caruso <ejcaruso@chromium.org>
diff --git a/client/cros/cros_disks.py b/client/cros/cros_disks.py
index db26536..6daaa84 100644
--- a/client/cros/cros_disks.py
+++ b/client/cros/cros_disks.py
@@ -266,7 +266,8 @@
if options is None:
options = []
self.clear_signal_content(self.FORMAT_COMPLETED_SIGNAL)
- self.interface.Format(path, filesystem_type, options)
+ self.interface.Format(path, filesystem_type,
+ dbus.Array(options, signature='s'))
def wait_for_format_completion(self):
"""Waits for the CrosDisks FormatCompleted signal.
@@ -349,7 +350,8 @@
if options is None:
options = []
self.clear_signal_content(self.MOUNT_COMPLETED_SIGNAL)
- self.interface.Mount(path, filesystem_type, options)
+ self.interface.Mount(path, filesystem_type,
+ dbus.Array(options, signature='s'))
def unmount(self, path, options=None):
"""Invokes the CrosDisks Unmount method.
@@ -360,7 +362,7 @@
"""
if options is None:
options = []
- self.interface.Unmount(path, options)
+ self.interface.Unmount(path, dbus.Array(options, signature='s'))
def wait_for_mount_completion(self):
"""Waits for the CrosDisks MountCompleted signal.