1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-27 15:52:00 -08:00
emacs/mps/test
Gareth Rees 69c312d179 Use a regular expression in case the number of built-in pools changes.
Copied from Perforce
 Change: 190011
 ServerID: perforce.ravenbrook.com
2016-03-13 21:49:36 +00:00
..
argerr Avoid warnings when compiling argerr/{146,147,148}.c with gcc. 2016-03-13 14:16:39 +00:00
conerr Use a regular expression in case the number of built-in pools changes. 2016-03-13 21:49:36 +00:00
function Avoid unused variable warnings. 2016-03-13 14:58:09 +00:00
misc Long delayed maintenance of test suite: 2013-05-25 10:33:30 +01:00
test Regular testing of mmqa: "make test-make-build" at top level now runs mmqa, hence so does "make test" on linux and freebsd. the whole test suite, including testci, testmmqa, testansi, and testpollnone, takes 26 minutes on my laptop. 2016-03-13 12:57:02 +00:00
testsets Speed up more mmqa test cases. on my laptop, the whole mmqa test suite (or at least the passing subset) now takes 5 minutes in the hot variety and 11 minutes in the cool variety. 2016-03-13 11:42:32 +00:00
README Add instructions for testing the hot variety. 2016-03-07 19:58:52 +00:00

$Id$

This is the Memory Management QA test harness. To use it you need
perl 5 (or higher). Go "perl qa help" for help, "perl qa options"
to see what version of the harness you have (or look at the
file "test/version").


Testing on Unix
---------------

From the test directory::

    PLATFORM=lii6ll # substitute your platform
    VARIETY=cool # or hot
    CODE=../code # code directory of the branch you are testing
    make -B -C $CODE -f $PLATFORM.gmk VARIETY=$VARIETY $PLATFORM/$VARIETY/mps.o
    alias qa="perl test/qa -i $CODE -l $CODE/$PLATFORM/$VARIETY/mps.o"
    qa clib
    qa run function/5.c
    qa runset testsets/passing

Each test case is compiled in its turn to the file
``test/obj/$(uname -s)_$(uname -r)_$(uname -p)__unix/tmp_test``
so you can debug it with::

    lldb test/obj/$(uname -s)_$(uname -r)_$(uname -p)__unix/tmp_test

Or ``gdb`` instead of ``lldb``. MMQA sets its own assertion handler,
so you'll probably want to set a breakpoint on mmqa_assert_handler.