| 54 | } |
| 55 | |
| 56 | static void runtest_file(const char *filename_) |
| 57 | { |
| 58 | std::string basename(filename_); |
| 59 | std::string filename = srcdir + "/" + basename; |
| 60 | FILE *f = fopen(filename.c_str(), "r"); |
| 61 | assert(f != nullptr); |
| 62 | |
| 63 | std::string jdata; |
| 64 | |
| 65 | char buf[4096]; |
| 66 | while (!feof(f)) { |
| 67 | int bread = fread(buf, 1, sizeof(buf), f); |
| 68 | assert(!ferror(f)); |
| 69 | |
| 70 | std::string s(buf, bread); |
| 71 | jdata += s; |
| 72 | } |
| 73 | |
| 74 | assert(!ferror(f)); |
| 75 | fclose(f); |
| 76 | |
| 77 | runtest(basename, jdata); |
| 78 | } |
| 79 | |
| 80 | static const char *filenames[] = { |
| 81 | "fail10.json", |