diff --git a/test/elog_quiesce_test.cpp b/test/elog_quiesce_test.cpp
index ac78974..a80cb91 100644
--- a/test/elog_quiesce_test.cpp
+++ b/test/elog_quiesce_test.cpp
@@ -38,6 +38,7 @@
     uint64_t timestamp{100};
     std::string message{"test error"};
     std::string fwLevel{"level42"};
+    std::string path{"/tmp/99"};
     std::vector<std::string> testData{"no", "callout"};
     phosphor::logging::AssociationList associations{};
 
@@ -50,6 +51,7 @@
                std::move(testData),
                std::move(associations),
                fwLevel,
+               path,
                manager};
 
     EXPECT_EQ(manager.isCalloutPresent(elog), false);
@@ -62,6 +64,7 @@
     uint64_t timestamp{100};
     std::string message{"test error"};
     std::string fwLevel{"level42"};
+    std::string path{"/tmp/99"};
     std::vector<std::string> testData{
         "CALLOUT_INVENTORY_PATH=/xyz/openbmc_project/inventory/system/chassis/"
         "motherboard/powersupply0/"};
@@ -76,6 +79,7 @@
                std::move(testData),
                std::move(associations),
                fwLevel,
+               path,
                manager};
 
     EXPECT_EQ(manager.isCalloutPresent(elog), true);
@@ -88,6 +92,7 @@
     uint64_t timestamp{100};
     std::string message{"test error"};
     std::string fwLevel{"level42"};
+    std::string path{"/tmp/99"};
     std::vector<std::string> testData{
         "CALLOUT_INVENTORY_PATH=/xyz/openbmc_project/inventory/system/chassis/"
         "motherboard/powersupply0/"};
@@ -113,6 +118,7 @@
                std::move(testData),
                std::move(associations),
                fwLevel,
+               path,
                manager};
 
     manager.quiesceOnError(id);
@@ -143,6 +149,7 @@
     uint64_t timestamp{100};
     std::string message{"test error"};
     std::string fwLevel{"level42"};
+    std::string path{"/tmp/99"};
     std::vector<std::string> testData{
         "CALLOUT_INVENTORY_PATH=/xyz/openbmc_project/inventory/system/chassis/"
         "motherboard/powersupply0/"};
@@ -168,6 +175,7 @@
                std::move(testData),
                std::move(associations),
                fwLevel,
+               path,
                manager};
 
     manager.quiesceOnError(id);
@@ -200,6 +208,7 @@
     uint64_t timestamp{100};
     std::string message{"test error"};
     std::string fwLevel{"level42"};
+    std::string path{"/tmp/99"};
     std::vector<std::string> testData{
         "CALLOUT_INVENTORY_PATH=/xyz/openbmc_project/inventory/system/chassis/"
         "motherboard/powersupply0/"};
@@ -225,6 +234,7 @@
                std::move(testData),
                std::move(associations),
                fwLevel,
+               path,
                manager};
 
     manager.quiesceOnError(id);
diff --git a/test/elog_update_ts_test.cpp b/test/elog_update_ts_test.cpp
index 65b1328..d04da04 100644
--- a/test/elog_update_ts_test.cpp
+++ b/test/elog_update_ts_test.cpp
@@ -48,6 +48,7 @@
     uint64_t timestamp{100};
     std::string message{"test error"};
     std::string fwLevel{"level42"};
+    std::string path{"/tmp/99"};
     std::vector<std::string> testData{"additional", "data"};
     phosphor::logging::AssociationList associations{};
 
@@ -60,6 +61,7 @@
                std::move(testData),
                std::move(associations),
                fwLevel,
+               path,
                manager};
 
     EXPECT_EQ(elog.timestamp(), elog.updateTimestamp());
diff --git a/test/serialization_test_properties.cpp b/test/serialization_test_properties.cpp
index 6e99d5a..2c83f1e 100644
--- a/test/serialization_test_properties.cpp
+++ b/test/serialization_test_properties.cpp
@@ -17,11 +17,13 @@
     uint64_t timestamp{100};
     std::string message{"test error"};
     std::string fwLevel{"level42"};
+    std::string inputPath = getEntrySerializePath(id, TestSerialization::dir);
     auto input = std::make_unique<Entry>(
         bus, std::string(OBJ_ENTRY) + '/' + std::to_string(id), id, timestamp,
         Entry::Level::Informational, std::move(message), std::move(testData),
-        std::move(assocations), fwLevel, manager);
+        std::move(assocations), fwLevel, inputPath, manager);
     auto path = serialize(*input, TestSerialization::dir);
+    EXPECT_EQ(path, inputPath);
 
     auto idStr = path.filename();
     id = std::stol(idStr.c_str());
