test: vpnor: Add ability to deploy patches in VpnorRoot
Change-Id: If557811530f9a886355d023ea73c3412ba5797f8
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
diff --git a/test/vpnor/tmpd.cpp b/test/vpnor/tmpd.cpp
index 6bdfa09..9adc615 100644
--- a/test/vpnor/tmpd.cpp
+++ b/test/vpnor/tmpd.cpp
@@ -26,6 +26,17 @@
return len;
}
+size_t VpnorRoot::patch(const std::string &name, const void *data, size_t len)
+{
+ if (!fs::exists(root / "ro" / name))
+ /* It's not in the ToC */
+ throw std::invalid_argument(name);
+
+ std::ofstream(root / "patch" / name).write((const char *)data, len);
+
+ return len;
+}
+
} // test
} // virtual_pnor
} // openpower
diff --git a/test/vpnor/tmpd.hpp b/test/vpnor/tmpd.hpp
index 8ff40ad..2ebb6c6 100644
--- a/test/vpnor/tmpd.hpp
+++ b/test/vpnor/tmpd.hpp
@@ -90,6 +90,7 @@
return fs::path{root} / "patch";
}
size_t write(const std::string& name, const void* data, size_t len);
+ size_t patch(const std::string& name, const void* data, size_t len);
private:
fs::path root;