diff --git a/test/serialization_tests.hpp b/test/serialization_tests.hpp
new file mode 100644
index 0000000..111c7f7
--- /dev/null
+++ b/test/serialization_tests.hpp
@@ -0,0 +1,41 @@
+#include <gtest/gtest.h>
+#include <experimental/filesystem>
+#include <stdlib.h>
+#include <sdbusplus/bus.hpp>
+#include "log_manager.hpp"
+#include "config.h"
+
+namespace phosphor
+{
+namespace logging
+{
+namespace test
+{
+
+namespace fs = std::experimental::filesystem;
+
+char tmplt[] = "/tmp/logging_test.XXXXXX";
+auto bus = sdbusplus::bus::new_default();
+phosphor::logging::Manager manager(bus, OBJ_INTERNAL);
+
+class TestSerialization : public testing::Test
+{
+    public:
+        TestSerialization() :
+            dir(fs::path(mkdtemp(tmplt)))
+        {
+        }
+
+        ~TestSerialization()
+        {
+            fs::remove_all(dir);
+        }
+
+        fs::path dir;
+};
+
+} // namespace test
+} // namespace logging
+} // namespace phosphor
+
+
