about summary refs log tree commit diff homepage
path: root/test/lit.cfg
AgeCommit message (Collapse)Author
2019-03-12Add support to compile KLEE with MemorySanitizer (MSan)Martin Nowack
2019-03-07tests: rename xxclang to clangxxFrank Busse
2019-03-07Renamed %llvmgcc and %llvmgxx to %clang and %clangxx respectively.Cristian Cadar
2018-10-26Added gen-bout tool to generate ktest file (file.bout) using specified ↵Andrew Santosa
concrete arguments and files. * Sample use cases: * Using an interesting input as a seed, such as a crashing input. * Analyzing the path condition of a crashing input. * Also added the test: test/Runtime/POSIX/GenBout.c
2018-10-26llvm5: test, add -disable-O0-optnone to -O0Jiri Slaby
Otherwise optimizations done in klee won't have any effect. Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
2018-10-17tests: disable CompressedExprLogging on zlib-less systemsFrank Busse
2018-10-10cmake/lit: add asan/non-asan, ubsan/non-ubsan flagsFrank Busse
2018-07-02test/lit.cfg: remove obsolete hack from (LLVM < 3.0 is no longer supported)Julian Büning
2018-05-24test: add versions of some tests for LLVM 3.7Richard Trembecký
Clone some tests to have their 3.7 version. 'call's, 'load's and 'getelementptr's match the new specification in them. @andreamattavelli: Fixed test cases: BitCastAlias test cases included modification to alias specifications that require LLVM 3.8 [v2] added comments what was changed and why [v3] the new tests are without suffix, the old ones have ".leq36". Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
2017-08-10Added a basic test for klee-replayCristian Cadar
2017-07-23Updated test cases to reflect removal of LLVM 2.9Martin Nowack
2017-05-24travis CI: add LLVM 3.5 and 3.6 testsJiri Slaby
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
2017-04-06[NFC] Reindent `test/lit.cfg` and add vim mode line to use rightDan Liew
indentation and syntax highlighting.
2017-04-06test: lit, add geq/lt-llvm- configsJiri Slaby
This is useful for testing ranges. Especially when tests are run on later LLVM versions. This code is funny as it uses 2, 3, and 4 spaces for indentation :). This is extensively used in #605. Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
2017-03-15[Lit] Add system information (linux/darwim) to LIT configuration. Added ↵Dan Liew
'not-*' features that exist if target operating system does not match a list of know operating systems.
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-11-23Renamed .pc to .kquery (kleaver query)Eric Rizzi
2016-02-14Try to fix the TravisCI build when using Z3 as the solver. TheDan Liew
``test/Feature/SolverTimeout.c`` test fails there. The error message I see in TravisCI is ``` Command 2: "/home/travis/build/klee/build/klee/Release+Asserts/bin/klee" "--output-dir=/home/travis/build/klee/build/klee/test/Feature/Output/SolverTimeout.c.tmp.klee-out" "--max-solver-time=1" "/home/travis/build/klee/build/klee/test/Feature/Output/SolverTimeout.c.tmp1.bc" Command 2 Result: -11 Command 2 Output: Command 2 Stderr: KLEE: output directory is "/home/travis/build/klee/build/klee/test/Feature/Output/SolverTimeout.c.tmp.klee-out" KLEE: WARNING: undefined reference to function: printf KLEE: ERROR: (location information missing) divide by zero KLEE: NOTE: now ignoring this error at this location 0 klee 0x0000000000da87d2 llvm::sys::PrintStackTrace(_IO_FILE*) + 34 1 klee 0x0000000000da85c9 2 libpthread.so.0 0x00007fca19936cb0 3 libz3.so 0x00007fca19079826 4 librt.so.1 0x00007fca1747640c 5 libpthread.so.0 0x00007fca1992ee9a 6 libc.so.6 0x00007fca1776c38d clone + 109 ``` The issue appears to be racey as I had to run several copies of KLEE in parallel for the bug to occur using Z3 4.4.1. I managed to get a coredump and got the backtrace from gdb for the crash which is ``` #0 0x00007f4841b11c46 in scoped_timer::imp::sig_handler (s=..., s@entry=...) at ../src/util/scoped_timer.cpp:112 #1 0x00007f484031e0ff in timer_sigev_thread (arg=0x7f48380008c0) at ../nptl/sysdeps/unix/sysv/linux/timer_routines.c:63 #2 0x00007f484291c182 in start_thread (arg=0x7f483db46700) at pthread_create.c:312 #3 0x00007f484061b47d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 ``` The crash appears to be in Z3 itself but I can't reproduce the issue when using the version of Z3 from the master branch. For now we simply workaround the issue by not running the ``test/Feature/SolverTimeout.c`` test when using Z3 as the solver. We should revisit this issue when another stable release of Z3 is made.
2015-12-19Implement support for lowering the ``llvm.objectsize`` intrinsicDan Liew
introduced in LLVM 2.7. Previously KLEE would emit the following error message when ``IntrinsicLowering::LowerIntrinsicCall()`` was called on the intrinsic ``` LLVM ERROR: Code generator does not support intrinsic function 'llvm.objectsize.i64.p0i8'! ``` The ``IntrinsicCleaner`` pass now lowers this intrinsic to a constant integer depending on the second argument to the intrinsic. This corresponds to the case where the size of the object pointed to by the first argument is unknown. An alternative design would be to handle this intrinsic in the Executor where is actually possible to know the size of objects during execution. However that would be much more complicated because if the pointer is symbolic we would have to fork for every object that could be pointed to. The implementation is similar to #260 but we handle the second argument to the intrinsic correctly and also have a simple test case. Unfortunately we have to have a different version of the test case for LLVM 2.9 because the expected suffix for the intrinsic is different in LLVM 2.9.
2015-12-16Propagate AddressSanitizer, LeakSanitizer (part of AddressSanitizer),Dan Liew
MemorySanitzer and ThreadSanitizer environment variables when running lit tests. This makes it easy suppress errors in sanitized versions of KLEE
2014-10-08Fixes support for passing arguments to klee in the ConcreteTests.Willem
This is for use with llvm-lit --param=klee_opts=... Fixes lit.cfg to not have an extranous space behind the klee command. Augments ConcreteTest to accept and pass arguments to klee. Augments all the ConcreteTest cases to wrap %klee in quotes. Without wrapping %klee the extra arguments will be seens as arguments to ConcreteTest.py resulting in an unknown argument error.
2014-09-15Generate fake files for test casesMartin Nowack
2014-09-13[tests] Add support for testing LLVM version in REQUIRES: and XFAIL: lines.Daniel Dunbar
- You can now make tests disabled, or expected to fail, by writing something like: // XFAIL: llvm-3.4 or // REQUIRES: not-llvm-3.4 - This mechanism doesn't support version comparisons, it is mostly intended to help with switching over to new LLVM versions and incrementally working through the test failures.
2014-09-12Add support for testing Concrete tests via lit.Daniel Dunbar
Fixes #96.
2014-04-14Update to new lit configuration to support changes in LLVM3.4Martin Nowack
2014-02-09Merge pull request #100 from delcypher/pass-param-llvm-litCristian Cadar
Allow passing arbitrary command line flags to klee and kleaver when running llvm-lit
2014-02-04Explicitly propagate CPLUS_INCLUDE_PATH and C_INCLUDE_PATH environmentDan Liew
variables in llvm-lit. This should hopefully fix the build bot. The propagation of environmental variables was also slightly refactored.
2014-01-28Allow passing arbitrary command line flags to klee and kleaverDan Liew
when running llvm-lit. This is done by doing something like $ cd test/ $ llvm-lit --param klee_opts=--xxx --param kleaver_opts=--yyy . This would pass "--xxx" as an extra option to KLEE when running tests and would pass "--yyy" as an extra option to kleaver when running tests. This feature has been added to make it easy to pass different flags to KLEE or Kleaver without needing to modify tests or recompile KLEE with different defaults (yuck!).
2014-01-20Give absolute paths to KLEE's tools in lit.cfg . This fixes a longDan Liew
standing FIXME:
2014-01-20Removed all of llvm-lit's dependence on DejaGNU. A few thingsDan Liew
are now broken and will be fixed shortly.
2014-01-20Fix Feature/Envp.c test for llvm-lit by providing the PWD environmental variableDan Liew
in test environment.
2014-01-20Allow llvm-lit from 2.9 to work by hacking %T substitution variable.Dan Liew
2014-01-20Put llvm tools directory at beginning of PATH list so that the LLVMDan Liew
version that KLEE and llvm-as use is the same.
2014-01-20Add LLVM tool directory to PATH when running tests with llvm-lit.Dan Liew
This is needed because the helper tool 'not' is used by some tests
2014-01-20Removed use of deprecated Tcl parser for tests. This allowsDan Liew
llvm-lit from LLVM3.3 to actually run KLEE's testsuite. Things still seem to be broken though.
2010-05-02Sketch support for running KLEE tests using 'lit'.Daniel Dunbar
- Not working yet. Also, ditch a bunch of unused substitution variables from the site.exp config file. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@102872 91177308-0d34-0410-b5e6-96231b3b80d8