about summary refs log tree commit diff homepage
path: root/test/Makefile
AgeCommit message (Collapse)Author
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.
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-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-13test/lit.site.cfg is never deleted, leading to misconfiguration errors.Cristian Cadar
Some additional cleaning in test/Makefile
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] 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-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-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-20Only run SELinux test if support for SELinux was detected at configureDan Liew
time.
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-20Force python2 to be used when running llvm-lit. This needs to be fixedDan Liew
properly at configure time at some point.
2014-01-20Allow llvm-lit from 2.9 to work by hacking %T substitution variable.Dan Liew
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
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
2010-04-05Fix some tests w/ objdir != srcdir.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@100422 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14Update for 2.7.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@98467 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-19Fixed the problem of 'make check' failing on XFAILs. Based on patchCristian Cadar
by Peter Collingbourne. We grep twice because we still want to print the XFAILs at the end of the regression run. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@96671 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-21Don't force llvm-gcc to -m32, just hope that it was configured correctly for theDaniel Dunbar
current target arch. This should work in the usual Linux environment, but it won't work on Darwin if using the non-default arch; for that we need the LLVM makefiles to figure out the right llvm-gcc arguments. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@82422 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17Update for LLVM API change.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@79217 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-01Don't force -m32 in tests; this should be handled by the build system.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@77798 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-22Add "name" argument to klee_make_symbolic, and kill off klee_make_symbolic_name.Daniel Dunbar
- For compatibility we still accept 2 argument form of klee_make_symbolic, but this will go away eventually. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72265 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-21Initial KLEE checkin.Daniel Dunbar
- Lots more tweaks, documentation, and web page content is needed, but this should compile & work on OS X & Linux. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72205 91177308-0d34-0410-b5e6-96231b3b80d8