| // SPDX-License-Identifier: Apache-2.0 |
| // Copyright (C) 2018 IBM Corp. |
| |
| #include "vpnor/test/tmpd.hpp" |
| |
| namespace openpower |
| { |
| namespace virtual_pnor |
| { |
| namespace test |
| { |
| |
| namespace fs = std::experimental::filesystem; |
| |
| size_t VpnorRoot::write(const std::string& name, const void* data, size_t len) |
| { |
| // write() is for test environment setup - always write to ro section |
| fs::path path = root / "ro" / name; |
| |
| if (!fs::exists(path)) |
| /* It's not in the ToC */ |
| throw std::invalid_argument(name); |
| |
| std::ofstream(path).write((const char*)data, 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; |
| } |
| |
| } // namespace test |
| } // namespace virtual_pnor |
| } // namespace openpower |