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 b742e99f96 Mmqa tests function/{7,21,22}.c now pass on 32-bit platforms.
MMQA tests function/{8,98}.c now pass on 64-bit platforms.

Copied from Perforce
 Change: 194599
2018-07-11 16:24:47 +01:00
..
argerr Test cases for errors in finalization. 2018-06-26 09:01:46 +01:00
conerr No need for separate ams and lo formats. 2018-06-23 21:01:15 +01:00
function Mmqa tests function/{7,21,22}.c now pass on 32-bit platforms. 2018-07-11 16:24:47 +01:00
misc Memoryerror is only implemented on windows, so test for abort instead. 2016-04-22 17:17:53 +01:00
test Ensure that the mmqa test case is compiled using the same variety as the mps library against which it is linked, in case it needs to inspect internal mps data structures. 2018-07-05 15:57:33 +01:00
testsets Mmqa tests function/{7,21,22}.c now pass on 32-bit platforms. 2018-07-11 16:24:47 +01:00
README New mmqa command debug compiles a test case and launches the debugger. 2016-09-12 12:26:40 +01:00

$Id$

This is the Memory Management QA test harness. To use it you need Perl
5 (or higher).


Quick start
-----------

In a shell in the test directory::

    perl test/qa clib
    perl test/qa run function/5.c
    perl test/qa runset testsets/passing
    perl test/qa debug argerr/12.c


Usage and options
-----------------

Run ``perl test/qa help`` for help; run ``perl test/qa options`` to
see what version of the harness you have (or look at the file
``test/version``) and which options are available.

The most important options are the ``-p`` option which specifies the
platform (for example, ``-p lii6ll``) if the auto-detected platform is
not the one you want to test, and the ``-v`` option which specifies
the variety (for example ``-v hot``) if the cool variety is not the
one you want to test.


Debugging
---------

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


Windows
-------

Use a Cygwin shell. Set the ``LANG`` environment variable::

    export LANG=C

to avoid locale warnings from Perl.

The runset command can result in this error::

    LINK : fatal error LNK1168: cannot open test/obj/nt_AMD64__pc/tmp_test.exe for writing

You may be able to avoid this by running "View Local Services" from
the Windows Control Panel, double-clicking the "Application
Experience" service, and switching "Startup type" to "Automatic". See
the documentation for LNK1168_.

.. _LNK1168: https://msdn.microsoft.com/en-us/library/hhbdtt6d.aspx