mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-06-05 03:53:44 +02:00
Bug fixes, self test of JSONDB disabled by default.
This commit is contained in:
parent
a454a37a6e
commit
5f63d5039b
2 changed files with 27 additions and 2 deletions
|
@ -88,6 +88,9 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline bool operator==(const JSONDB &db) const { return ((_basePath == db._basePath)&&(_db == db._db)); }
|
||||||
|
inline bool operator!=(const JSONDB &db) const { return (!(*this == db)); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void _reload(const std::string &p);
|
void _reload(const std::string &p);
|
||||||
bool _isValidObjectName(const std::string &n);
|
bool _isValidObjectName(const std::string &n);
|
||||||
|
@ -98,6 +101,9 @@ private:
|
||||||
nlohmann::json obj;
|
nlohmann::json obj;
|
||||||
uint64_t lastModifiedOnDisk;
|
uint64_t lastModifiedOnDisk;
|
||||||
uint64_t lastCheck;
|
uint64_t lastCheck;
|
||||||
|
|
||||||
|
inline bool operator==(const _E &e) const { return (obj == e.obj); }
|
||||||
|
inline bool operator!=(const _E &e) const { return (obj != e.obj); }
|
||||||
};
|
};
|
||||||
|
|
||||||
std::string _basePath;
|
std::string _basePath;
|
||||||
|
|
23
selftest.cpp
23
selftest.cpp
|
@ -809,10 +809,11 @@ static int testOther()
|
||||||
}
|
}
|
||||||
std::cout << "PASS (junk value to prevent optimization-out of test: " << foo << ")" << std::endl;
|
std::cout << "PASS (junk value to prevent optimization-out of test: " << foo << ")" << std::endl;
|
||||||
|
|
||||||
|
/*
|
||||||
std::cout << "[other] Testing controller/JSONDB..."; std::cout.flush();
|
std::cout << "[other] Testing controller/JSONDB..."; std::cout.flush();
|
||||||
{
|
{
|
||||||
JSONDB db1("jsondb-test");
|
|
||||||
std::map<std::string,nlohmann::json> db1data;
|
std::map<std::string,nlohmann::json> db1data;
|
||||||
|
JSONDB db1("jsondb-test");
|
||||||
for(unsigned int i=0;i<256;++i) {
|
for(unsigned int i=0;i<256;++i) {
|
||||||
std::string n;
|
std::string n;
|
||||||
for(unsigned int j=0,k=rand() % 4;j<=k;++j) {
|
for(unsigned int j=0,k=rand() % 4;j<=k;++j) {
|
||||||
|
@ -824,8 +825,26 @@ static int testOther()
|
||||||
db1data[n] = {{"i",i}};
|
db1data[n] = {{"i",i}};
|
||||||
db1.put(n,db1data[n]);
|
db1.put(n,db1data[n]);
|
||||||
}
|
}
|
||||||
|
for(std::map<std::string,nlohmann::json>::iterator i(db1data.begin());i!=db1data.end();++i) {
|
||||||
|
i->second["foo"] = "bar";
|
||||||
|
db1.put(i->first,i->second);
|
||||||
|
}
|
||||||
|
JSONDB db2("jsondb-test");
|
||||||
|
if (db1 != db2) {
|
||||||
|
std::cout << " FAILED (db1!=db2 #1)" << std::endl;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
for(std::map<std::string,nlohmann::json>::iterator i(db1data.begin());i!=db1data.end();++i) {
|
||||||
|
db1.erase(i->first);
|
||||||
|
}
|
||||||
|
db2.reload();
|
||||||
|
if (db1 != db2) {
|
||||||
|
std::cout << " FAILED (db1!=db2 #2)" << std::endl;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
std::cout << "PASS" << std::endl;
|
std::cout << " PASS" << std::endl;
|
||||||
|
*/
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue