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;