|Title||"ANSI" platform is not regularly tested|
|Assigned user||Gareth Rees|
|Description||The MPS has an "ANSI" platform which uses only Standard C Library features (no operating system calls). This platform is intended to be used as a basis for ports to new operating systems. However, it is not regularly tested.|
|Analysis||See also e-mail thread  .|
Define a new configuration parameter, CONFIG_ANSI say, that ignores the detected platform and just uses the generic backends.
With this defined, the threading test cases (amcssth, awlutth) fail as expected, but also these three:
awlut -- trace.c:1791: MPS ASSERTION FAILED: unreachable code
awluthe -- trace.c:1867: MPS ASSERTION FAILED: res == ResOK
mpsicv -- trace.c:1867: MPS ASSERTION FAILED: res == ResOK
The failures in awlut, awluthe and mpsicv are due to the use of mps_stack_scan_ambig, which is unimplemented in the ANSI platform.
(TODO: think about THREAD_SINGLE and PROTECTION_NONE.)
|Created by||Gareth Rees|
|Created on||2014-03-25 12:55:30|
|Last modified by||Gareth Rees|
|Last modified on||2014-03-27 15:55:49|
|History||2014-03-25 GDR Created.|
|185050||closed||2014-03-27 15:19:42||Gareth Rees||Test case database now notes which test cases use threads.
New test suite "testansi" consists of test cases that run on the generic ("ANSI") platform.
New target "ansi" builds the MPS with the CONFIG_PF_ANSI CONFIG_THREAD_SINGLE and CONFIG_PROTECTION_NONE settings.
Build and test the "ansi" target as part of "make test" for the benefit of the buildbots (just Linux and FreeBSD for the moment).