diff options
-rw-r--r-- | controller/JSONDB.cpp | 2 | ||||
-rw-r--r-- | selftest.cpp | 20 |
2 files changed, 20 insertions, 2 deletions
diff --git a/controller/JSONDB.cpp b/controller/JSONDB.cpp index 506fc425..6adc8a66 100644 --- a/controller/JSONDB.cpp +++ b/controller/JSONDB.cpp @@ -147,8 +147,6 @@ std::string JSONDB::_genPath(const std::string &n,bool create) std::vector<std::string> pt(Utils::split(n.c_str(),"/","","")); if (pt.size() == 0) return std::string(); - if (pt.size() == 1) - return pt[0]; std::string p(_basePath); if (create) OSUtils::mkdir(p.c_str()); diff --git a/selftest.cpp b/selftest.cpp index aecccd21..5fcc2673 100644 --- a/selftest.cpp +++ b/selftest.cpp @@ -53,6 +53,8 @@ #include "osdep/PortMapper.hpp" #include "osdep/Thread.hpp" +#include "controller/JSONDB.hpp" + #ifdef __WINDOWS__ #include <tchar.h> #endif @@ -807,6 +809,24 @@ static int testOther() } std::cout << "PASS (junk value to prevent optimization-out of test: " << foo << ")" << std::endl; + std::cout << "[other] Testing controller/JSONDB..."; std::cout.flush(); + { + JSONDB db1("jsondb-test"); + std::map<std::string,nlohmann::json> db1data; + for(unsigned int i=0;i<256;++i) { + std::string n; + for(unsigned int j=0,k=rand() % 4;j<=k;++j) { + if (j > 0) n.push_back('/'); + char foo[24]; + Utils::snprintf(foo,sizeof(foo),"%lx",rand()); + n.append(foo); + } + db1data[n] = {{"i",i}}; + db1.put(n,db1data[n]); + } + } + std::cout << "PASS" << std::endl; + return 0; } |