Skip to content

Commit 5f90696

Browse files
readme updates.
1 parent db00796 commit 5f90696

File tree

1 file changed

+61
-6
lines changed

1 file changed

+61
-6
lines changed

README.md

Lines changed: 61 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,15 @@ Copyright Matthew Eshleman
66

77
# Introduction
88

9-
TODO
9+
CppUTest for FreeRTOS is a host PC based unit testing library supporting
10+
the unit testing of FreeRTOS based code.
11+
12+
At this time, the library is proven for firmware following an event driven
13+
active object pattern, i.e. threads that sit on a queue and process one event
14+
at a time. Other patterns may be possible too, as long as the module under test
15+
does not mix blocking operating system calls within a function being tested. See
16+
the provided example which provides a back-door for processing a single event,
17+
which in-turn enables host PC based unit testing.
1018

1119
# Environment
1220

@@ -29,11 +37,59 @@ of one of the key benefits of host-based testing of embedded software.
2937

3038
See the configuration at: `.github/workflows/cmake.yml`
3139

32-
3340
# Testing Support
3441

35-
TODO
42+
## Tasks
43+
44+
Non-functional FreeRTOS task related methods are provided for linking purposes only.
45+
The library assumes that the unit under test will avoid actual threading
46+
behavior while unit testing. i.e. test the code executed by a thread, NOT
47+
threading behavior itself.
48+
49+
## Queues
50+
51+
The library provides fake but functional FreeRTOS compatible queues. The queues
52+
do not block in any manner.
53+
54+
## Timers
55+
56+
The library provides fake but functional FreeRTOS compatible software timers.
57+
Accessor methods are provided to allow the unit tests to "move time forward"
58+
triggers timers to fire as expected.
59+
60+
## ASSERT
61+
62+
The library provides a configured "configASSERT" macro for asserts compatible
63+
with the FreeRTOS assert method. The assert is mocked and helper methods
64+
are provided to enable unit testing of assert behavior.
65+
66+
## Delay
67+
68+
TODO.
69+
70+
## Semaphores
3671

72+
TODO.
73+
74+
## Mutexes
75+
76+
TODO.
77+
78+
## Direct to task notifications
79+
80+
TODO.
81+
82+
## Stream buffers
83+
84+
TODO.
85+
86+
## Message buffers
87+
88+
TODO.
89+
90+
## Event groups
91+
92+
TODO.
3793

3894
# License
3995

@@ -43,13 +99,12 @@ Please see LICENSE.txt for details.
4399
All licenses for external source code and libraries relied upon by this project
44100
remain fully owned by their respective owners.
45101

46-
47102
# References
48103

49-
This project was also inspired by a generic example, see this blog post:
104+
This project was inspired by a generic example, see this blog post:
50105
https://covemountainsoftware.com/2020/04/17/unit-testing-active-objects-and-state-machines/
51106

52-
Additionally, please see that post's associated github repo:
107+
Additionally, please see that post's associated GitHub repo:
53108
https://github.com/covemountainsoftware/activeObjectUnitTestingDemo
54109

55110
Other references:

0 commit comments

Comments
 (0)