summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam A. Kennington III <wak@google.com>2018-06-22 18:40:45 -0700
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2018-07-09 18:20:42 +0000
commit6e43390193d59723159e78da98443a6a02d1d329 (patch)
tree5f2adf6bacb559f74548d909a7caacda4f62154c
parenta0f52a3fefc3fdea82d9f3fe6936ab52ddd4eedb (diff)
downloadsdbusplus-6e43390193d59723159e78da98443a6a02d1d329.tar.gz
sdbusplus-6e43390193d59723159e78da98443a6a02d1d329.zip
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>
-rw-r--r--sdbusplus/sdbus.hpp24
-rw-r--r--sdbusplus/test/sdbus_mock.hpp4
2 files changed, 28 insertions, 0 deletions
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 @@ class SdBusInterface
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 @@ class SdBusImpl : public SdBusInterface
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 @@ class SdBusMock : public SdBusInterface
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 *));
OpenPOWER on IntegriCloud