14 Commits

Author SHA1 Message Date
Daniel Larraz
fd7e6d0620 cmake: Update targets to build and run API tests (#12127)
This PR adds new targets, `build-cppapitests` and `cppapitests`, for
building and running the C++ API tests, and uses `build-apitests` and
`apitests` for building and running the API tests across all languages
(C++, C, Python, etc.). It also adds a new target, `pyapitests`, for
running the Python API tests, and fixes the `capitests` target to run
the correct set of C API tests. In addition, it moves all issue-related
Python API tests to their own directory, as is already done for the C++
and C API tests.
2025-09-22 15:33:06 +00:00
Andrew Reynolds
b056bd2446 Add stable as a build type (#12128)
This adds `stable` as a build type, which is similar to `safe` but
permits incomplete proofs in regressions and the use of regular options
with `no-support:` fields.
2025-09-18 18:36:59 +00:00
Mathias Preiner
f19f42f377 Update copyright headers, add missing header documentation. (#11990)
Adds missing header documentation for new files, remove carriage returns
from new files.
2025-06-18 19:41:07 +00:00
Andrew Reynolds
cd4df2daff Add CI for safe-mode builds (#11869)
This ensures that regressions pass when configuring in `safe-mode`. Note
that *all* regression testers must now take into account whether we are
in a safe-mode (safe mode itself is not a new tester).

This makes the following changes:
- `safe-mode: yes|no` is now an entry in `--show-config`
- LibPoly and Cocoa are disabled by default when configuring with
`safe-mode`. We give a warning if the user specified otherwise.
- A few regressions are updated to have the appropriate options.
- Option and logic exceptions that are "admissible" in safe mode are
updated to contain the text `"in safe mode"`.
- Various options that are used in run_regression.py are upgraded to
"common" to ensure safe-mode is compatible with the tester. Removes a
few unecessary options in run_regression.py.
- Disables a number of unit tests and examples (in the CMake) that are
not applicable in safe mode.
- Adds a CI job to test a safe-mode build.

Note that the CPC tester fails due to not guarding against some unsafe
operators in the rewriter. I will address this in a separate PR.
2025-05-09 19:42:13 +00:00
Aina Niemetz
0647c4c107 Update copyright headers. (#11561)
Co-authored-by: Daniel Larraz <daniel-larraz@users.noreply.github.com>
2025-01-23 17:54:20 +00:00
Aina Niemetz
fe5a65e26b Reorganize issues in C++ API tests. (#11106) 2024-08-06 17:53:50 +00:00
Aina Niemetz
2e5ab8def5 c api: Add API test sep_log_api. (#11105)
Co-authored-by: Mathias Preiner <mathias.preiner@gmail.com>
2024-08-05 22:04:46 +00:00
Daniel Larraz
7ee7051df0 test: c api: Fix memory leaks in capi_issue11069 (#11116) 2024-08-02 12:29:30 +00:00
Andrew Reynolds
04190ae042 Fix for parsing incremental input (#11070)
When using the incremental input interface, the parser had the behavior
that if it was ever finished, it did not reset its "finished" flag even
if more input was added.

This makes the parser internally reallocate a lexer and parser if the
user had exhausted all their input.

Fixes #11069.

---------

Co-authored-by: Aina Niemetz <aina.niemetz@gmail.com>
Co-authored-by: Daniel Larraz <daniel-larraz@users.noreply.github.com>
2024-08-01 19:14:44 +00:00
Aina Niemetz
63b043746c c api: Add API test two_solvers. (#11104)
Co-authored-by: Daniel Larraz <daniel-larraz@users.noreply.github.com>
2024-07-31 08:17:54 +00:00
Aina Niemetz
a3f060fce4 c api: Add API test reset_assertions. (#11102)
Co-authored-by: Daniel Larraz <daniel-larraz@users.noreply.github.com>
2024-07-31 07:01:09 +00:00
Aina Niemetz
addb36365d c api: Add API test ouroborous. (#11101) 2024-07-31 05:46:15 +00:00
Aina Niemetz
26f7a35729 c api: Add API test smt2_compliance. (#11103) 2024-07-30 18:50:31 +00:00
Aina Niemetz
3777d8cfcf c api: Add api tests infrastructure and boilerplate C API test. (#11095) 2024-07-26 21:42:47 +00:00