sdbus: Add some sd_bus_error_* functions for mocking
This is needed for a future commit which implements dependency injection
on the SdBusError class.
Tested:
Functions can be used and mocked as expected.
Change-Id: I15ae9643b2e1fad0abb1fa08483032502d0f623f
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/sdbusplus/sdbus.hpp b/sdbusplus/sdbus.hpp
index ead2888..4477d6e 100644
--- a/sdbusplus/sdbus.hpp
+++ b/sdbusplus/sdbus.hpp
@@ -44,6 +44,10 @@
virtual int sd_bus_error_set_const(sd_bus_error *e, const char *name,
const char *message) = 0;
+ virtual int sd_bus_error_get_errno(const sd_bus_error *e) = 0;
+ virtual int sd_bus_error_set_errno(sd_bus_error *e, int error) = 0;
+ virtual int sd_bus_error_is_set(const sd_bus_error *e) = 0;
+ virtual void sd_bus_error_free(sd_bus_error *e) = 0;
virtual sd_event *sd_bus_get_event(sd_bus *bus) = 0;
virtual int sd_bus_get_fd(sd_bus *bus) = 0;
@@ -205,6 +209,26 @@
return ::sd_bus_error_set_const(e, name, message);
}
+ int sd_bus_error_get_errno(const sd_bus_error *e) override
+ {
+ return ::sd_bus_error_get_errno(e);
+ }
+
+ int sd_bus_error_set_errno(sd_bus_error *e, int error) override
+ {
+ return ::sd_bus_error_set_errno(e, error);
+ }
+
+ int sd_bus_error_is_set(const sd_bus_error *e) override
+ {
+ return ::sd_bus_error_is_set(e);
+ }
+
+ void sd_bus_error_free(sd_bus_error *e) override
+ {
+ return ::sd_bus_error_free(e);
+ }
+
sd_event *sd_bus_get_event(sd_bus *bus) override
{
return ::sd_bus_get_event(bus);
diff --git a/sdbusplus/test/sdbus_mock.hpp b/sdbusplus/test/sdbus_mock.hpp
index be8d0ac..6fe9cb7 100644
--- a/sdbusplus/test/sdbus_mock.hpp
+++ b/sdbusplus/test/sdbus_mock.hpp
@@ -34,6 +34,10 @@
MOCK_METHOD3(sd_bus_error_set_const,
int(sd_bus_error *, const char *, const char *));
+ MOCK_METHOD1(sd_bus_error_get_errno, int(const sd_bus_error *));
+ MOCK_METHOD2(sd_bus_error_set_errno, int(sd_bus_error *, int));
+ MOCK_METHOD1(sd_bus_error_is_set, int(const sd_bus_error *));
+ MOCK_METHOD1(sd_bus_error_free, void(sd_bus_error *));
MOCK_METHOD1(sd_bus_get_event, sd_event *(sd_bus *));
MOCK_METHOD1(sd_bus_get_fd, int(sd_bus *));