= RTEMS Test Template = [[TOC(Developer/Projects/Open/TestTemplate, depth=2)]] 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 1. 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 1. 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 1. Add a test.doc file for the documentation. '''Note:''' handled by http://git.rtems.org/rtems-testing/tree/rtems-test-template 1. 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 1. Modify the top level Makefile.am. '''TODO:''' probably could add this functionality to rtems/bootstrap 1. Modify the top level configure.ac. '''TODO:''' probably could add this functionality to rtems/bootstrap 1. Run bootstrap. '''TODO:''' make this an option when running the script in http://git.rtems.org/rtems-testing/tree/rtems-test-template 1. Add a copy and paste .cvsignore. '''Note:''' outdated, possibly .gitignore 1. 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 1. 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.