Set GError in DBus responses.
We have been returning Failure in DBus responses, but not setting
GError values. This CL now sets GError in all error cases, and generates
a matching error log. However, in some cases only vague error messages
are available.
This is because our standard pattern in the UE is to log detailed
error messages, then return a False to indicate failure. That means
the caller (the DBus Service in this case) doesn't have access to
the detailed failure reasons.
Addressing that in general seems seems appropriate for later work,
and TODO messages have been dropped in where appropriate.
Here's an example error:
gdbus call --system --dest org.chromium.UpdateEngine \
--object-path /org/chromium/UpdateEngine \
--method org.chromium.UpdateEngineInterface.GetDurationSinceUpdate
Error: GDBus.Error:org.chromium.UpdateEngine.Error.Failed: No pending update.
BUG=chromium:261893
TEST=Unittests + some manual testing with forced errors.
Change-Id: Ib695ec1fc9afced096a56507224f459f5ff85fa5
Reviewed-on: https://chromium-review.googlesource.com/176965
Tested-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: David Zeuthen <zeuthen@chromium.org>
Commit-Queue: Don Garrett <dgarrett@chromium.org>
1 file changed