Version 7 (modified by Gedare Bloom, on Feb 14, 2015 at 7:48:32 PM) (diff)

Improve intro.


Status: See Ticket #2262.

Possible Mentors: Joel Sherrill?

Introduction: Develop an OS independent, freely available POSIX compatibility test suite which could be used by a variety of free OS developers working on Linux, *BSD, RTEMS, and MINIX. From an RTEMS perspective, the focus should be on System Interfaces which is the programming API available to the developer as defined in the POSIX specifications. Improve the POSIX API Compliance test (testsuites/psxtests/psxhdrs). Details described in Ticket #2262.

There are multiple aspects to this project. One aspect is the addition of interface compliance tests for rest of POSIX API. Another part is running third party C Library and POSIX API tests (e.g. from glibc, *BSD, or the older Intel POSIX suite) against RTEMS and newlib. Ultimately, we would like functional coverage test results on newlib as well as RTEMS. Results of third party existing tests would have to be carefully evaluated to ensure appropriateness and results.

Goal: Have a free test suite that is cross-platform and OS independent to be used by various POSIX compliant OS teams to measure compliance and cross-platform compatibility.

Requirements: The person(s) tackling this project must be familiar with POSIX and able to grapple with a variety of build systems. The test suite must run on GNU/Linux and multiple RTEMS BSPs (e.g. powerpc/psim, sparc/sis, and i386/pc386) as a minimum first step.

Resources: There are existing test suites available for individual projects like glibc to draw from as a starting point. You would work to provide a framework to integrate these existing suites with minimal modifications into a unified whole and a single report highlighting defects. You would also have to identify deficiencies in the compliance coverage. We anticipate that after integrating the various existing test suites there will be a need for new tests.


Miscellaneous Sections

As the project progresses, you will need to add build instructions, etc and this page will evolve from a project description into a HOWTO.