= RTEMS Testing = [[TOC(Projects/TestingImprovements, depth=2)]] '''Mentors:''' Amar Takhar, Sebastian Huber '''Students:''' '''Status:''' Uninitiated. '''Introduction:''' Learning how to test software is an extremely desirable skill in the software development world. RTEMS [http://git.rtems.org/rtems/tree/testsuites test suite] needs major cleanup in order to modernize and allow for easier additions of new tests. '''Goal:''' Port existing RTEMS tests into more modern testing frame-works, thereby allowing easier addition of tests. '''Possible Test Groups:''' This part is not designed for GSoC, but for future reference Creation of 4 separate test groups: # Host-based (Testing of APIs out-of-hand) # Operational (Runs on actual hardware or in-simulation), # RTEMS BSP-specific tests and # tests specific to a Board. '''Requirements:''' Knowledge of testing is not required. The ideal candidate should have a firm grasp of the C language with knowledge of C++ as some of the test frameworks will be written using [https://code.google.com/p/googletest/ googletest] and [https://code.google.com/p/googlemock/ googlemock]. Other components of the framework will have to be written from scratch, the exact language used is will have to be agreed upon by the student and mentor, but should work on both Linux and Windows. '''Resources:''' You are encouraged to contact Amar on IRC in the RTEMS channel or email him directly (amar-rtems.org) with any questions you may have. = Additional Information = This project does not require writing new tests, it involves the groundwork for allowing tests to be written. The RTEMS [http://git.rtems.org/rtems/tree/testsuites test suite] contains tests that while relevant use a custom test harness that limits the application of modern testing techniques. Anyone accepting this task as part of GSoC is not expected to complete the entire project in one summer, the tasks will be broken into smaller milestones it is OK to complete as many of these milestones as possible before the period ends. = Objectives = == Project Idea 1 == # Modify/use googletest and googlemock to write RTEMS tests, then package them into a separate package like examples-v2== Project Idea 2 == # Porting the testsuites into a separate package like examples-v2 would make designing new tests much faster. # Adding a configuration to only build one of the suites at a time would make designing new tests much faster. # The ability to port the tests, once developed, back into the test-suite would be beneficial. = 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