Skip to content

Commit e65d329

Browse files
Update README.md
1 parent 6de37f5 commit e65d329

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

README.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,18 @@ To learn more about Matthew, see here: https://covemountainsoftware.com/services
99
# Introduction
1010

1111
CppUTest for FreeRTOS is a host PC based unit testing library supporting
12-
the unit testing of FreeRTOS based code.
12+
the unit testing of well-formed FreeRTOS based code. Fundamentally it provides
13+
various FreeRTOS functions as non-functional linking only replacements OR 'fakes'
14+
that provide equivalent functionality (especially see timers).
1315

14-
At this time, the library is proven for firmware following an event driven
15-
active object pattern, i.e. threads that sit on a queue and process one event
16-
at a time. Other patterns may be possible too, as long as the module under test
17-
does not mix blocking operating system calls within a function being tested. See
18-
the provided example which provides a back-door for processing a single event,
19-
which in-turn enables host PC based unit testing.
16+
What do I mean by well-formed? Well-formed in this context means a thread or
17+
module with only a single thread blocking mechanism (queue or semaphore, for example)
18+
which in turn, when unblocked, activates the thread's behavior.
19+
A well-known example would be an [active object](https://covemountainsoftware.com/2021/04/20/what-is-an-active-object/).
20+
21+
Frankly, a firmware's threads should be well-formed. Like many others,
22+
I consider the mixing of RTOS blocking and locking mechanism's to be
23+
a recipe for a bad-cake, if not disaster.
2024

2125
# Environment
2226

@@ -33,9 +37,9 @@ be compatible with this code.
3337

3438
## Continuous Integration
3539

36-
This project has configured GitHub Actions to build and execute all
37-
unit tests found in this project. This is an example
38-
of one of the key benefits of host-based testing of embedded software.
40+
This project uses GitHub Actions to build and execute all
41+
unit tests found in this project. This is an example of one of the
42+
key benefits of host-based testing of embedded software.
3943

4044
See the configuration at: `.github/workflows/cmake.yml`
4145

0 commit comments

Comments
 (0)