xo-reader2: utest: parser utests verify full GC behavior also
This commit is contained in:
parent
28df382e16
commit
be36fafc86
1 changed files with 177 additions and 100 deletions
|
|
@ -374,7 +374,6 @@ namespace xo {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NOPE
|
|
||||||
TEST_CASE("SchematikaParser-batch-def", "[reader2][SchematikaParser]")
|
TEST_CASE("SchematikaParser-batch-def", "[reader2][SchematikaParser]")
|
||||||
{
|
{
|
||||||
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
||||||
|
|
@ -1198,8 +1197,9 @@ namespace xo {
|
||||||
|
|
||||||
log && fixture.log_memory_layout(&log);
|
log && fixture.log_memory_layout(&log);
|
||||||
}
|
}
|
||||||
#endif
|
#endif // OBSOLETE
|
||||||
|
|
||||||
|
#ifdef NOPE
|
||||||
void test_interactive_cmpne(ParserFixture * fixture)
|
void test_interactive_cmpne(ParserFixture * fixture)
|
||||||
{
|
{
|
||||||
scope log(XO_DEBUG(fixture->debug_flag_));
|
scope log(XO_DEBUG(fixture->debug_flag_));
|
||||||
|
|
@ -1466,22 +1466,17 @@ namespace xo {
|
||||||
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
||||||
|
|
||||||
// [0] arena; [1] gc
|
// [0] arena; [1] gc
|
||||||
constexpr std::array<bool, 2> c_debug_flag_v = {{false, true}};
|
constexpr std::array<bool, 2> c_debug_flag_v = {{false, false}};
|
||||||
test_driver(testname,
|
test_driver(testname,
|
||||||
&test_interactive_lambda,
|
&test_interactive_lambda,
|
||||||
c_debug_flag_v);
|
c_debug_flag_v);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NOPE
|
void test_interactive_if2(ParserFixture * fixture)
|
||||||
TEST_CASE("SchematikaParser-interactive-if2", "[reader2][SchematikaParser]")
|
|
||||||
{
|
{
|
||||||
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
scope log(XO_DEBUG(fixture->debug_flag_));
|
||||||
|
|
||||||
constexpr bool c_debug_flag = false;
|
auto parser = fixture->parser_;
|
||||||
scope log(XO_DEBUG(c_debug_flag), xtag("test", testname));
|
|
||||||
|
|
||||||
ParserFixture fixture(testname, false /*!gc*/, c_debug_flag);
|
|
||||||
auto parser = fixture.parser_;
|
|
||||||
|
|
||||||
parser->begin_interactive_session();
|
parser->begin_interactive_session();
|
||||||
|
|
||||||
|
|
@ -1502,20 +1497,27 @@ namespace xo {
|
||||||
/* [6] */ Token::semicolon_token(),
|
/* [6] */ Token::semicolon_token(),
|
||||||
};
|
};
|
||||||
|
|
||||||
utest_tokenizer_loop(&fixture, tk_v, c_debug_flag);
|
utest_tokenizer_loop(fixture, tk_v, fixture->debug_flag_);
|
||||||
|
|
||||||
log && fixture.log_memory_layout(&log);
|
log && fixture->log_memory_layout(&log);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("SchematikaParser-interactive-lambda2", "[reader2][SchematikaParser]")
|
TEST_CASE("SchematikaParser-interactive-if2", "[reader2][SchematikaParser]")
|
||||||
{
|
{
|
||||||
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
||||||
|
|
||||||
constexpr bool c_debug_flag = false;
|
// [0] arena; [1] gc
|
||||||
scope log(XO_DEBUG(c_debug_flag), xtag("test", testname));
|
constexpr std::array<bool, 2> c_debug_flag_v = {{false, false}};
|
||||||
|
test_driver(testname,
|
||||||
|
&test_interactive_if2,
|
||||||
|
c_debug_flag_v);
|
||||||
|
}
|
||||||
|
|
||||||
ParserFixture fixture(testname, false /*!gc*/, c_debug_flag);
|
void test_interactive_lambda2(ParserFixture * fixture)
|
||||||
auto parser = fixture.parser_;
|
{
|
||||||
|
scope log(XO_DEBUG(fixture->debug_flag_));
|
||||||
|
|
||||||
|
auto parser = fixture->parser_;
|
||||||
|
|
||||||
parser->begin_interactive_session();
|
parser->begin_interactive_session();
|
||||||
|
|
||||||
|
|
@ -1543,20 +1545,27 @@ namespace xo {
|
||||||
/* [ c] */ Token::rightbrace_token(),
|
/* [ c] */ Token::rightbrace_token(),
|
||||||
};
|
};
|
||||||
|
|
||||||
utest_tokenizer_loop(&fixture, tk_v, c_debug_flag);
|
utest_tokenizer_loop(fixture, tk_v, fixture->debug_flag_);
|
||||||
|
|
||||||
log && fixture.log_memory_layout(&log);
|
log && fixture->log_memory_layout(&log);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("SchematikaParser-interactive-apply", "[reader2][SchematikaParser]")
|
TEST_CASE("SchematikaParser-interactive-lambda2", "[reader2][SchematikaParser]")
|
||||||
{
|
{
|
||||||
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
||||||
|
|
||||||
constexpr bool c_debug_flag = false;
|
// [0] arena; [1] gc
|
||||||
scope log(XO_DEBUG(c_debug_flag), xtag("test", testname));
|
constexpr std::array<bool, 2> c_debug_flag_v = {{false, false}};
|
||||||
|
test_driver(testname,
|
||||||
|
&test_interactive_lambda2,
|
||||||
|
c_debug_flag_v);
|
||||||
|
}
|
||||||
|
|
||||||
ParserFixture fixture(testname, false /*!gc*/, c_debug_flag);
|
void test_interactive_apply(ParserFixture * fixture)
|
||||||
auto parser = fixture.parser_;
|
{
|
||||||
|
scope log(XO_DEBUG(fixture->debug_flag_));
|
||||||
|
|
||||||
|
auto parser = fixture->parser_;
|
||||||
|
|
||||||
parser->begin_interactive_session();
|
parser->begin_interactive_session();
|
||||||
|
|
||||||
|
|
@ -1589,22 +1598,27 @@ namespace xo {
|
||||||
/* [ g] */ Token::semicolon_token(),
|
/* [ g] */ Token::semicolon_token(),
|
||||||
};
|
};
|
||||||
|
|
||||||
utest_tokenizer_loop(&fixture, tk_v, c_debug_flag);
|
utest_tokenizer_loop(fixture, tk_v, fixture->debug_flag_);
|
||||||
|
|
||||||
log && fixture.log_memory_layout(&log);
|
log && fixture->log_memory_layout(&log);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("SchematikaParser-interactive-apply2", "[reader2][SchematikaParser]")
|
TEST_CASE("SchematikaParser-interactive-apply", "[reader2][SchematikaParser]")
|
||||||
{
|
{
|
||||||
// top-level apply, with multiple arguments
|
|
||||||
|
|
||||||
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
||||||
|
|
||||||
constexpr bool c_debug_flag = false;
|
// [0] arena; [1] gc
|
||||||
scope log(XO_DEBUG(c_debug_flag), xtag("test", testname));
|
constexpr std::array<bool, 2> c_debug_flag_v = {{false, false}};
|
||||||
|
test_driver(testname,
|
||||||
|
&test_interactive_apply,
|
||||||
|
c_debug_flag_v);
|
||||||
|
}
|
||||||
|
|
||||||
ParserFixture fixture(testname, false /*!gc*/, c_debug_flag);
|
void test_interactive_apply2(ParserFixture * fixture)
|
||||||
auto parser = fixture.parser_;
|
{
|
||||||
|
scope log(XO_DEBUG(fixture->debug_flag_));
|
||||||
|
|
||||||
|
auto parser = fixture->parser_;
|
||||||
|
|
||||||
parser->begin_interactive_session();
|
parser->begin_interactive_session();
|
||||||
|
|
||||||
|
|
@ -1647,22 +1661,29 @@ namespace xo {
|
||||||
/* [ m] */ Token::semicolon_token(),
|
/* [ m] */ Token::semicolon_token(),
|
||||||
};
|
};
|
||||||
|
|
||||||
utest_tokenizer_loop(&fixture, tk_v, c_debug_flag);
|
utest_tokenizer_loop(fixture, tk_v, fixture->debug_flag_);
|
||||||
|
|
||||||
log && fixture.log_memory_layout(&log);
|
log && fixture->log_memory_layout(&log);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("SchematikaParser-batch-def2", "[reader2][SchematikaParser]")
|
TEST_CASE("SchematikaParser-interactive-apply2", "[reader2][SchematikaParser]")
|
||||||
{
|
{
|
||||||
// top-level recursive function definition
|
// top-level apply, with multiple arguments
|
||||||
|
|
||||||
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
||||||
|
|
||||||
constexpr bool c_debug_flag = false;
|
// [0] arena; [1] gc
|
||||||
scope log(XO_DEBUG(c_debug_flag), xtag("test", testname));
|
constexpr std::array<bool, 2> c_debug_flag_v = {{false, false}};
|
||||||
|
test_driver(testname,
|
||||||
|
&test_interactive_apply2,
|
||||||
|
c_debug_flag_v);
|
||||||
|
}
|
||||||
|
|
||||||
ParserFixture fixture(testname, false /*!gc*/, c_debug_flag);
|
void test_batch_def2(ParserFixture * fixture)
|
||||||
auto parser = fixture.parser_;
|
{
|
||||||
|
scope log(XO_DEBUG(fixture->debug_flag_));
|
||||||
|
|
||||||
|
auto parser = fixture->parser_;
|
||||||
|
|
||||||
parser->begin_interactive_session();
|
parser->begin_interactive_session();
|
||||||
|
|
||||||
|
|
@ -1705,22 +1726,29 @@ namespace xo {
|
||||||
/* [ q] */ Token::semicolon_token(),
|
/* [ q] */ Token::semicolon_token(),
|
||||||
};
|
};
|
||||||
|
|
||||||
utest_tokenizer_loop(&fixture, tk_v, c_debug_flag);
|
utest_tokenizer_loop(fixture, tk_v, fixture->debug_flag_);
|
||||||
|
|
||||||
log && fixture.log_memory_layout(&log);
|
log && fixture->log_memory_layout(&log);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("SchematikaParser-batch-qliteral1", "[reader2][SchematikaParser]")
|
TEST_CASE("SchematikaParser-batch-def2", "[reader2][SchematikaParser]")
|
||||||
{
|
{
|
||||||
// top-level recursive function definition
|
// top-level recursive function definition
|
||||||
|
|
||||||
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
||||||
|
|
||||||
constexpr bool c_debug_flag = false;
|
// [0] arena; [1] gc
|
||||||
scope log(XO_DEBUG(c_debug_flag), xtag("test", testname));
|
constexpr std::array<bool, 2> c_debug_flag_v = {{false, false}};
|
||||||
|
test_driver(testname,
|
||||||
|
&test_batch_def2,
|
||||||
|
c_debug_flag_v);
|
||||||
|
}
|
||||||
|
|
||||||
ParserFixture fixture(testname, false /*!gc*/, c_debug_flag);
|
void test_batch_qliteral1(ParserFixture * fixture)
|
||||||
auto parser = fixture.parser_;
|
{
|
||||||
|
scope log(XO_DEBUG(fixture->debug_flag_));
|
||||||
|
|
||||||
|
auto parser = fixture->parser_;
|
||||||
|
|
||||||
parser->begin_interactive_session();
|
parser->begin_interactive_session();
|
||||||
|
|
||||||
|
|
@ -1740,22 +1768,30 @@ namespace xo {
|
||||||
/* [ 4] */ Token::semicolon_token(),
|
/* [ 4] */ Token::semicolon_token(),
|
||||||
};
|
};
|
||||||
|
|
||||||
utest_tokenizer_loop(&fixture, tk_v, c_debug_flag);
|
utest_tokenizer_loop(fixture, tk_v, fixture->debug_flag_);
|
||||||
|
|
||||||
log && fixture.log_memory_layout(&log);
|
log && fixture->log_memory_layout(&log);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("SchematikaParser-batch-qliteral2", "[reader2][SchematikaParser]")
|
TEST_CASE("SchematikaParser-batch-qliteral1", "[reader2][SchematikaParser]")
|
||||||
{
|
{
|
||||||
// top-level recursive function definition
|
// top-level recursive function definition
|
||||||
|
|
||||||
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
||||||
|
|
||||||
constexpr bool c_debug_flag = false;
|
// [0] arena; [1] gc
|
||||||
scope log(XO_DEBUG(c_debug_flag), xtag("test", testname));
|
constexpr std::array<bool, 2> c_debug_flag_v = {{false, false}};
|
||||||
|
test_driver(testname,
|
||||||
|
&test_batch_qliteral1,
|
||||||
|
c_debug_flag_v);
|
||||||
|
|
||||||
ParserFixture fixture(testname, false /*!gc*/, c_debug_flag);
|
}
|
||||||
auto parser = fixture.parser_;
|
|
||||||
|
void test_batch_qliteral2(ParserFixture * fixture)
|
||||||
|
{
|
||||||
|
scope log(XO_DEBUG(fixture->debug_flag_));
|
||||||
|
|
||||||
|
auto parser = fixture->parser_;
|
||||||
|
|
||||||
parser->begin_interactive_session();
|
parser->begin_interactive_session();
|
||||||
|
|
||||||
|
|
@ -1783,22 +1819,30 @@ namespace xo {
|
||||||
/* [ 9] */ Token::semicolon_token(),
|
/* [ 9] */ Token::semicolon_token(),
|
||||||
};
|
};
|
||||||
|
|
||||||
utest_tokenizer_loop(&fixture, tk_v, c_debug_flag);
|
utest_tokenizer_loop(fixture, tk_v, fixture->debug_flag_);
|
||||||
|
|
||||||
log && fixture.log_memory_layout(&log);
|
log && fixture->log_memory_layout(&log);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("SchematikaParser-batch-qlist", "[reader2][SchematikaParser]")
|
TEST_CASE("SchematikaParser-batch-qliteral2", "[reader2][SchematikaParser]")
|
||||||
{
|
{
|
||||||
// top-level recursive function definition
|
// top-level recursive function definition
|
||||||
|
|
||||||
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
||||||
|
|
||||||
constexpr bool c_debug_flag = false;
|
// [0] arena; [1] gc
|
||||||
scope log(XO_DEBUG(c_debug_flag), xtag("test", testname));
|
constexpr std::array<bool, 2> c_debug_flag_v = {{false, false}};
|
||||||
|
test_driver(testname,
|
||||||
|
&test_batch_qliteral2,
|
||||||
|
c_debug_flag_v);
|
||||||
|
|
||||||
ParserFixture fixture(testname, false /*!gc*/, c_debug_flag);
|
}
|
||||||
auto parser = fixture.parser_;
|
|
||||||
|
void test_batch_qlist(ParserFixture * fixture)
|
||||||
|
{
|
||||||
|
scope log(XO_DEBUG(fixture->debug_flag_));
|
||||||
|
|
||||||
|
auto parser = fixture->parser_;
|
||||||
|
|
||||||
parser->begin_interactive_session();
|
parser->begin_interactive_session();
|
||||||
|
|
||||||
|
|
@ -1821,22 +1865,29 @@ namespace xo {
|
||||||
/* [ 7] */ Token::semicolon_token(),
|
/* [ 7] */ Token::semicolon_token(),
|
||||||
};
|
};
|
||||||
|
|
||||||
utest_tokenizer_loop(&fixture, tk_v, c_debug_flag);
|
utest_tokenizer_loop(fixture, tk_v, fixture->debug_flag_);
|
||||||
|
|
||||||
log && fixture.log_memory_layout(&log);
|
log && fixture->log_memory_layout(&log);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("SchematikaParser-batch-qlist2", "[reader2][SchematikaParser]")
|
TEST_CASE("SchematikaParser-batch-qlist", "[reader2][SchematikaParser]")
|
||||||
{
|
{
|
||||||
// top-level recursive function definition
|
// top-level recursive function definition
|
||||||
|
|
||||||
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
||||||
|
|
||||||
constexpr bool c_debug_flag = false;
|
// [0] arena; [1] gc
|
||||||
scope log(XO_DEBUG(c_debug_flag), xtag("test", testname));
|
constexpr std::array<bool, 2> c_debug_flag_v = {{false, false}};
|
||||||
|
test_driver(testname,
|
||||||
|
&test_batch_qlist,
|
||||||
|
c_debug_flag_v);
|
||||||
|
}
|
||||||
|
|
||||||
ParserFixture fixture(testname, false /*!gc*/, c_debug_flag);
|
void test_batch_qlist2(ParserFixture * fixture)
|
||||||
auto parser = fixture.parser_;
|
{
|
||||||
|
scope log(XO_DEBUG(fixture->debug_flag_));
|
||||||
|
|
||||||
|
auto parser = fixture->parser_;
|
||||||
|
|
||||||
parser->begin_interactive_session();
|
parser->begin_interactive_session();
|
||||||
|
|
||||||
|
|
@ -1859,22 +1910,27 @@ namespace xo {
|
||||||
/* [ 7] */ Token::semicolon_token(),
|
/* [ 7] */ Token::semicolon_token(),
|
||||||
};
|
};
|
||||||
|
|
||||||
utest_tokenizer_loop(&fixture, tk_v, c_debug_flag);
|
utest_tokenizer_loop(fixture, tk_v, fixture->debug_flag_);
|
||||||
|
|
||||||
log && fixture.log_memory_layout(&log);
|
log && fixture->log_memory_layout(&log);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("SchematikaParser-batch-qarray", "[reader2][SchematikaParser]")
|
TEST_CASE("SchematikaParser-batch-qlist2", "[reader2][SchematikaParser]")
|
||||||
{
|
{
|
||||||
// top-level recursive function definition
|
|
||||||
|
|
||||||
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
||||||
|
|
||||||
constexpr bool c_debug_flag = false;
|
// [0] arena; [1] gc
|
||||||
scope log(XO_DEBUG(c_debug_flag), xtag("test", testname));
|
constexpr std::array<bool, 2> c_debug_flag_v = {{false, false}};
|
||||||
|
test_driver(testname,
|
||||||
|
&test_batch_qlist2,
|
||||||
|
c_debug_flag_v);
|
||||||
|
}
|
||||||
|
|
||||||
ParserFixture fixture(testname, false /*!gc*/, c_debug_flag);
|
void test_batch_qarray(ParserFixture * fixture)
|
||||||
auto parser = fixture.parser_;
|
{
|
||||||
|
scope log(XO_DEBUG(fixture->debug_flag_));
|
||||||
|
|
||||||
|
auto parser = fixture->parser_;
|
||||||
|
|
||||||
parser->begin_interactive_session();
|
parser->begin_interactive_session();
|
||||||
|
|
||||||
|
|
@ -1897,22 +1953,27 @@ namespace xo {
|
||||||
/* [ 7] */ Token::semicolon_token(),
|
/* [ 7] */ Token::semicolon_token(),
|
||||||
};
|
};
|
||||||
|
|
||||||
utest_tokenizer_loop(&fixture, tk_v, c_debug_flag);
|
utest_tokenizer_loop(fixture, tk_v, fixture->debug_flag_);
|
||||||
|
|
||||||
log && fixture.log_memory_layout(&log);
|
log && fixture->log_memory_layout(&log);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("SchematikaParser-batch-qdict0", "[reader2][SchematikaParser]")
|
TEST_CASE("SchematikaParser-batch-qarray", "[reader2][SchematikaParser]")
|
||||||
{
|
{
|
||||||
// top-level recursive function definition
|
|
||||||
|
|
||||||
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
||||||
|
|
||||||
constexpr bool c_debug_flag = true;
|
// [0] arena; [1] gc
|
||||||
scope log(XO_DEBUG(c_debug_flag), xtag("test", testname));
|
constexpr std::array<bool, 2> c_debug_flag_v = {{false, false}};
|
||||||
|
test_driver(testname,
|
||||||
|
&test_batch_qarray,
|
||||||
|
c_debug_flag_v);
|
||||||
|
}
|
||||||
|
|
||||||
ParserFixture fixture(testname, false /*!gc*/, c_debug_flag);
|
void test_batch_qdict0(ParserFixture * fixture)
|
||||||
auto parser = fixture.parser_;
|
{
|
||||||
|
scope log(XO_DEBUG(fixture->debug_flag_));
|
||||||
|
|
||||||
|
auto parser = fixture->parser_;
|
||||||
|
|
||||||
parser->begin_interactive_session();
|
parser->begin_interactive_session();
|
||||||
|
|
||||||
|
|
@ -1935,22 +1996,27 @@ namespace xo {
|
||||||
/* [ 5] */ Token::semicolon_token(),
|
/* [ 5] */ Token::semicolon_token(),
|
||||||
};
|
};
|
||||||
|
|
||||||
utest_tokenizer_loop(&fixture, tk_v, c_debug_flag);
|
utest_tokenizer_loop(fixture, tk_v, fixture->debug_flag_);
|
||||||
|
|
||||||
log && fixture.log_memory_layout(&log);
|
log && fixture->log_memory_layout(&log);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("SchematikaParser-batch-qdict1", "[reader2][SchematikaParser]")
|
TEST_CASE("SchematikaParser-batch-qdict0", "[reader2][SchematikaParser]")
|
||||||
{
|
{
|
||||||
// top-level recursive function definition
|
|
||||||
|
|
||||||
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
||||||
|
|
||||||
constexpr bool c_debug_flag = false;
|
// [0] arena; [1] gc
|
||||||
scope log(XO_DEBUG(c_debug_flag), xtag("test", testname));
|
constexpr std::array<bool, 2> c_debug_flag_v = {{false, false}};
|
||||||
|
test_driver(testname,
|
||||||
|
&test_batch_qdict0,
|
||||||
|
c_debug_flag_v);
|
||||||
|
}
|
||||||
|
|
||||||
ParserFixture fixture(testname, false /*!gc*/, c_debug_flag);
|
void test_batch_qdict1(ParserFixture * fixture)
|
||||||
auto parser = fixture.parser_;
|
{
|
||||||
|
scope log(XO_DEBUG(fixture->debug_flag_));
|
||||||
|
|
||||||
|
auto parser = fixture->parser_;
|
||||||
|
|
||||||
parser->begin_interactive_session();
|
parser->begin_interactive_session();
|
||||||
|
|
||||||
|
|
@ -1987,11 +2053,22 @@ namespace xo {
|
||||||
/* [ g] */ Token::semicolon_token(),
|
/* [ g] */ Token::semicolon_token(),
|
||||||
};
|
};
|
||||||
|
|
||||||
utest_tokenizer_loop(&fixture, tk_v, c_debug_flag);
|
utest_tokenizer_loop(fixture, tk_v, fixture->debug_flag_);
|
||||||
|
|
||||||
log && fixture.log_memory_layout(&log);
|
log && fixture->log_memory_layout(&log);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
TEST_CASE("SchematikaParser-batch-qdict1", "[reader2][SchematikaParser]")
|
||||||
|
{
|
||||||
|
const auto & testname = Catch::getResultCapture().getCurrentTestName();
|
||||||
|
|
||||||
|
// [0] arena; [1] gc
|
||||||
|
constexpr std::array<bool, 2> c_debug_flag_v = {{false, false}};
|
||||||
|
test_driver(testname,
|
||||||
|
&test_batch_qdict1,
|
||||||
|
c_debug_flag_v);
|
||||||
|
}
|
||||||
|
|
||||||
} /*namespace ut*/
|
} /*namespace ut*/
|
||||||
} /*namespace xo*/
|
} /*namespace xo*/
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue