1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-25 15:00:45 -08:00
emacs/mps/test
Gareth Rees b70d93ff1f Generate "assert_or_abort" after an abort.
Copied from Perforce
 Change: 192506
 ServerID: perforce.ravenbrook.com
2016-10-12 15:59:54 +01:00
..
argerr Some mmqa test cases assert on windows but abort with a segmentation fault on os x. use new test outcome assert_or_abort so that these pass on all platforms. 2016-10-12 15:47:10 +01:00
conerr Some mmqa test cases assert on windows but abort with a segmentation fault on os x. use new test outcome assert_or_abort so that these pass on all platforms. 2016-10-12 15:47:10 +01:00
function Avoid "conversion from 'size_t' to 'unsigned long', possible loss of data" warnings from microsoft visual c. 2016-09-26 16:59:35 +01:00
misc Memoryerror is only implemented on windows, so test for abort instead. 2016-04-22 17:17:53 +01:00
test Generate "assert_or_abort" after an abort. 2016-10-12 15:59:54 +01:00
testsets Change 192148 (the fix for job004017) caused the hot variety to compile out assertions on the critical path in manual-allocation-bound programs, which caused various mmqa test cases to fail in the hot variety. move these failing tests to the coolonly testset. 2016-09-08 10:55:59 +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