diff --git a/tests/test-grammar-parser.cpp b/tests/test-grammar-parser.cpp index ba3d0ccab..76cd6c2e5 100644 --- a/tests/test-grammar-parser.cpp +++ b/tests/test-grammar-parser.cpp @@ -25,19 +25,30 @@ static void verify_parsing(const char *grammar_bytes, const std::vectorfirst.c_str(), it->second); } fprintf(stderr, " }, {\n"); - for (auto rule : parsed_grammar.rules) { + for (size_t i_rule = 0; i_rule < parsed_grammar.rules.size(); i_rule++) { + fprintf(stderr, " // rule %s (index %zu)\n", expected[i_rule].first.c_str(), i_rule); + auto & rule = parsed_grammar.rules[i_rule]; for (uint32_t i = 0; i < rule.size(); i++) { fprintf(stderr, " {%s, %u},\n", type_str(rule[i].type), rule[i].value); + } } fprintf(stderr, " });\n"); }; + + if (getenv("TEST_GRAMMAR_PARSER_PRINT_ALL")) { + print_all(); + fprintf(stderr, "\n"); + return; + } + + fprintf(stderr, "Testing grammar:%s\n", grammar_bytes); + for (auto it = parsed_grammar.symbol_ids.begin(); it != parsed_grammar.symbol_ids.end(); ++it) { std::string key = it->first; @@ -51,6 +62,7 @@ static void verify_parsing(const char *grammar_bytes, const std::vector