wiki:Developer/Projects/Open/TestTemplate

Version 3 (modified by Gedare Bloom, on Feb 14, 2015 at 7:35:13 PM) (diff)

Fix TOC

RTEMS Test Template

Credit: Sebastian Huber for proposing the enhancement

Mentors: Help Wanted.

Students: Help Wanted. Past help to be filled in

Status: Initiated.

Introduction: Unit tests are a vital development tool. It should be as easy as possible to write tests and to execute them.

Goal: Currently we have to do several steps to write a test, which is way to much work. A lot of copy and paste is involved. What we did as of the time of the bug-report.

  1. Create a new directory for the test. Note: handled by http://git.rtems.org/rtems-testing/tree/rtems-test-template
  2. Create a new Makefile.am. This normally involves a lot of copy and paste from an existing test. Note: handled by http://git.rtems.org/rtems-testing/tree/rtems-test-template
  3. Add a new init.c file. Which may be enough for simple tests. Note: handled by http://git.rtems.org/rtems-testing/tree/rtems-test-template
  4. Add a test.doc file for the documentation. Note: handled by http://git.rtems.org/rtems-testing/tree/rtems-test-template
  5. Add a test.scn file with the output of the test. TODO: probably could add a make-scn to rtems/make/leaf.cfg or rtems/c/src/make/leaf.cfg through a clever call to a simulator and a log file
  6. Modify the top level Makefile.am. TODO: probably could add this functionality to rtems/bootstrap
  7. Modify the top level configure.ac. TODO: probably could add this functionality to rtems/bootstrap
  8. Run bootstrap. TODO: make this an option when running the script in http://git.rtems.org/rtems-testing/tree/rtems-test-template
  9. Add a copy and paste .cvsignore. Note: outdated, possibly .gitignore
  10. Write a ChangeLog with several entries. Note: replaced ChangeLog with git functionality

Refine this initial statement to include: project deliverables (code, docs, testing), required/suggested methodology, standards of quality, possible goal extensions beyond the main objective.

Standards of Quality: the build system performs the needed steps

Possible Goal Extensions:

  1. Make the unit tests more in compliance with http://softwaretestingstandard.org/ by filling in the .doc with the needed information
  2. Align the tests with the POSIX and RTEID standards through the use of doxgen comments

Requirements: List the requirements and level of expertise you estimate are required by the developer tackling this project will have to have: Required level of programming language(s), specific areas of RTEMS or tools, level of familiarity with RTEMS, cross-development, GNU/Linux, etx., development/documentation/testing tools, mathematical/algorithmic background, other desirable skills.

Resources: Sebastian Huber and http://git.rtems.org/rtems-testing/tree/rtems-test-template

Acknowledgements

  • Sebastian Huber, Christopher Kerl, Joel Sherrill TODO: add the other contributers

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.

References

  • TBD

Other sections: If you have more to say about the project that doesn't fit in the proposed sections of this template, feel free to add other sections at will.