2009-08-30 08:49:10 +00:00
|
|
|
/*
|
2010-02-21 07:24:53 +00:00
|
|
|
ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio.
|
2009-08-30 08:49:10 +00:00
|
|
|
|
|
|
|
This file is part of ChibiOS/RT.
|
|
|
|
|
|
|
|
ChibiOS/RT is free software; you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
ChibiOS/RT is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
2010-01-05 17:14:09 +00:00
|
|
|
* @page testsuite Testing Strategy
|
2009-08-30 08:49:10 +00:00
|
|
|
* <h2>Description</h2>
|
|
|
|
* Most of the ChibiOS/RT demos link a set of software modules (test suite) in
|
|
|
|
* order to verify the proper working of the kernel, the port and the demo
|
2010-01-05 17:14:09 +00:00
|
|
|
* itself.
|
|
|
|
*
|
2010-01-07 15:23:38 +00:00
|
|
|
* <h2>Strategy by Component</h2>
|
2010-01-05 17:14:09 +00:00
|
|
|
* The OS components are tested in various modes depending on their importance:
|
|
|
|
* - <b>Kernel</b>. The kernel code is subject to rigorous testing. The test
|
|
|
|
* suite aims to test <b>all</b> the kernel code and reach a code coverage
|
|
|
|
* as close to 100% as possible. In addition to the code coverage, the kernel
|
|
|
|
* code is tested for <b>functionality</b> and benchmarked for <b>speed</b>
|
|
|
|
* and <b>size</b> before each stable release. In addition to the code
|
|
|
|
* coverage and functional testing a <b>batch compilation test</b> is
|
|
|
|
* performed before each release, the kernel is compiled by alternatively
|
|
|
|
* enabling and disabling all the various configuration options, the
|
|
|
|
* kernel code is expected to compile without errors nor warnings and
|
|
|
|
* execute the test suite without failures (a specific simulator is used
|
|
|
|
* for this execution test, it is done automatically by a script because
|
|
|
|
* the entire sequence can require hours).<br>
|
|
|
|
* All the tests results are included as reports in the OS distribution
|
|
|
|
* under @p ./docs/reports.
|
|
|
|
* - <b>Ports</b>. The port code is tested by executing the kernel test
|
|
|
|
* suite on the target hardware. A port is validated only if it passes all
|
|
|
|
* the tests. Speed and size benchmarks for all the supported architectures
|
|
|
|
* are performed, both size and speed regressions are <b>monitored</b>.
|
|
|
|
* - <b>HAL</b>. The HAL high level code and device drivers implementations
|
|
|
|
* are tested by use in the various demos and/or by users.
|
|
|
|
* - <b>Various</b>. The miscellaneous code is tested by use in the various
|
|
|
|
* demos and/or by users.
|
|
|
|
* - <b>External Code</b>. Not tested, external libraries or components are
|
|
|
|
* used as-is or with minor patching where required, problems are usually
|
|
|
|
* reported upstream.
|
|
|
|
* .
|
|
|
|
* <h2>Kernel Test Suite</h2>
|
|
|
|
* The kernel test suite is divided in modules or test sequences. Each Test
|
|
|
|
* Module performs a series of tests on a specified kernel subsystem or
|
2009-08-30 08:49:10 +00:00
|
|
|
* subsystems and can report a failure/success status and/or a performance
|
|
|
|
* index as the test suite output.<br>
|
|
|
|
* The test suite is usually activated in the demo applications by pressing a
|
|
|
|
* button on the target board, see the readme into the various demos
|
2010-01-05 17:14:09 +00:00
|
|
|
* directories. The test suite output is usually sent through a serial port
|
|
|
|
* and can be examined by using a terminal emulator program.
|
|
|
|
*
|
|
|
|
* <h2>Kernel Test Modules</h2>
|
2009-08-30 08:49:10 +00:00
|
|
|
*
|
|
|
|
* - @subpage test_threads
|
|
|
|
* - @subpage test_dynamic
|
|
|
|
* - @subpage test_msg
|
|
|
|
* - @subpage test_sem
|
|
|
|
* - @subpage test_mtx
|
|
|
|
* - @subpage test_events
|
|
|
|
* - @subpage test_mbox
|
|
|
|
* - @subpage test_queues
|
|
|
|
* - @subpage test_heap
|
|
|
|
* - @subpage test_pools
|
|
|
|
* - @subpage test_benchmarks
|
|
|
|
* .
|
|
|
|
*/
|