summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTim King <taking@google.com>2016-11-11 16:25:05 -0800
committerTim King <taking@google.com>2016-11-11 16:25:05 -0800
commit95ec94bd66d5b37e5e33f32024e400dd37ddd863 (patch)
tree0d90d1f0765c88307c429172d69ae9002f1fa0d4 /test
parent7e84a5e76ba83b5f73760589efb051970d58172f (diff)
Deleting successfully parsed commands in the parser_black unit test.
Diffstat (limited to 'test')
-rw-r--r--test/unit/parser/parser_black.h38
1 files changed, 23 insertions, 15 deletions
diff --git a/test/unit/parser/parser_black.h b/test/unit/parser/parser_black.h
index 595280491..880d2480b 100644
--- a/test/unit/parser/parser_black.h
+++ b/test/unit/parser/parser_black.h
@@ -79,6 +79,7 @@ protected:
Command* cmd;
while((cmd = parser->nextCommand()) != NULL) {
Debug("parser") << "Parsed command: " << (*cmd) << endl;
+ delete cmd;
}
TS_ASSERT( parser->done() );
@@ -97,19 +98,24 @@ protected:
// cerr << "Testing bad input: '" << badInput << "'\n";
// Debug.on("parser");
- Parser *parser =
- ParserBuilder(d_exprManager,"test")
- .withStringInput(badInput)
- .withOptions(d_options)
- .withInputLanguage(d_lang)
- .withStrictMode(strictMode)
- .build();
- TS_ASSERT_THROWS
- ( while(parser->nextCommand());
- cout << "\nBad input succeeded:\n" << badInput << endl;,
- const ParserException& );
-// Debug.off("parser");
- delete parser;
+ Parser* parser = ParserBuilder(d_exprManager, "test")
+ .withStringInput(badInput)
+ .withOptions(d_options)
+ .withInputLanguage(d_lang)
+ .withStrictMode(strictMode)
+ .build();
+ TS_ASSERT_THROWS(
+ {
+ Command* cmd;
+ while ((cmd = parser->nextCommand()) != NULL) {
+ Debug("parser") << "Parsed command: " << (*cmd) << endl;
+ delete cmd;
+ }
+ cout << "\nBad input succeeded:\n" << badInput << endl;
+ },
+ const ParserException&);
+ // Debug.off("parser");
+ delete parser;
}
void tryGoodExpr(const string goodExpr) {
@@ -365,8 +371,10 @@ public:
super::tearDown();
}
- void setupContext(Smt2& parser) {
- parser.addTheory(Smt2::THEORY_CORE);
+ virtual void setupContext(Parser& parser) {
+ if(dynamic_cast<Smt2*>(&parser) != NULL){
+ dynamic_cast<Smt2*>(&parser)->addTheory(Smt2::THEORY_CORE);
+ }
super::setupContext(parser);
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback