diff options
-rw-r--r-- | test/vpnor/tmpd.cpp | 11 | ||||
-rw-r--r-- | test/vpnor/tmpd.hpp | 1 |
2 files changed, 12 insertions, 0 deletions
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 @@ size_t VpnorRoot::write(const std::string &name, const void *data, size_t len) 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 @@ class VpnorRoot 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; |