summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2018-03-21Fix 'make regress' (#1683)Andres Noetzli
Commit b8db52f9bad5b1053810c93f0067de8423349da3 removed the option to do "make regress" (I only tested with "make regressX" and "make check"). This commit reenables "make regress".
2018-03-21Refactor mkoptions (#1631)Mathias Preiner
This commit refactors code generation for options. It uses a new configuration format for defining options (*.toml) and a new Python script mkoptions.py to generate the source code and option documentation. The option behavior did not change for most of the options, except that for bool --enable-/--disable- long options enable/disable was removed. E.g. --enable-miplib-trick and --disable-miplib-trick got changed to --miplib-trick and --no-miplib-trick. This commit fixes also an issues with set-option/get-option via the SMT2 interface. Before long options were only accessible if the name included the =ARG part.
2018-03-21 Move regression tests to single Makefile.am (#1658)Andres Noetzli
Until now, regression tests were split across tens of different Makefile.am, which required a lot of code duplication and does not really seem to be in the spirit of automake. If we want to change the LOG_COMPILER/LOG_DRIVER for example, we have to change every single Makefile.am, which is cumbersome (I was able to get something semi-working by exporting those variables but it didn't seem very clean). Additionally, it made the output of the regression tests fairly verbose and split the output across multiple log files. Finally it also limited parallelism when running the regression tests (this fix lowers the time it takes to run regression level 1 from 3m to 1m45s on my machine with 16 threads). This commit moves all the regression tests into test/regress/Makefile.tests and changes test/regress/Makefile.am to deal with this new structure. Finally, it changes how the test summary in test/Makefile.am is produced: instead of relying on the log files for the subdirectories, it greps for the test results in the log files of the individual tests. Not the most elegant solution but we should probably anyway delegate that task to a Python script at some point.
2018-03-21Fix various regression tests (#1657)Andres Noetzli
While reorganizing the regression tests, I found three tests with a wrong status, one that CVC4 reported unknown for and some regression tests that had command line options set in the Makefile.am instead of the tests themselves. This commit fixes the status of the three regression tests (verified the status with Z3), adds command line options to make the previously "unknown" test work, and moves the command line options from the Makefile.am into the individual regression tests. The latter also required some minor changes to the regression script because it would not try to determine the expected output from the (set-info :status ...) command if there was one directive (such as EXPECT/COMMAND-LINE/etc.). This was an issue with the tests that now have a COMMAND-LINE directive.
2018-03-21Fix for string disequality processing (#1679)Andrew Reynolds
2018-03-20Internally remove redundant assertions and infer equalities in ↵Andrew Reynolds
NonLinearExtension (#1633)
2018-03-20Fix datatype dump regression. (#1672)Andrew Reynolds
2018-03-19Enable CEGQI for non-linear (#1674)Andrew Reynolds
2018-03-09Add support for SMT-LIB v2.5 command get-unsat-assumptions (#1653)Aina Niemetz
2018-03-09Skip (get-unsat-assumptions) tests not supported (#1656)Andres Noetzli
(get-unsat-assumptions) requires the proof infrastructure,so we can't run the regression tests if CVC4 has not been configured for it. This commit changes the regression script to skip tests containing (get-unsat-assumptions) when CVC4 has not been compiled with proof support.
2018-03-08Fix Travis for unit test compilation errors. (#1651)Mathias Preiner
make units does not fail if we have compile error for a unit test, however, make check does. -Wsuggest-override is now explicitly disabled for unit tests since CxxTest does not add override keywords to the generated source code and thus get a lot of compiler warnings. Further, this fixes some issues introduced with #1647 due to make units not failing on Travis and fixes the nightly builds.
2018-03-06Remove printf from output utilities (#1629)Andres Noetzli
This commit removes the unused printf functions from the output utilities. It also adds `const` keywords where possible. Finally, it removes overloaded `const char*` functions if the same function existed for `const std::string&` and the `const char*` version was only casting the `const char*` to an `std::string`. This conversion happens implicitly, so the `const char*` version is not needed.
2018-03-05Update semantics for string indexof and replace (#1630)Andrew Reynolds
2018-03-05Add support for check-sat-assuming. (#1637)Aina Niemetz
This adds support for check-sat-assuming. It further adds support for SmtEngine::query() over a vector of Expressions, e.g., smtEngine->query({a, b}); checks the validity (of the current input formula) under assumption (not (or a b)).
2018-02-27Minor fixes for rec-fun (#1616)Andrew Reynolds
2018-02-27Improve rewriter for string indexof (#1592)Andrew Reynolds
2018-02-23Add unit tests for BitVector, minor BV rewrite fix (#1622)Andres Noetzli
This commit adds unit tests for the BitVector class and adds some additional argument checks. Additionally, it fixes a minor issue in the ZeroExtendUltConst rule if the zero_extend was by 0 bits. In that case, the rule was calling BitVector::extract() with high < low.
2018-02-23Fix cd-simplification for strings (#1624)Andrew Reynolds
2018-02-22Minor improvements to string rewriter (#1572)Andrew Reynolds
2018-02-20Minor fixes and additions for transcendental functions (#1612)Andrew Reynolds
Also adds parsing support for PI in smt2 with syntax "real.pi".
2018-02-16Make regress1 default, only test regress0 on Travis. (#1611)Aina Niemetz
2018-02-15Fix corner case for rewrite of mult by pow 2 (#1601)Andrew Reynolds
2018-02-15Refactor regressions (#1581)Andrew Reynolds
2018-02-15Fix context memory manager unit test (#1609)Andres Noetzli
Commit 83f150c727f197c530d6f46a75b516eea52bed29 changed the flag that we use to determine whether to use the context memory manager or the debug version. However, the change was not reflected in the context memory manager unit test. This commit fixes the unit test to check the correct flag.
2018-02-14Quantifiers subdirectories (#1608)Andrew Reynolds
2018-02-09Renaming CHECK to CVC4_CHECK. This avoids name collisions with other popular ↵Tim King
assertion macros. This name is likely temporary while Assert() is deprecated. (#1590)
2018-02-08Updated copyrightAina Niemetz
2018-02-08Remove invalid regression test (#1579)Andres Noetzli
2018-02-07Adds a new CHECK macro that abort()s on failure. (#1532)Tim King
2018-02-07Add remaining transcendental functions (#1551)Andrew Reynolds
2018-02-06Fix two multiply-by-constant corner cases for bv rewriter (#1562)Andrew Reynolds
2018-02-06Fix rewrite for string replace (#1537)Andrew Reynolds
2018-02-05Statically eliminate redundant sygus constructors (#1560)Andrew Reynolds
2018-02-02Fix remaining synthesis solution regressions (#1557)Andrew Reynolds
2018-02-02Option to check solutions produced by SyGuS solver (#1553)Haniel Barbosa
2018-01-24Added unit tests for PLUS, NEG, NOT ICs for CBQI BV. (#1534)Aina Niemetz
2018-01-21Refactor and fix solveBvLit for CBQI BV. (#1526)Aina Niemetz
This refactors and simplifies solveBvLit() and fixes the following: - generate side conditions for BITVECTOR_NEG, BITVECTOR_NOT, BITVECTOR_PLUS, BITVECTOR_XOR over inequalities and disequality - fix CONCAT handling (generate side conditions rather then computing an inverse which was incorrect) - fix SIGN_EXTEND handling (same as with CONCATs)
2018-01-12Improvements for CBQI BV (#1504)Andrew Reynolds
2018-01-09Fix linearization for terms where the solve variable does not occur. (#1506)Mathias Preiner
2018-01-08Improvements to quant+BV/Bool variable elimination (#1495)Andrew Reynolds
2018-01-05Add UGT/SGT side conditions for AND/OR + other fixes. (#1481)Mathias Preiner
2018-01-03Global negate (#1466)Andrew Reynolds
2018-01-02Add side conditions for inequalities over BITVECTOR_UDIV for CBQI BV. (#1464)Aina Niemetz
We now can handle all cases of (in|dis)equality over BITVECTOR_UREM. This also simplifies some of the side conditions for equality.
2018-01-02Fix handling for UGT/SGT. (#1467)Mathias Preiner
Previously, we only handled the case x s < t. With this fix, we now get BITVECTOR_[SU]GT for litk if we encounter a literal t < x s.
2018-01-02Rewrites for BitVector multiplication (#1465)Andrew Reynolds
2017-12-29Add side conditions for inequalities over BITVECTOR_UREM for CBQI BV. (#1460)Aina Niemetz
We now can handle all cases of (in|dis)equality over UREM. Previously, we could not handle equality for index=0 and had to rewrite x % s = t to x - x / s * s. Since we can now handle this case, we do not apply this rewriting anymore.
2017-12-28Fix unit tests for ineq for CBQI BV. (#1456)Aina Niemetz
2017-12-28Add unit tests for side conditions for inequality for CBQI BV. (#1455)Aina Niemetz
2017-12-27Rel smt parser (#1446)Arjun Viswanathan
2017-12-20Fixes for cbqi-bv (#1449)Andrew Reynolds
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback