Merge commit '982709199f1b4e9e35211c419a81938f9f1dd4ed' into bitcoin

This commit is contained in:
MarcoFalke
2015-12-02 12:28:14 +01:00
16 changed files with 205 additions and 83 deletions

View File

@@ -1 +1,4 @@
unitester
*.trs
*.log

View File

@@ -0,0 +1 @@
[ true true true [] [] [] ]

View File

@@ -0,0 +1 @@
{"a":}

View File

@@ -0,0 +1 @@
{"a":1 "b":2}

View File

@@ -0,0 +1 @@
["\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007f"]

View File

@@ -19,24 +19,37 @@
using namespace std;
string srcdir(JSON_TEST_SRC);
static bool test_failed = false;
#define d_assert(expr) { if (!(expr)) { test_failed = true; fprintf(stderr, "%s failed\n", filename.c_str()); } }
static std::string rtrim(std::string s)
{
s.erase(s.find_last_not_of(" \n\r\t")+1);
return s;
}
static void runtest(string filename, const string& jdata)
{
fprintf(stderr, "test %s\n", filename.c_str());
string prefix = filename.substr(0, 4);
bool wantPass = (prefix == "pass");
bool wantPass = (prefix == "pass") || (prefix == "roun");
bool wantFail = (prefix == "fail");
bool wantRoundTrip = (prefix == "roun");
assert(wantPass || wantFail);
UniValue val;
bool testResult = val.read(jdata);
if (wantPass) {
assert(testResult == true);
d_assert(testResult == true);
} else {
assert(testResult == false);
d_assert(testResult == false);
}
if (wantRoundTrip) {
std::string odata = val.write(0, 0);
assert(odata == rtrim(jdata));
}
}
@@ -92,6 +105,9 @@ static const char *filenames[] = {
"fail32.json",
"fail33.json",
"fail34.json",
"fail35.json",
"fail36.json",
"fail37.json",
"fail3.json",
"fail4.json", // extra comma
"fail5.json",
@@ -102,6 +118,7 @@ static const char *filenames[] = {
"pass1.json",
"pass2.json",
"pass3.json",
"round1.json", // round-trip test
};
int main (int argc, char *argv[])
@@ -110,6 +127,6 @@ int main (int argc, char *argv[])
runtest_file(filenames[fidx]);
}
return 0;
return test_failed ? 1 : 0;
}