1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-25 06:50:46 -08:00
emacs/mps/test
Gareth Rees 0616a12652 Arenacompact can be called via tracedestroyinit too.
Copied from Perforce
 Change: 190949
 ServerID: perforce.ravenbrook.com
2016-04-11 19:47:52 +01:00
..
argerr Avoid warnings when compiling argerr/{146,147,148}.c with gcc. 2016-03-13 14:16:39 +00:00
conerr Catch-up merge from master sources to branch/2014-10-13/format. 2016-03-15 10:02:21 +00:00
function Arenacompact can be called via tracedestroyinit too. 2016-04-11 19:47:52 +01: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 Catch-up merge from master sources to branch/2015-08-11/compact. 2016-04-11 14:40:44 +01:00
README Catch-up merge from master sources to branch/2015-08-11/compact. 2016-04-11 14:40:44 +01: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.


Testing on OS X
---------------

From the test directory, build mpslib.a using the Xcode project::

    xcodebuild -project ../code/mps.xcodeproj -target mps

(You can also use "make" from the project root.)  Then::

    perl test/qa -i ../code -l ../code/xc/Debug/libmps.a clib
    perl test/qa -i ../code -l ../code/xc/Debug/libmps.a run function/232.c

etc.  See "Testing on Unix" above.