HardwareState: HWMon data reader

Ported HWMon driver from
cla-sysrepo@19163e50ab062a8b5b75f754b30c22fdbd62b03a.

In cla-sysrepo, these drivers provided a property-based API, i.e., you
asked for a specific property (i.e., a filename) and the contents of the
file was returned.

In velia, we do not need this one-by-one property access. We provide all
attributes with a single call.

Change-Id: Ife783f21d4552e3b8bc69436d2f8fa53eb6745b7
diff --git a/tests/pretty_printers.h b/tests/pretty_printers.h
index 8fea584..eb1399c 100644
--- a/tests/pretty_printers.h
+++ b/tests/pretty_printers.h
@@ -12,7 +12,6 @@
 #include <sstream>
 #include <trompeloeil.hpp>
 
-
 namespace doctest {
 
 template <>
@@ -29,4 +28,18 @@
     }
 };
 
+template <>
+struct StringMaker<std::map<std::string, int64_t>> {
+    static String convert(const std::map<std::string, int64_t>& map)
+    {
+        std::ostringstream os;
+        os << "{" << std::endl;
+        for (const auto& [key, value] : map) {
+            os << "  \"" << key << "\": " << value << "," << std::endl;
+        }
+        os << "}";
+        return os.str().c_str();
+    }
+};
+
 }