diff --git a/controller/JSONDB.cpp b/controller/JSONDB.cpp index 506fc4255..6adc8a663 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 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 aecccd213..5fcc26739 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 #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 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; }