about summary refs log tree commit diff homepage
AgeCommit message (Collapse)Author
2017-02-14Added unit tests for ReadExpr::create() to check that constant folding is ↵Andrea Mattavelli
correctly applied
2017-02-14ReadExpr::create() was missing an opportunity to constant fold when handling ↵Dan Liew
constant arrays.
2017-02-14Merge pull request #590 from ccadar/stp-fork-errorAndrea Mattavelli
Added error message when STP fails to fork.
2017-02-14Added error message when STP fails to fork.Cristian Cadar
2017-02-14Merge pull request #592 from ccadar/remove-SMTAndrea Mattavelli
Removing unused lib/SMT directory
2017-02-13Removing unused lib/SMT directoryCristian Cadar
2017-02-13Merge pull request #506 from delcypher/travis_asan_ubsanCristian Cadar
Modify scripts and a test to allow ASan/UBSan builds.
2017-02-13Silenced two "control may reach end of non-void function [-Wreturn-type]" ↵Cristian Cadar
compiler warnings, one by adding an assert, and the other by refactoring the choose() function.
2017-02-13Merge pull request #588 from klee/revert-587-fix_stop_instructionsAndrea Mattavelli
Revert "Increased the type size for the stop-after-n-instructions option to a…"
2017-02-13Revert "Increased the type size for the stop-after-n-instructions option to ↵Cristian Cadar
a…"
2017-02-13Merge pull request #587 from andreamattavelli/fix_stop_instructionsCristian Cadar
Increased the type size for the stop-after-n-instructions option to a…
2017-02-13Increased the type size for the stop-after-n-instructions option to avoid ↵Andrea Mattavelli
too strict limitations
2017-02-11[CMake] More widely available rebuilding for runtimesLevente Kurusa
Signed-off-by: Levente Kurusa <levex@linux.com>
2017-02-10Merge pull request #582 from jirislaby/varargCristian Cadar
Fix Vararg test
2017-02-10test: fix broken Vararg testMartijn Thé
The helper function had int return type, while no value was being returned. Signed-off-by: Jiri Slaby <jslaby@suse.cz>
2017-01-28[cmake] add PATH_SUFFIXES needed to find z3 on FedoraKevin Laeufer
2017-01-19In legacy build system fix building libkleeRuntest when buildingDan Liew
with ASan.
2017-01-19Teach both build systems to pass the user provided CXXFLAGS and CFLAGSDan Liew
when using the native compiler in system tests. This fixes the `libkleeruntest` tests when building with ASan.
2017-01-19Fix the Autoconf/Makefile build system when building with coverageDan Liew
flags. The old build system stupidly propagates flags for the host C compiler into the flags for the C bitcode compiler leading to unwanted instrumentation being added to KLEE's runtime.
2017-01-19[TravisCI] Modify TravisCI/Docker build scripts to support doing ASan/UBSan ↵Dan Liew
builds of KLEE. Two configurations (one for each build system) have been added to TravisCI to do an ASan build.
2017-01-19Fix `Feature/MemoryLimit.c` test when building KLEE with ASan.Dan Liew
When building with ASan the `mallinfo()` function is intercepted. However the currently implementation is just a stub that always returns 0. So instead use the public API of the sanitizer runtime to get the amount of currently allocated memory when KLEE is built with ASan. Unfortunately it appears that the way to detect building with ASan differs between Clang and GCC. There was also a sanitizer runtime API change too. This was tested with * Clang 3.4, 3.5, and 3.9.0 * GCC 4.8, 4.9, 5.2, 5.4 and, 6.2.1.
2017-01-18Merge pull request #569 from delcypher/cmake_remove_enable_tests_optionAndrea Mattavelli
[CMake] Remove `ENABLE_TESTS` CMake cache option.
2017-01-18[CMake] Remove `ENABLE_TESTS` CMake cache option.Dan Liew
The intention of this option was to provide a switch that can be used to globally enable/disable tests. This option ended up causing a lot of confusion as can be seen on the discussion on writing documention for the new build system. https://github.com/klee/klee.github.io/pull/53 So it was decided to remove this option. This fixes #568 .
2017-01-18Merge pull request #546 from delcypher/cmake_rename_test_targetsCristian Cadar
[CMake] Rename "integrationtests" to "systemtests", removed some undocumented targets and other build changes
2017-01-16[CMake] If CMP0037 policy is available set it to NEW so that weDan Liew
disallow using reserved target names.
2017-01-16[CMake] Only add dependencies to `check` if the target is enabled.Dan Liew
Surprisingly the old code still worked even when the target didn't exist.
2017-01-16Remove undocumented and unused `check-local`, `check-dg` and `check-lit`Dan Liew
targets from Autoconf/Makefile build system. Having these around just confuses things.
2017-01-16Rename old build system targets so thatDan Liew
* lit tests are run by the `systemtests` target * The `check` target runs the `systemtests` and `unittests` target This make its target names consistent with the CMake build system.
2017-01-16[CMake] Rename "integrationtests" to "systemtests".Dan Liew
This was a proposal from #500. @andreamattavelli pointed out that the lit tests are really system tests rather than integration tests so this commit fixes the inappropriate naming that I chose.
2017-01-16Merge pull request #566 from delcypher/fix_libkleeruntestAndrea Mattavelli
Fixes and testing for libkleeRuntest
2017-01-14Change how error handling is done in libkleeRuntest.Dan Liew
Previously error messages would be emitted but execution would continue which might not be desirable. Now a wrapper function (for fprintf) `report_internal_error()` is used which will cause the program to exit. The older behaviour of continuing to execute after an error can be achieved by setting a new environment variable `KLEE_RUN_TEST_ERRORS_NON_FATAL`. This commit also adds a test for each error case.
2017-01-14Fix bug reported privately by @danielschemmel .Dan Liew
If KLEE generates ktest files with `--posix-runtime` then if replaying using libkleeRuntest then replay would be incorrect because the `model_version` object would be unintentionally used during replay. For now just skip over that object and try the next one. Also emit a warning if the object names don't match.
2017-01-14Write tests to test `libkleeRuntest`. The `replay_posix_runtime.c`Dan Liew
test is marked XFAIL because there is a bug in the implementation of `libkleeRuntest`. Quite a few changes had to be made to the lit configuration in order to support these tests. To run the tests I had to fix #480 for the autoconf/Makefile build system otherwise the `libkleeRuntest` library would not be found by the system linker at runtime.
2017-01-08tests: Added substitution for llvm-arAdrian Herrera
Brings llvm-ar into line with llvm-as and lli, removing the assumption that llvm-ar is installed system wide
2016-12-28Fix two issues with AC_LINK_IFELSE for metaSMT:Hoang M. Le
1. It expects only 2 arguments, so if linking succeeds, nothing will happen (thanks to []), otherwise the message "checking for new_bitvector() in -lmetaSMT" will appear. The latter is that what we currently observe, which means linking actually failed. 2. The reason for linking failure is the use of "-lmetaSMT" in LDFLAGS. AC_LINK_IFELSE does approximately the following: ${CXX} ... -lmetaSMT ${EXECUTABLE_NAME} ${LIBS}, which causes "libmetaSMT cannot be found" (at least on Ubuntu Xenial, where ${LIBS} = -lz). After consulting https://www.gnu.org/software/autoconf/manual/autoconf-2.66/html_node/Running-the-Linker.html, adding "-lmetaSMT" to ${LIBS} seems to be the correct solution.
2016-12-28Changed preferred permissions from 0622 to the more standard 0644.Cristian Cadar
2016-12-23rerun lit tests for non-default metaSMT backendsHoang M. Le
2016-12-23Merge pull request #552 from delcypher/macos_fixesCristian Cadar
macOS fixes
2016-12-19Fix -Wformat warnings emitted by Apple Clang (800.0.42.1).Dan Liew
2016-12-19[CMake] Fix linker warning about mixed linking modes when LLVM wasDan Liew
built with `-fvisibility-inlines-hidden`. This was observed when using a bottled version of LLVM 3.4 on macOS that appears to have been built with this option.
2016-12-18Merge pull request #549 from delcypher/fix_travisci_errexitCristian Cadar
Fixes and clean ups in the TravisCI scripts
2016-12-18CMake: Fixed the LLVM version regexAdrian Herrera
When trying to KLEE with a version of LLVM (specifically, 3.5) built from Github (https://github.com/llvm-mirror/llvm/tree/release_35) the regex in find_llvm.cmake failed to match the LLVM version string because it was suffixed with "svn" - i.e. "3.5.2svn". Added the optional "svn" suffix to the CMake regex to fix this.
2016-12-18[TravisCI] When building with the old build system move backDan Liew
to the root of the build tree after doing the hack the generate the lit configuration files. This will make it easier in the future to run more test configurations (e.g. by passing options to lit to change KLEE's behaviour).
2016-12-18[TravisCI] Remove `set +e` commands so that when running tests we failDan Liew
fast rather than continuing to run the tests (due to `set -e` at the beginning of the script). Although this gives less information in the event of a broken build it means our builds might finish faster if they are broken and it also simplifies the script significantly.
2016-12-17[TravisCI] Fix bug where TravisCI build scripts would carry on executingDan Liew
even though configure/build failed. This due to using the `&&` operator which means failure of commands to execute in this compound statement will not trigger the script to exit as requested by `set -e`.
2016-12-15Merge pull request #542 from adrianherrera/typo-fixAndrea Mattavelli
Typo fix when compiling with LLVM 3.5 and above
2016-12-15Typo fix when compiling with LLVM 3.5 and aboveAdrian Herrera
Replaced an incorrect comma with a semicolon in the Executor constructor.
2016-12-10Merge pull request #537 from delcypher/cmake_fix_tcmalloc_rebuildCristian Cadar
[CMake] Fix bug with enabling and then disabling TCMalloc support
2016-12-09[CMake] Fix bug where if KLEE was built with `ENABLE_TCMALLOC`Dan Liew
and then re-configured with `ENABLE_TCMALLOC` set to OFF then `klee/Config/config.h` was not correctly re-generated.
2016-12-09Merge pull request #535 from delcypher/cmake_fix_bitcode_rebuild_on_flag_changeCristian Cadar
[CMake] Fix bugs in the Makefile bitcode build system