about summary refs log tree commit diff homepage
path: root/test/Feature
AgeCommit message (Collapse)Author
2020-06-25Enforce fork/branch limits in branch() and fix double terminationFrank Busse
* extend help messages for -max-memory and -max-memory-inhibit * introduces branchingPermitted() * enforces fork/branch limits in branch() (vector version) * changes main loop * calls updateStates() before checkMemoryUsage() * calls updateStates() again in case we early terminate states This should prevent double termination for now. Other solutions are imho more expensive as we would have to compare possibly large vectors of states (either states(arr) in checkMemoryUsage() or removedStates in terminateState()).
2020-06-25fix Executor: initializeGlobalAliasesJulian Büning
2020-06-19Added test reported in https://github.com/klee/klee/issues/189 for byval ↵Cristian Cadar
variadic arguments
2020-06-19Renamed Vararg.c to VarArg.c for consistency with the other var arg tests ↵Cristian Cadar
and reformatted comments.
2020-06-19Added test checking for correct alignment of variadic argumentsCristian Cadar
2020-06-19Added test checking that KLEE correctly handles variadic arguments with the ↵Cristian Cadar
byval attribute
2020-06-06[Module] Add testcase for inline asm liftingMartin Nowack
2020-04-08test: add a new test for readStringAtAddressMarek Chalupa
Read strings from different parts of objects.
2020-01-18Fix handling of debug information for functionsMartin Nowack
Tracking function locations separately correctly without prefixing it with a directory.
2020-01-13Assume assembly.ll is local to the run.istats fileMartin Nowack
Assuming a `klee-out-*` directory is moved to a different path location, subsequent analysis of the run.istats with KCachegrind focusing on assembly is impossible as the `assembly.ll` cannot be found. The reason is that the absolute path of the object file (assembly.ll) is hard-coded as part of the generated run.istats. To fix this, assume that the file is local to the `run.istats`.
2019-10-07test/Feature/SolverTimeout.c: re-enable for Z3Julian Büning
2019-09-20Move intrinsics tests to the proper directoryMateusz Naściszewski
2019-09-20Add tests for saturating arithmeticMateusz Naściszewski
2019-07-30Use #include "klee/..." (instead of #include <klee/...>) consistently.Cristian Cadar
2019-07-29Fixed incorrect requires directiveCristian Cadar
2019-05-30fix tests for macOSJulian Büning
2019-05-30implement FunctionAliasPassJulian Büning
2019-05-30remove klee_alias_function()Julian Büning
this function can be used to modify the control flow of the program on different paths, enabling self-modifying code.
2019-05-06Add 'freebsd' feature in lit.cfg and use it to XFAIL LargeReturnTypes.cpp test.Gleb Popov
2019-04-04Add klee-stats test, fix microseconds bugTimotej Kapus
2019-03-21remove tests for LLVM <= 3.7Julian Büning
2019-03-18Disable optimisation for functions that contain KLEE callsMartin Nowack
Compilers are allowed to hoist function calls and do GVE. This is currently done even without `--optimization` enabled. This is unfortunate in the context of KLEE function calls that might depend on specific code position without direct control flow dependencies. In such cases, function calls can be hoisted. To circumvent this, disallow to optimise functions that contain such calls by default. This might reduce optimisation for some functions containing such function calls but still allows it for all others. This patch adds an additional pass, that detects all functions starting with a prefix `klee_` and disable optimisations for functions containing such calls. This is enabled by default but can be disabled by `--klee-call-optimisation=false`.
2019-03-18make test/Feature/srem.c more explicitJulian Büning
2019-03-15Renamed --seed-out to --seed-file and --seed-out-dir to --seed-dir, and ↵Cristian Cadar
placed them in the seeding category. Moved options and option categories in Executor.cpp to the klee namespace.
2019-03-13Renamed --no-output to --write-no-tests and placed it in the test case ↵Cristian Cadar
category (with --write-cov, --write-cvcs etc.)
2019-03-12Exclude testcases not compatible with MSanMartin Nowack
2019-03-12Removed unneeded and confusing disable-opt option, reformatted Optimize() ↵Cristian Cadar
function and updated some .ll tests to use --optimize=false instead of --disable-opt
2019-03-07tests: rename xxclang to clangxxFrank Busse
2019-03-07Renamed %llvmgcc and %llvmgxx to %clang and %clangxx respectively.Cristian Cadar
2019-03-05fix Executor::initializeGlobals for aliases pointing to another aliasJulian Büning
2018-12-19Renamed --stop-after-n-instructions to --max-instructions, as suggested by @251Cristian Cadar
2018-11-23Implemented memalign with alignmentLukas Wölfer
2018-11-05Check for stack overflow in a tested programMartin Nowack
Check if a state reaches the maximum number of stack frames allowed. To be performant, the number of stack frames are checked. In comparison, native execution checks the size of the stack. Still, this is good enough to find possible stack overflows. The limit can be changed with `-max-stack-frames`. The current default is 8192 frames.
2018-11-02Added test for the case where external calls are encountered but disallowedCristian Cadar
2018-11-02Replaced --no-externals and --allow-external-sym-calls with ↵Cristian Cadar
--external-calls, updated tests accordingly, and improved documentation on external calls
2018-11-02The test DeterministicSwitch.c does not need to allow external symbolic callsCristian Cadar
2018-10-29add %OOopt to recently added tests and ConcreteJulian Büning
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-24Add testcase for shift checkMartin Nowack
Validate non-optimised and optimised variant of added checks.
2018-10-24Add test case for div checkerMartin Nowack
Check that only important div instructions are annotated. Check the optimized case as well: the call to the validating function might not be part of the code anymore but already inlined - make sure the instruction still has the metadata attached.
2018-10-24Added lowering passRafael Zaehl
2018-10-17tests: disable CompressedExprLogging on zlib-less systemsFrank Busse
2018-09-06Use FileCheck and LINE instead of grep if possibleMartin Nowack
As we do not support LLVM 2.9 anymore, we can use FileCheck LINE instead of hard coding line numbers.
2018-09-06Avoid Vararg non-deterministic allocationMartin Nowack
Vararg test can fail if KLEE is able to resolve the intended out-of-bound memory address to a memory object. To avoid this, allocate memory explicitly deterministic with sufficient space between the allocations. Enables support for Mac OSX again
2018-08-01test: remove geq-llvm-3.4Julian Büning
2018-07-28remove last comma from -debug-print-escaping-functionsJulian Büning
2018-07-28test/Feature/EscapingFunctionsAlias.c: clarify alias(ee) castingJulian Büning
2018-07-28add declarations to escapingFunctionsJulian Büning
2018-07-23ModuleUtil: improve and test valueIsOnlyCalledJulian Büning
* handle BlockAddress (which is not a valid function pointer) * there is no instruction with opcode 0 * add test for functionality
2018-07-12llvm38: test, change some testsJiri Slaby
alias in LLVM 3.8 has a new format, it adds an AliaseeTy parameter. So handle this in the tests. [v2] add comments about what was changed and why Signed-off-by: Jiri Slaby <jirislaby@gmail.com>