|
Revision 242, 1.1 kB
(checked in by xi, 4 years ago)
|
Undefine the NDEBUG directive for the test programs.
|
| Line | |
|---|
| 1 |
#include <yaml.h> |
|---|
| 2 |
|
|---|
| 3 |
#include <stdlib.h> |
|---|
| 4 |
#include <stdio.h> |
|---|
| 5 |
|
|---|
| 6 |
#ifdef NDEBUG |
|---|
| 7 |
#undef NDEBUG |
|---|
| 8 |
#endif |
|---|
| 9 |
#include <assert.h> |
|---|
| 10 |
|
|---|
| 11 |
int |
|---|
| 12 |
main(int argc, char *argv[]) |
|---|
| 13 |
{ |
|---|
| 14 |
int number; |
|---|
| 15 |
|
|---|
| 16 |
if (argc < 2) { |
|---|
| 17 |
printf("Usage: %s file1.yaml ...\n", argv[0]); |
|---|
| 18 |
return 0; |
|---|
| 19 |
} |
|---|
| 20 |
|
|---|
| 21 |
for (number = 1; number < argc; number ++) |
|---|
| 22 |
{ |
|---|
| 23 |
FILE *file; |
|---|
| 24 |
yaml_parser_t parser; |
|---|
| 25 |
yaml_token_t token; |
|---|
| 26 |
int done = 0; |
|---|
| 27 |
int count = 0; |
|---|
| 28 |
int error = 0; |
|---|
| 29 |
|
|---|
| 30 |
printf("[%d] Scanning '%s': ", number, argv[number]); |
|---|
| 31 |
fflush(stdout); |
|---|
| 32 |
|
|---|
| 33 |
file = fopen(argv[number], "rb"); |
|---|
| 34 |
assert(file); |
|---|
| 35 |
|
|---|
| 36 |
assert(yaml_parser_initialize(&parser)); |
|---|
| 37 |
|
|---|
| 38 |
yaml_parser_set_input_file(&parser, file); |
|---|
| 39 |
|
|---|
| 40 |
while (!done) |
|---|
| 41 |
{ |
|---|
| 42 |
if (!yaml_parser_scan(&parser, &token)) { |
|---|
| 43 |
error = 1; |
|---|
| 44 |
break; |
|---|
| 45 |
} |
|---|
| 46 |
|
|---|
| 47 |
done = (token.type == YAML_STREAM_END_TOKEN); |
|---|
| 48 |
|
|---|
| 49 |
yaml_token_delete(&token); |
|---|
| 50 |
|
|---|
| 51 |
count ++; |
|---|
| 52 |
} |
|---|
| 53 |
|
|---|
| 54 |
yaml_parser_delete(&parser); |
|---|
| 55 |
|
|---|
| 56 |
assert(!fclose(file)); |
|---|
| 57 |
|
|---|
| 58 |
printf("%s (%d tokens)\n", (error ? "FAILURE" : "SUCCESS"), count); |
|---|
| 59 |
} |
|---|
| 60 |
|
|---|
| 61 |
return 0; |
|---|
| 62 |
} |
|---|
| 63 |
|
|---|