2019-05-29 17:05:23 +00:00
|
|
|
#include <test/cpp/jit/test_base.h>
|
|
|
|
|
#include <test/cpp/jit/test_utils.h>
|
|
|
|
|
|
|
|
|
|
#include <sstream>
|
|
|
|
|
|
|
|
|
|
#include <torch/csrc/jit/export.h>
|
|
|
|
|
#include <torch/csrc/jit/import.h>
|
2019-08-14 18:21:42 +00:00
|
|
|
#include <torch/csrc/jit/import_source.h>
|
2019-05-29 17:05:23 +00:00
|
|
|
#include <torch/torch.h>
|
|
|
|
|
|
|
|
|
|
namespace torch {
|
|
|
|
|
namespace jit {
|
2019-08-18 23:46:56 +00:00
|
|
|
using namespace script;
|
2019-05-29 17:05:23 +00:00
|
|
|
|
|
|
|
|
void testSaveExtraFilesHook() {
|
|
|
|
|
// no secrets
|
|
|
|
|
{
|
|
|
|
|
std::stringstream ss;
|
|
|
|
|
{
|
2019-08-11 22:43:28 +00:00
|
|
|
Module m("__torch__.m");
|
2019-05-29 17:05:23 +00:00
|
|
|
ExtraFilesMap extra;
|
|
|
|
|
extra["metadata.json"] = "abc";
|
|
|
|
|
m.save(ss, extra);
|
|
|
|
|
}
|
|
|
|
|
ss.seekg(0);
|
|
|
|
|
{
|
|
|
|
|
ExtraFilesMap extra;
|
|
|
|
|
extra["metadata.json"] = "";
|
|
|
|
|
extra["secret.json"] = "";
|
|
|
|
|
jit::load(ss, c10::nullopt, extra);
|
|
|
|
|
ASSERT_EQ(extra["metadata.json"], "abc");
|
|
|
|
|
ASSERT_EQ(extra["secret.json"], "");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// some secret
|
|
|
|
|
{
|
|
|
|
|
std::stringstream ss;
|
|
|
|
|
{
|
|
|
|
|
SetExportModuleExtraFilesHook([](const Module&) -> ExtraFilesMap {
|
|
|
|
|
return {{"secret.json", "topsecret"}};
|
|
|
|
|
});
|
2019-08-11 22:43:28 +00:00
|
|
|
Module m("__torch__.m");
|
2019-05-29 17:05:23 +00:00
|
|
|
ExtraFilesMap extra;
|
|
|
|
|
extra["metadata.json"] = "abc";
|
|
|
|
|
m.save(ss, extra);
|
|
|
|
|
SetExportModuleExtraFilesHook(nullptr);
|
|
|
|
|
}
|
|
|
|
|
ss.seekg(0);
|
|
|
|
|
{
|
|
|
|
|
ExtraFilesMap extra;
|
|
|
|
|
extra["metadata.json"] = "";
|
|
|
|
|
extra["secret.json"] = "";
|
|
|
|
|
jit::load(ss, c10::nullopt, extra);
|
|
|
|
|
ASSERT_EQ(extra["metadata.json"], "abc");
|
|
|
|
|
ASSERT_EQ(extra["secret.json"], "topsecret");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} // namespace jit
|
|
|
|
|
} // namespace torch
|