summaryrefslogtreecommitdiff
path: root/test/unit
AgeCommit message (Collapse)Author
2018-10-20Add substr, contains and equality rewrites (#2665)Andres Noetzli
2018-10-19Remove autotools build system. (#2639)Mathias Preiner
2018-10-19Add helper to detect length one string terms (#2654)Andres Noetzli
This commit introduces a helper function to detect string terms that have exactly/at most length one. This is useful for a lot of rewrites because strings of at most length one are guaranteed to not overlap multiple components in a concatenation, which allows for more aggressive rewriting. This commit has been tested with --sygus-rr-synth-check for >1h on the string term grammar.
2018-10-17Show if ASAN build in --show-config (#2650)Andres Noetzli
This commit extends `--show-config` to show whether the current build is an ASAN build or not. This is done by moving a detection that was previously done for the unit tests into base/configuration_private.h. In addition to being convenient, this allows us to easily exclude regression tests from ASAN builds.
2018-10-16cmake: Add CxxTest include directory to unit test includes. (#2642)Mathias Preiner
2018-10-15Delay initialization of theory engine (#2621)Andrew Reynolds
This implements solution number 2 for issue #2613.
2018-10-15Add more (str.replace x y z) rewrites (#2628)Andres Noetzli
2018-10-12 Add rewrites for str.replace in str.contains (#2623)Andres Noetzli
This commit adds two rewrites for `(str.contains (str.replace x y x) z) ---> (str.contains x z)`, either when `z = y` or `(str.len z) <= 1`. Additionally, the commit adds `(str.contains (str.replace x y z) w) ---> true` if `(str.contains x w) --> true` and `(str.contains z w) ---> true`.
2018-10-11Improve reasoning about empty strings in rewriter (#2615)Andres Noetzli
2018-10-10Add length-based rewrites for (str.substr _ _ _) (#2610)Andres Noetzli
2018-10-08BV instantiator: Factor out util functions. (#2604)Aina Niemetz
Previously, all util functions for the BV instantiator were static functions in theory/quantifiers/cegqi/ceg_bv_instantiator.cpp. For the corresponding unit test, it was therefore required to include this cpp file in order to test these functions. This factors out these functions into a theory/quantifiers/cegqi/ceg_bv_instantiator_utils.(cpp|h). Asan reported errors for the corresponing unit test because of this.
2018-10-08 BV inverter: Factor out util functions. (#2603)Aina Niemetz
Previously, all invertibility condition functions were static functions in theory/quantifiers/bv_inverter.cpp. For the corresponding unit test, it was therefore required to include this cpp file in order to test these functions. This factors out these functions into a theory/quantifiers/bv_inverter_utils.(cpp|h).
2018-10-04New C++ API: Add checks for Sorts. (#2519)Aina Niemetz
2018-10-02unit: Fix ASAN detection for GCC. (#2561)Mathias Preiner
2018-10-02Fix "catching polymorphic type by value" warnings (#2556)Andres Noetzli
When using the `TS_ASSERT_THROWS` marco from CxxTest, we have to make sure that we use a reference type for the exception, otherwise the unit test tries to catch the exception by value, resulting in "catching polymorphic type by value" warnings.
2018-10-01cmake: Add build target build-tests to build all test dependencies. (#2558)Mathias Preiner
2018-09-28Rewrites for (= "" _) and (= (str.replace _) _) (#2546)Andres Noetzli
2018-09-27cmake: Add CxxTest finder module to allow custom paths. (#2542)Mathias Preiner
2018-09-26cmake: Fix test target dependency issues. (#2540)Mathias Preiner
2018-09-24Unify rewrites related to (str.contains x y) --> (= x y) (#2512)Andres Noetzli
2018-09-24Make string rewriter unit tests more robust (#2520)Andres Noetzli
This commit changes the unit test for the string rewriter to use the extended rewriter instead of the regular rewriter to make it more robust, e.g. to different orderings in conjunctions.
2018-09-22cmake: Run make coverage in parallel by default.Mathias Preiner
2018-09-22cmake: Refactor cvc4_add_unit_test macro to support test names with '/'.Aina Niemetz
Required for consistent naming of tests, unit test names now also use the test naming scheme <category>/<subdir>/<test name>, e.g., unit/theory/theory_bv_white.
2018-09-22cmake: More documentation, clean up.Aina Niemetz
2018-09-22cmake: Do not build examples and unit and system tests by default.Aina Niemetz
2018-09-22cmake: Added target checkAina Niemetz
Targets 'check', 'units', 'systemtests' and 'regress' are now run in parallel with the number of available cores by default. This can be overriden by passing ARGS=-jN.
2018-09-22cmake: Only build libcvc4 and libcvc4parser as libraries.Mathias Preiner
The sources of all previous libraries are now added to libcvc4 and built as libcvc4. This removes circular dependencies between libcvc4 and libexpr. Further, we now only have one parser library and don't build additional libraries for each language.
2018-09-22cmake: Add dependencies for test targets and support for make coverage.Aina Niemetz
2018-09-22cmake: Enable parallel execution for test targets regress, units, systemtests.Aina Niemetz
2018-09-22cmake: Build unit tests only if -DENABLE_UNIT_TESTING=ON.Aina Niemetz
2018-09-22cmake: Disable W-suggest-override for unit tests.Mathias Preiner
2018-09-22cmake: Add target units.Aina Niemetz
2018-09-22cmake: Add support for CxxTest.Aina Niemetz
2018-09-22cmake: Added initial build infrastructure.Aina Niemetz
2018-09-19Add rewrites for str.contains + str.replace/substr (#2496)Andres Noetzli
2018-09-18Fix issue with str.idof in evaluator (#2493)Andres Noetzli
2018-09-14Refactor how assertions are added to decision engine (#2396)Andres Noetzli
Before refactoring the preprocessing passes, we were using three arguments to add assertions to the decision engine. Now all that information lives in the AssertionPipeline. This commit moves the AssertionPipeline to its own file and changes the `addAssertions()` methods related to the decision engine to take an AssertionPipeline as an arguement instead of three separate ones. Additionally, the TheoryEngine now uses an AssertionPipeline for lemmas.
2018-09-10Add (str.replace (str.replace y w y) y z) rewrite (#2441)Andres Noetzli
2018-08-23Add missing overrides in unit tests (#2362)Andres Noetzli
2018-08-17Remove support for flipDecision (#2319)Andrew Reynolds
2018-08-13Removing support for T* and const T* attributes. (#2297)Tim King
* Removing support for T* and const T* attributes. These are unused.
2018-08-10Do not use static initialization in CxxTest runner (#2293)Andres Noetzli
The static initialization in the CxxTest runner was causing problems when having `std::unique_ptr`s in test classes. When the ExprManager's deconstructor is called, we count on certain static objects to be around (e.g. https://github.com/CVC4/CVC4/blob/0a02fd2b69c0c0f454fc33d8028b24f4fcf431de/src/expr/attribute_internals.h#L508). If the ExprManager is (indirectly) owned by a `std::unique_ptr` in a static class, however, there are no such guarantees as the destruction order of static objects is not defined. This commit adds a flag for CxxTest to not use static initialization in the test runner, which solves the issue. Additionally, the commit fixes a warning about a missing virtual deconstructor in ParserBlack that came up after using the new flags. This fixes an issue reported in the nightly builds.
2018-08-08Plug solver API object into parser. (#2240)Aina Niemetz
2018-08-08 Proposal for adding map utility functions to CVC4. (#2232)Tim King
* Proposal for adding map utility functions to CVC4.
2018-08-01 InteractiveShell: Remove redundant options argument. (#2244)Aina Niemetz
2018-07-30Add support for incremental eager bit-blasting. (#1838)Mathias Preiner
Eager incremental solving is achieved via solving under assumptions. As soon as incremental and eager bit-blasting is enabled, assertions are passed to the SAT solver as assumptions rather than assertions. This requires the eager SAT solver to support incremental solving, which is currently only supported by CryptoMiniSat.
2018-07-05sygusComp2018: Improve string rewriter (#2141)Andres Noetzli
2018-07-04Remove unused CDVector (#2139)Andres Noetzli
2018-07-02Refactor ApplySubsts preprocessing pass. (#2120)Aina Niemetz
2018-06-28Split and document ceg theory instantiators (#2094)Andrew Reynolds
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback