about summary refs log tree commit diff homepage
AgeCommit message (Collapse)Author
2014-09-14[Core] Fix a bug in how source file names were written in .istats files.Daniel Dunbar
- KCachegrind appears to expect the first function name to be preceeded by the name of the file it appears in. Otherwise, it will end up creating two different records for the function, one of which has no file name and won't have any statistics.
2014-09-14[Module] Try harder to associate each instruction with source level debug info.Daniel Dunbar
- This makes KCachegrind output look nicer, as otherwise it assumes instructions without debug info were inlined and shows some message to that effect. - This does however we might be lying a bit about the source line that an instruction came from. - This also adds a test case for our istats output, yay!
2014-09-14[tests] Enable running tests in parallel.Daniel Dunbar
- This works fine for me on OS X now, and has been reported to work on Linux as well. Enabling across the board although presumably Travis will still only run single-threaded. - Fixes #147.
2014-09-14[Core] Remove support for "--use-asm-addresses".Daniel Dunbar
- I suspect no one is using this feature, and I'm not sure it is well conceived either. Ripping it out for now in lieu of bothering to maintain it.
2014-09-14Use klee-libc for this test, as it runs when configured w/o uclibc.Daniel Dunbar
- If this is a problem for some reason, lets either fix the problem or move it into Runtime tests.
2014-09-14Merge pull request #155 from MartinNowack/fix_fd_fail2Daniel Dunbar
Fix testcase FD_Fail2.c
2014-09-14Use not test instead of non-existing FAIL.Martin Nowack
2014-09-14Fix testcase FD_Fail2.cMartin Nowack
Major issue was that puts was used for the succeed printf calls. With newer gcc/clang versions, printf is always used. The former took different code paths leading to much more possibilities to trigger failed writes and therefore generating more test cases. This patch avoids the generation of puts. And checks for the 4 possible generated test cases for 2 possible errors.
2014-09-14Merge branch 'travis_icon' of https://github.com/delcypher/kleeDaniel Dunbar
2014-09-14[Travis] Disable Write2 on Travis with LLVM-3.4 for now, to see if this ↵Daniel Dunbar
prevents the hang we are seeing.
2014-09-14Merge branch 'remove_bc_dependency' of https://github.com/delcypher/kleeDaniel Dunbar
2014-09-14Remove dependence on the bc tool. Use python instead because we areDan Liew
already dependent on it.
2014-09-14Add Travis build status icon/linkDan Liew
2014-09-14Upgrade ConcreteTest.py to work with Python3 (Python 2.7.x should stillDan Liew
work)
2014-09-13[Core] Fix implementation of FRem for LLVM 3.3+, which was wrong (caught by ↵Daniel Dunbar
FloatingPointOps.ll).
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-13[Solver] Tune down the shared memory region size on Darwin.Daniel Dunbar
- See comment, this is a gross workaround for Darwin's very small default limit on shared memory size. I'm not sure how big of a counterexample users can actually expect STP to solve in practice -- if there is a practical use for larger ones it would probably be good for us to write a fallback strategy.
2014-09-13[Solver] Ensure shared memory allocation failures are reported as errors, ↵Daniel Dunbar
not asserts.
2014-09-13[Travis] Also propagate make flags to 'lit.site.cfg' build.Daniel Dunbar
2014-09-13[Travis] Propagate make flags to unittests build as well.Daniel Dunbar
2014-09-13Enable ASSERTS in Travis builds.Daniel Dunbar
2014-09-13Small edits to test the Travis CI trigger.Cristian Cadar
2014-09-13Add KLEE specific DEBUG macros.Daniel Dunbar
- This allows us to build in +Asserts mode even when LLVM isn't (by disabling the checks in that mode). - Eventually it would be nice to just move off of LLVM's DEBUG infrastructure entirely and just have our own copy, but this works for now. - Fixes #150.
2014-09-13Merge pull request #148 from delcypher/travis_testingDaniel Dunbar
Add TravisCI testing. - Needs various cleanups, but merging now so we can enable for the primary repository and continue iteration there.
2014-09-13test/lit.site.cfg is never deleted, leading to misconfiguration errors.Cristian Cadar
Some additional cleaning in test/Makefile
2014-09-13Add TravisCI testing infrastructure files.Dan Liew
2014-09-13These tests require --optimize=false to run successfully.Cristian Cadar
2014-09-12[tests] Fix Concrete tests for out-of-tree builds.Daniel Dunbar
2014-09-12[Core] Fix some warnings in -Asserts builds.Daniel Dunbar
2014-09-12[FloatEvaluation] Use llvm::report_fatal_error() instead of assert(0) for ↵Daniel Dunbar
unsupported floating point widths.
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-12Update .gitignore.Daniel Dunbar
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-09-12When building against libc++ (vs libstdcxx), use standard ↵Daniel Dunbar
unordered_{map,set} includes. - I'm not sure what the status of libstdcxx's c++11 support is. It may be we can just move over to <unordered_map> everywhere, but I don't have a Linux test machine handy at the moment.