Road Map
- Static library production [DONE]
- Shared library production
- Example build script [DONE]
- Multiple platform script [DONE]
- Handling of build variants (release,debug...)
- Ensure thread-safety is enabled for build
- Auto-configuration
- Auto-link support
- Make singletons thread-safe
Implements ThreadLocalStorage for win32 platform [DONE]
Implements ThreadLocalStorage for posix platform [DONE]
Implements Mutex for win32 [DONE].
Implements Mutex for posix platform [DONE].
Implements AtomicCounter for win32 [DONE].
Implements AtomicCounter for linux [DONE].
Implements AtomicCounter for posix (pthread mutex) [TO TEST].
Write tests for AtomicCounter, Mutex and ThreadLocalStorage.
- Test plug-in
- Published function to identity build configuration (run-time library...)
- Test plug-in wrapper executable used by the test runner to execute the tests
- Support for user exception [DONE]
- Aborting assertion support [DONE]
- Checking assertion support [DONE]
- Basic assertions
- true, false [DONE]
- ==, != [DONE]
- throw, no throw [DONE]
- assertion pass/fail [DONE]
<, <=, >=, >
- String assertions
- starts with [to review]
- ends with [to review]
- contains [to review]
- equal [to review]
- enumeration assertions
- sequence equal [DONE]
- set equal [DONE]
- Rich assertion messages
- allows Json::Value to be used for expected/actual value.
- provides toValue() mecanism that default to toString() for expected/actual value.
- Test context propagation between thread
- Input-based test case
- ...
- Test plug-in
- Monitoring
- Monitor test run in another process
- Detect time-out
- Per test case time-out configuration
- Global time-out configuration
- Global scale factor for time-out
Implements TestRunner interface for CppUnit2 [DONE]
Implements TestRunner interface for CppUnit1 [DONE]
- Text test driver
- Graphic test driver (QT)
- Progress Listener
- Dot progress
- Brief progress
- Plug-in progress
TestRunResult hook
- XML result output
- compiler oriented result output
- Special handling of input oriented test case
Connector (TesDriver <-> TestRunner)
- None (no monitoring) [partial implementation]
- Shared Memory
- TCP/IP
- Auto respawn current process for "self" monitoring
- Spawn wrapper process for test plug-in
TestPlan specification
- Execute all available test [DONE]
- Generate test plan for input-based tests
- Find test by pattern
Explore test hierarchy & specification
- ...
- Monitoring