mirror of
https://github.com/ThrowTheSwitch/CMock.git
synced 2026-07-26 13:59:09 +00:00
Add part of our new "standard" documentation for status! woo!
This commit is contained in:
@@ -8,6 +8,9 @@ useful and usable mock interfaces for unit testing. Give it a try!
|
||||
If you don't care to manage unit testing builds yourself, consider checking out Ceedling,
|
||||
a test-centered build manager for unit testing C code.
|
||||
|
||||
- [Known Issues](docs/CMockKnownIssues.md)
|
||||
- [Change Log](docs/CMockChangeLog.md)
|
||||
|
||||
Getting Started
|
||||
================
|
||||
|
||||
|
||||
@@ -0,0 +1,166 @@
|
||||
# CMock - Change Log
|
||||
|
||||
## A Note
|
||||
|
||||
This document captures significant features and fixes to the CMock project core source files
|
||||
and scripts. More detail can be found in the history on Github.
|
||||
|
||||
This project is now tracking changes in more detail. Previous releases get less detailed as
|
||||
we move back in histroy.
|
||||
|
||||
Prior to 2012, the project was hosted on SourceForge.net
|
||||
Prior to 2008, the project was an internal project and not released to the public.
|
||||
|
||||
## Log
|
||||
|
||||
### CMock 2.6.0 ()
|
||||
|
||||
New Features:
|
||||
|
||||
- Reintroduced option to run CMock without setjmp (slightly limited)
|
||||
- Significant speed improvements to parsing
|
||||
|
||||
Significant Bugfixes:
|
||||
|
||||
- Make return-thru-pointer calls const
|
||||
- Fix handling of static inlines
|
||||
- Fix some situations where parenthetical statements were misinterpreted as functions
|
||||
- Fix error in skeleton creation
|
||||
- Improvements towards making generated code fully C-compliant and warning free
|
||||
|
||||
Other:
|
||||
|
||||
- Improve error message wording where possible
|
||||
- Improve documentation
|
||||
- Updated to Ruby 3.0 - 3.3
|
||||
- Reintroduce matrix testing across multiple Ruby versions
|
||||
|
||||
### CMock 2.5.3 (January 2021)
|
||||
|
||||
New Features:
|
||||
|
||||
- Support mocks in sub-folders
|
||||
- Improved handling of static and inline functions
|
||||
- Stateless Ignore plugin added
|
||||
|
||||
Significant Bugfixes:
|
||||
|
||||
- Allow setting values to empty at command prompt
|
||||
- Improvements towards making generated code fully C-compliant and warning free
|
||||
|
||||
Other:
|
||||
|
||||
- Really basic mocking of cpp files (like C files with extern C)
|
||||
|
||||
### CMock 2.5.2 (May 2020)
|
||||
|
||||
Significant Bugfixes:
|
||||
|
||||
- Fix whitespace errors
|
||||
- Fix Stop Ignore
|
||||
|
||||
### CMock 2.5.1 (April 2020)
|
||||
|
||||
New Features:
|
||||
|
||||
- Add StopIgnore function to Ignore Plugin
|
||||
- Add ability to generate skeleton from a header.
|
||||
- Inline functions now have option to remove and mock (with Ceedling's help)
|
||||
|
||||
Significant Bugfixes:
|
||||
|
||||
- Convert internal handling of bools to chars from ints for memory savings
|
||||
- Convert CMOCK_MEM_INDEX_TYPE default type to size_t
|
||||
- Switch to old-school comments for supporting old C compilers
|
||||
- Significant improvements to handling array length expressions
|
||||
- Significant improvements to our "C parser"
|
||||
- Added brace-pair counting to improve parsing
|
||||
- Fixed error when `:unity_helper_path` is relative
|
||||
|
||||
Other:
|
||||
|
||||
- Improve documentation
|
||||
- Optimize speed for pass case, particularly in `_verify()` functions
|
||||
- Increased depth of unit and system tests
|
||||
|
||||
### CMock 2.5.0 (October 2019)
|
||||
|
||||
New Features:
|
||||
|
||||
- New memory bounds checking.
|
||||
- New memory alignment algorithm.
|
||||
- Add `ExpectAnyArgs` plugin
|
||||
- Divided `CVallback` from `Stub` functionality so we can do both.
|
||||
- Improved wording of failure messages.
|
||||
- Added `:treat_as_array` configuration option
|
||||
|
||||
Significant Bugfixes:
|
||||
|
||||
- Fixed bug where `CMock_Guts_MemBytesUsed()` didn't always return `0` before usage
|
||||
- Fixed bug which sometimes got `CMOCK_MEM_ALIGN` wrong
|
||||
- Fixed bug where `ExpectAnyArgs` was generated for functions without args.
|
||||
- Better handling of function pointers
|
||||
|
||||
Other:
|
||||
|
||||
- `void*` now tested as bytewise array comparison.
|
||||
- Documentation fixes, particularly to examples.
|
||||
- Added `resetTest` to documentation
|
||||
- New handling of messaging to greatly reduce memory footprint
|
||||
|
||||
### CMock 2.4.6 (November 2017)
|
||||
|
||||
Significant Bugfixes:
|
||||
|
||||
- Fixed critical bug when running dynamic memory.
|
||||
|
||||
### CMock 2.4.5 (September 2017)
|
||||
|
||||
New Features:
|
||||
|
||||
- Simple threading of mocks introduced.
|
||||
|
||||
Significant Bugfixes:
|
||||
|
||||
- Improvements to handling pointer const arguments.
|
||||
- Treat `char*` separately from an array of bytes.
|
||||
- Fixed handling of string arguments.
|
||||
- Preserve `const` in all arguments.
|
||||
- Fixed race condition when `require`ing plugins
|
||||
|
||||
Other:
|
||||
|
||||
- Expand docs on `strict_mock_calling`
|
||||
|
||||
### CMock 2.4.4 (April 2017)
|
||||
|
||||
New Features:
|
||||
|
||||
- Add `INCLUDE_PATH` option for specifying source
|
||||
|
||||
Significant Bugfixes:
|
||||
|
||||
- Parsing improvements related to braces, brackets, and parenthesis
|
||||
- `ReturnThruPtr` checks destination not null before copying data.
|
||||
- Stub overrides Ignore
|
||||
- Improvements to guessing memory alignment based on datatypes
|
||||
|
||||
Other:
|
||||
|
||||
- Reorganize testing into subdirectory to not clutter for new users
|
||||
- Docs switching to markdown from pdf
|
||||
|
||||
### CMock 2.4.3 (October 2016)
|
||||
|
||||
New Features:
|
||||
|
||||
- Support multiple helper header files.
|
||||
- Add ability to use `weak` symbols if compiler supports it
|
||||
- Add mock suffix option in addition to mock prefix.
|
||||
|
||||
Significant Bugfixes:
|
||||
|
||||
- Improved UNICODE support
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# CMock - Known Issues
|
||||
|
||||
## A Note
|
||||
|
||||
This project will do its best to keep track of significant bugs that might effect your usage of this
|
||||
project and its supporting scripts. A more detailed and up-to-date list for cutting edge CMock can
|
||||
be found on our Github repository.
|
||||
|
||||
## Issues
|
||||
|
||||
- Able to parse most C header files without preprocessor needs, but when handling headers with significant preprocessor usage (#ifdefs, etc), it can get confused
|
||||
- Multi-dimensional arrays currently simplified to single dimensional arrays of the full size
|
||||
- Incomplete support for VarArgs
|
||||
@@ -1,10 +1,12 @@
|
||||
CMock: A Summary
|
||||
================
|
||||
|
||||
*[ThrowTheSwitch.org](http://throwtheswitch.org)*
|
||||
*[ThrowTheSwitch.org](http://throwtheswitch.org)*
|
||||
|
||||
*This documentation is released under a Creative Commons 3.0 Attribution Share-Alike License*
|
||||
|
||||
- [Known Issues](docs/CMockKnownIssues.md)
|
||||
- [Change Log](docs/CMockChangeLog.md)
|
||||
|
||||
What Exactly Are We Talking About Here?
|
||||
---------------------------------------
|
||||
@@ -61,7 +63,7 @@ call DoesSomething enough, or too much, or with the wrong arguments,
|
||||
or in the wrong order.
|
||||
|
||||
CMock is based on Unity, which it uses for all internal testing.
|
||||
It uses Ruby to do all the main work (versions 2.0.0 and above).
|
||||
It uses Ruby to do all the main work (versions 3.0.0 and above).
|
||||
|
||||
|
||||
Installing
|
||||
@@ -77,7 +79,7 @@ have it. You can prove it by typing the following:
|
||||
If it replied in a way that implies ignorance, then you're going to
|
||||
need to install it. You can go to [ruby-lang](https://ruby-lang.org)
|
||||
to get the latest version. You're also going to need to do that if it
|
||||
replied with a version that is older than 2.0.0. Go ahead. We'll wait.
|
||||
replied with a version that is older than 3.0.0. Go ahead. We'll wait.
|
||||
|
||||
Once you have Ruby, you have three options:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user