2424
2525#include < libsolidity/formal/ModelChecker.h>
2626
27+ #include < libsolidity/interface/SMTSolverCommand.h>
28+ #include < libsolidity/interface/UniversalCallback.h>
29+
2730#include < string>
2831
2932namespace solidity ::frontend::test
@@ -36,14 +39,16 @@ class SMTCheckerTest: public SyntaxTest
3639 {
3740 return std::make_unique<SMTCheckerTest>(_config.filename );
3841 }
39- SMTCheckerTest (std::string const & _filename);
42+ explicit SMTCheckerTest (std::string const & _filename);
4043
4144 void setupCompiler (CompilerStack& _compiler) override ;
4245 void filterObtainedErrors () override ;
4346
4447 void printUpdatedExpectations (std::ostream& _stream, std::string const & _linePrefix) const override ;
4548
4649protected:
50+ std::unique_ptr<CompilerStack> createStack () const override ;
51+
4752 /*
4853 Options that can be set in the test:
4954 SMTEngine: `all`, `chc`, `bmc`, `none`, where the default is `all`.
@@ -56,7 +61,7 @@ class SMTCheckerTest: public SyntaxTest
5661 Set in m_modelCheckerSettings.
5762 SMTShowUnproved: `yes`, `no`, where the default is `yes`.
5863 Set in m_modelCheckerSettings.
59- SMTSolvers: `all`, `cvc5`, `z3`, `none`, where the default is `all `.
64+ SMTSolvers: `all`, `cvc5`, `z3`, `eld`, ` none`, where the default is `z3 `.
6065 Set in m_modelCheckerSettings.
6166 BMCLoopIterations: number of loop iterations for BMC engine, the default is 1.
6267 Set in m_modelCheckerSettings.
@@ -67,6 +72,9 @@ class SMTCheckerTest: public SyntaxTest
6772 bool m_ignoreCex = false ;
6873
6974 std::vector<SyntaxTestError> m_unfilteredErrorList;
75+
76+ SMTSolverCommand smtCommand;
77+ UniversalCallback universalCallback;
7078};
7179
7280}
0 commit comments