Ignore:
Timestamp:
12/27/07 16:11:27 (7 years ago)
Author:
xi
Message:

Fixed bugs and updated tests.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libyaml/trunk/tests/run-scanner.c

    r264 r265  
    1212main(int argc, char *argv[]) 
    1313{ 
    14     int number; 
     14    int idx; 
    1515 
    1616    if (argc < 2) { 
     
    1919    } 
    2020 
    21     for (number = 1; number < argc; number ++) 
     21    for (idx = 1; idx < argc; idx ++) 
    2222    { 
    2323        FILE *file; 
    2424        yaml_parser_t *parser; 
    2525        yaml_token_t token; 
    26         yaml_error_t error; 
    27         char error_buffer[256]; 
    28         int done = 0; 
     26        int failed = 0; 
    2927        int count = 0; 
    30         int failed = 0; 
    3128 
    32         printf("[%d] Scanning '%s': ", number, argv[number]); 
     29        printf("[%d] Scanning '%s': ", idx, argv[idx]); 
    3330        fflush(stdout); 
    3431 
    35         file = fopen(argv[number], "rb"); 
     32        file = fopen(argv[idx], "rb"); 
    3633        assert(file); 
    3734 
    38         assert((parser = yaml_parser_new())); 
     35        parser = yaml_parser_new(); 
     36        assert(parser); 
    3937 
    4038        yaml_parser_set_file_reader(parser, file); 
    4139 
    42         while (!done) 
     40        while (1) 
    4341        { 
    4442            if (!yaml_parser_parse_token(parser, &token)) { 
     
    4745            } 
    4846 
    49             done = (token.type == YAML_STREAM_END_TOKEN); 
     47            if (token.type == YAML_NO_TOKEN) 
     48                break; 
    5049 
    5150            yaml_token_destroy(&token); 
     
    5453        } 
    5554 
    56         yaml_parser_get_error(parser, &error); 
     55        if (!failed) { 
     56            printf("SUCCESS (%d tokens)\n", count); 
     57        } 
     58        else { 
     59            yaml_error_t error; 
     60            char message[256]; 
     61            yaml_parser_get_error(parser, &error); 
     62            yaml_error_message(&error, message, 256); 
     63            printf("FAILURE (%d tokens)\n -> %s\n", count, message); 
     64        } 
    5765 
    5866        yaml_parser_delete(parser); 
    5967 
    60         assert(!fclose(file)); 
     68        fclose(file); 
    6169 
    62         yaml_error_message(&error, error_buffer, 256); 
    63  
    64         printf("%s (%d tokens) -> %s\n", 
    65                 (failed ? "FAILURE" : "SUCCESS"), 
    66                 count, error_buffer); 
    6770    } 
    6871 
Note: See TracChangeset for help on using the changeset viewer.