tools/pci: add wrapper for libpciaccess
This allows unit testing code that uses libpciaccess.
Signed-off-by: Benjamin Fair <benjaminfair@google.com>
Change-Id: Iec559c72e0e7b6c2e8737a54bb3e88fe1e0f4fdb
diff --git a/tools/test/pciaccess_mock.hpp b/tools/test/pciaccess_mock.hpp
new file mode 100644
index 0000000..e717c74
--- /dev/null
+++ b/tools/test/pciaccess_mock.hpp
@@ -0,0 +1,25 @@
+#pragma once
+
+#include "pciaccess.hpp"
+
+#include <gmock/gmock.h>
+
+namespace host_tool
+{
+
+class PciAccessMock : public PciAccess
+{
+ public:
+ MOCK_CONST_METHOD1(pci_id_match_iterator_create,
+ struct pci_device_iterator*(const struct pci_id_match*));
+ MOCK_CONST_METHOD1(pci_iterator_destroy, void(struct pci_device_iterator*));
+ MOCK_CONST_METHOD1(pci_device_next,
+ struct pci_device*(struct pci_device_iterator*));
+ MOCK_CONST_METHOD1(pci_device_probe, int(struct pci_device*));
+ MOCK_CONST_METHOD5(pci_device_map_range, int(struct pci_device*, pciaddr_t,
+ pciaddr_t, unsigned, void**));
+ MOCK_CONST_METHOD3(pci_device_unmap_range,
+ int(struct pci_device*, void*, pciaddr_t));
+};
+
+} // namespace host_tool