about summary refs log tree commit diff homepage
path: root/test
AgeCommit message (Collapse)Author
2014-09-14Upgrade ConcreteTest.py to work with Python3 (Python 2.7.x should stillDan Liew
work)
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-13[test/Concrete] Remove the Invoke*.ll tests.Daniel Dunbar
- LLVM changed the exception handling semantics a lot, and we can't write compatible tests across the versions. Unfortunately I am afraid this probably also means KLEE's exception handling semantics are broken for LLVM 3.4+, but our C++ support is spotty at best. These tests should probably be replaced with ones in a source language that supports exceptions if and when someone wants to make that work.
2014-09-13[test/Concrete] Update LLVM IR syntax.Daniel Dunbar
2014-09-13test/lit.site.cfg is never deleted, leading to misconfiguration errors.Cristian Cadar
Some additional cleaning in test/Makefile
2014-09-13These tests require --optimize=false to run successfully.Cristian Cadar
2014-09-12[Module] Fix handling of instructions without debug info.Daniel Dunbar
- The change in 6829fb9 caused us to not allocation InstructionInfo objects for instructions without source-level debug info, however, that means that all such instructions end up sharing the one dummy InstructionInfo object, which really breaks statistics tracking. - This commit basically reverts that change, and also changes the code so we don't ever use the dummy InstructionInfo object for instructions, so that this problem can't be hit in other ways (e.g., if someone modifies the module after the InstructionInfoTable construction). There is a FIXME for checking the same thing for functions. - Fixes #144.
2014-09-12[tests] Run 'make clean' prior to starting tests.Daniel Dunbar
- This ensures any stray klee-last files won't be picked up by my check to prevent people from adding tests that don't use --output-dir.
2014-09-12[tests] Add a workaround to try and prevent llvm-gcc from calling putchar(), ↵Daniel Dunbar
which the LLVM JIT can't handle.
2014-09-12[tests] Rewrite MemoryLimit test to use larger allocations for "little" test ↵Daniel Dunbar
path. - Otherwise this test takes a long time just hammering on the allocator trying to get to the memory limit.
2014-09-12[tests] Dramatically scale back the forks limit for our ImmutableSet test.Daniel Dunbar
- This one test was taking about half the test time, and it definitely isn't worth that much value as a test. We probably should have some kind of long running tests infrastructure for things where we actually want to test KLEE on real programs.
2014-09-12[tests] Set --output-dir on all test runs, in support of running tests in ↵Daniel Dunbar
parallel. - It would be nice if there was an easier way to do this that didn't involve editing all of the tests (like running each test in its own directory), but this approach fixes #146 and doesn't involve changing 'lit' or writing a wrapper harness. My assumption is a lot of tests start are derived from another one, so hopefully following this convention won't be burdensome, and I updated 'make check' so that it will produce an error if any test runs klee without --output-dir (by checking for the existing of klee-last files). - This also helps with #147 but I still can't fully run tests in parallel (I start hitting STP errors).
2014-09-12[tests] Update ConcreteTest to use --output-dir.Daniel Dunbar
2014-09-12Add a README for the Concrete tests.Daniel Dunbar
2014-09-12Fix up ConstantExpr to be deterministic with 64-bit addresses.Daniel Dunbar
2014-09-12Add support for testing Concrete tests via lit.Daniel Dunbar
Fixes #96.
2014-09-12Fix up Concrete Makefile to not remove outputs, so tests can run in parallel.Daniel Dunbar
2014-09-12Rewrite ConcreteTest.py to only run one test at a time.Daniel Dunbar
2014-09-12Update Concrete test Makefile for LLVM changes.Daniel Dunbar
2014-09-12Update testingUtils to use printf(), putchar() isn't a known external ↵Daniel Dunbar
function anymore.
2014-09-12Update FloatingPointOps concrete test case for LLVM changes.Daniel Dunbar
2014-09-12XFAIL LargeReturnTypes.cpp on Darwin, it depends indirectly on using libstdcxx.Daniel Dunbar
2014-07-04Fix regression reported by Michael Esser and Andrew WatsonDan Liew
(independently). In our recently switch to llvm::raw_ostream (and friends) (I think this is d934d983692c8952cdb887cbcd59f2df0001b9c0) we forgot to flush the llvm::raw_string_ostream to the underlying string used for error report files (e.g. test000001.overshift.err) so we would end up writing an empty string to error report files. Also added a test case to catch this.
2014-05-16Changed StaticDestructor.cpp to use uclibc and disable optimizations explicitly.Cristian Cadar
2014-04-14Fix test case to support new llvm-litMartin Nowack
2014-04-14Update to new lit configuration to support changes in LLVM3.4Martin Nowack
2014-04-02Modify the SMT-LIB printer to declare arrays in a deterministic ↵Peter Collingbourne
(alphabetical) order.
2014-02-24Improved DumpStatesOnHalt.c to make sure there is always more than one ↵Cristian Cadar
instruction in main().
2014-02-24Fixed AliasFunction.c and AliasFunctionExit.c to work also when ↵Cristian Cadar
optimizations are enabled.
2014-02-14Added C test case that checks that concrete and symbolic overshiftDan Liew
behaviour for arithmetic right shift are identical.
2014-02-14Fixed overshift of arithmetic right shift by constant so that itDan Liew
overshifts to zero. Test case is included.
2014-02-14Fixed overshift of arithmetic right shift by symbolic so that it overshiftsDan Liew
to zero. Test case is included.
2014-02-14Added C test case that checks that concrete and symbolic overshiftDan Liew
behaviour for logical right shift are identical.
2014-02-14Fixed overshift of logical right shift by constant so that itDan Liew
overshifts to zero. Test case is included.
2014-02-14Fixed overshift of logical right shift by symbolic so that it overshiftsDan Liew
to zero. Test case is included.
2014-02-14Added C test case that checks that concrete and symbolic overshiftDan Liew
behaviour for left shift are identical.
2014-02-14Fixed overshifting an expression by a constant so that we overshift toDan Liew
zero. A test case was added for this. In addition the use to vc_bvExtract() was removed for shifting left by an expression because we don't want/need bitmasked behaviour anymore.
2014-02-14Added a test case for testing overshift behaviour of Shl and fixedDan Liew
a bug in the previous commit where 32-bit width was assumed.
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-29Fix Runtime/POSIX/Isatty.c test under LLVM3.3. The program makesDan Liew
a call fprintf(stderr,...). llvm-gcc transforms this to a call to fwrite() however clang does not so klee-uclibc's fprintf will be called instead and if klee-uclibc is compiled with KLEE_SYM_PRINTF then output will always go stdout if the FILE is stdout or stderr. The end result of this is that when we build with Clang under LLVM3.3 is that the fprintf(stderr,...) print outs go to standard output instead and so the test would fail because it expects the fprintf(stderr,...) to be on stderr. This test sort of fixes this by having the test check stdout for the fprintf(stderr,...) statements too.
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-20Hide make check command unless using VERBOSE make variable.Dan Liew
e.g. $ make check VERBOSE=1 # Shows command and shows more detail $ make check # Does not show command and shows summary
2014-01-20Explicitly use only one thread when invoking llvm-lit in TestRunner.shDan Liew
We need to fix the test suite so we can run it in parallel.
2014-01-20Fixed test cases that fail if using an in-source buildDan Liew
2014-01-20Only run klee-uclibc tests if KLEE was configured with klee-uclibcDan Liew
support.
2014-01-20Partially fix python detection for running llvm-lit.Dan Liew
The problem is newer LLVM versions (e.g. 3.3) detect python at their configure time whereas older versions don't (i.e. 2.9). So I don't want to add python detection to KLEE's configure if LLVM already does the work for us. We need to move off llvm 2.9 anyway.
2014-01-20Remove the last remnants (I think) of DejaGNU. Goodbye!Dan Liew
Say hello to our new friend, llvm-lit :)
2014-01-20Give absolute paths to KLEE's tools in lit.cfg . This fixes a longDan Liew
standing FIXME:
2014-01-20Only run SELinux test if support for SELinux was detected at configureDan Liew
time.