From 2a4bee743ac7f71b4784ec190badc1764de57c7d Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Thu, 1 Mar 2018 15:49:17 +1030 Subject: test: vpnor: Add ability to deploy patches in VpnorRoot Change-Id: If557811530f9a886355d023ea73c3412ba5797f8 Signed-off-by: Andrew Jeffery --- test/vpnor/tmpd.cpp | 11 +++++++++++ test/vpnor/tmpd.hpp | 1 + 2 files changed, 12 insertions(+) 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; -- cgit v1.2.1