The Stratego compiler does not always behave very well on wrong programs. Part of the reason is that this aspect is not being tested in the source tree of the compiler. This should be solved.
Here is a pointer to mechanisms for attacking this:
You may define the variable XFAIL_TESTS to a list of tests (usually a subset of TESTS) that are expected to fail. This will reverse the result of those tests.
http://www.gnu.org/software/automake/manual/html_node/Tests.html#Tests
Als ik het goed begrijp moet je ze ook nog in TESTS definieren, maar dat weet ik niet zeker.
is based on the negative tests in the cxx-grammar package of the
Transformers. The Transformers have really paid attention to their
build system. Very nice work!
Programs that should fail can be added to the variable STRPROGS:
STRPROGS = \
test01.str \
test02.str
If the program succeeds for some reason, but this is acceptable
for the current release, then you can add the program to the file
'accept-success.list'.
For each program that has to be tested a symlink is created to the
test program 'testfail'. This program invokes make and switches
the exit value. It also prints the result of testing, for all
three cases: should fail -> fail, should fail -> success, should
fail -> acceptable success.
The make-rules of test1 are included, which means that the testneg
can be applied in the bootcheck without installing the compiler.