test: Add sources of static PNOR
Add sources in static dir to test.
It generates a link error about duplcated GardReset::reset().
Then an issue is found that GardReset::~GardReset() is not virtual,
this will casuse the destructor not calling its super class' dtor.
To fix the above link error, add GardReset[Ubi|Static] to make
ubi/static specific implementation in its own class.
Tested: Verify the test build works fine.
Change-Id: I41bd4d522e8b9c4053283c0cf4373807ef4f2d1c
Signed-off-by: Lei YU <mine260309@gmail.com>
diff --git a/item_updater.hpp b/item_updater.hpp
index e27cccc..3260003 100644
--- a/item_updater.hpp
+++ b/item_updater.hpp
@@ -52,13 +52,13 @@
bus.emit_interfaces_added(path.c_str(), interfaces);
}
- ~GardReset()
+ virtual ~GardReset()
{
std::vector<std::string> interfaces({interface});
bus.emit_interfaces_removed(path.c_str(), interfaces);
}
- private:
+ protected:
// TODO Remove once openbmc/openbmc#1975 is resolved
static constexpr auto interface = "xyz.openbmc_project.Common.FactoryReset";
sdbusplus::bus::bus& bus;
@@ -67,7 +67,7 @@
/**
* @brief GARD factory reset - clears the PNOR GARD partition.
*/
- void reset() override;
+ virtual void reset() = 0;
};
/** @class ItemUpdater