Commit Graph

3214 Commits (40c9e37d109fbfaa1e1940a97a600309bc6bd72a)
 

Author SHA1 Message Date
Paul Bartell 7020db5403
Force a branch in the definition of configASSERT in the default CMock FreeRTOSConfig.h file (#538)
* Force a branch in the definition of configASSERT in the default CMock FreeRTOSConfig.h file
* Run uncrustify on FreeRTOSConfig.h
4 years ago
Paul Bartell 92aca6e910
Collect initial coverage data so that untagged functions are still included in the lcov report (#537)
Collect initial coverage data with lcov --initial and add this to coverage data to the combined coverage from each test binary.
This ensures that all functions in the target file(s) are included in coverage statistics, even if those functions are not tagged in a _utest.c file.
Note: Functions which are excluded by the preprocessor will not have initial coverage data generated for them.
4 years ago
Paul Bartell ada298638c Run kernel unit tests on pull requests and pushes.
Remove path filter (doesn't appear to work with multiple targets)
4 years ago
Paul Bartell 3a48781a03 Skip filtering of coverage if no @coverage tags are found in a _utest.c file 4 years ago
Cobus van Eeden 26478d721f
Add message buffer space available coherency test (#515)
* Introduce tasks that test the coherency of the reported space available in a message buffer from two separate tasks.  Designed to highlight the issue reported in https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/264
Introduce configRUN_ADDITIONAL_TESTS which must be set to 1 to run the new tests.  That is because the new tests got added to an existing standard demo file and smaller platforms may not have the resources to run them.
Set configRUN_ADDITIONAL_TESTS to 1 in the MSVC and IAR/QEMU project so both project run the new test.
Also add missing 'volatile' qualifier in the IAR/QEMU project on some register accesses.

* Update xAreMessageBufferTasksStillRunning() to report errors from the new message buffer size coherency tests.

Co-authored-by: RichardBarry <ribarry@amazon.com>
Co-authored-by: RichardBarry <3073890+RichardBarry@users.noreply.github.com>
4 years ago
Paul Bartell f39765be22
Kernel UT: Enable preprocessor when running cflow in callgraph.py (#530)
* Add INCLUDE_DIR to the commandline call to cflow in callgraph.py

This removes dependent functions from the list when they are disabled in the FreeRTOS config.

* Add argparse to callgraph.py so that no output file is created on failure.
4 years ago
Paul Bartell f1da2515c2
Run kernel CMock unit tests when they are changed. (#531)
* Run kernel unit tests in a github action only when Unit Test files change
4 years ago
newbs 270474aed4
Update serial.c for latest microchip DFP (1.6.88 from 1.1.40) (#517)
Update line 58 to make compatible with Microchip DFP 1.6.88


Co-authored-by: Joshua Yan <52796499+yanjos-dev@users.noreply.github.com>
4 years ago
newbs ee1940bdb9
update configurations.xml to use the latest Microchip AVR DFP 1.6.88 (#518) 4 years ago
Paul Bartell 6257160ee6
Make the address sanitizer optional for CMock kernel unit tests (#526)
* Make the address sanitizer optional

The address sanitizer is now disabled by default for CMock tests because it introduces additional branches into the compiled code. When make is run with the ENABLE_SANITIZER=1 argument, the address sanitizer is enabled and coverage data may not be accurate.

* Change from ifdef to ifeq ($(ENABLE_SANITIZER),1) to address PR comment
4 years ago
alfred gedeon cbc96ff596
Demo: remove commented code, and unused macros (#525) 4 years ago
Paul Bartell d7e5f40885
Clean up CMock makefiles and add coverage filtering (#523)
* Cleanup Makefiles

* Add lcovrc configuration file

* Add CMock test build directory to .gitignore

* Add callgraph.py and filtercov.py scripts

* Cleanup list Makefile and update list_utest.c with coverage tags

* Add information about coverage filtering and running single test cases

* Remove -fprofile-exclude-files for compatibility with older versions of gcc.
Fix line endings (change to unix style)

* Lint callgraph.py and filtercov.py. Print and error when no target functions are defined.

* Indent with spaces when possible

* Replace tabs with spaces and enable .RECIPEPREFIX

* Add fake_port.h and related portmacro.h changes

* Fix list makefile when bin directory is not available

* Clean up grouped rules

* Update makesfile.. Add "two_tests" example dir

* Fix memory checker error

* Move common makefile items to subdir.mk and testdir.mk includes

* Update core_checker.py exclusions

* Remove line from portmacro.h that doesn't match core_checker.py
4 years ago
Archit Gupta c8fa483b68
Add custom metrics to defender demo (#507)
Adds custom metrics to the defender demo. The metrics added are a list of the task ids and the stack high water mark.
4 years ago
xuelix e61730c9b1
Changed git-secrets check to check all PR branches. (#521)
* Change to check all PR branches.
4 years ago
xuelix 7de2a488b8
Added git-secrets check to Github Action (#520) 4 years ago
Nathan Chong 5309372245
Minor VeriFast proof changes to match V10.4.3 (#519)
* Minor changes for V10.4.3

* Update license
4 years ago
Carl Lundin 5ff9863249
Update corePKCS11 submodule. (#505)
Co-authored-by: alfred gedeon <28123637+alfred2g@users.noreply.github.com>
4 years ago
Carl Lundin 47052bc054
Correct FreeRTOS.org link in main_full.c for: (#510)
* FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_full.c
* FreeRTOS/Demo/Posix_GCC/main_full.c
4 years ago
RichardBarry 2e4485a0d6
Create Cortex-M3 QEMU project for testing with the IAR compiler (#503)
* Initial version of the CORTEX_MPS2_QEMU_IAR - needs tidying up and so far only contains the comprehensive demo.

* Update the comment block at the top of the source files to match the latest official release.

* Split out the main_full() demo from main().  Still need to add in the main_blinky() demo.

* Add the blinky demo option.

* Tidy up the QEMU/IAR project.

* Configure the QEMU IAR project to only create the blinky demo.

* Delete readme.txt which was in the wrong directory.

* Fix errors in the comments at the top of the file as highlighted by the auto checks.

Co-authored-by: alfred gedeon <28123637+alfred2g@users.noreply.github.com>
4 years ago
Carl Lundin 006c6dd5fd
Update python version to 3.7.10 (#512) 4 years ago
Paul Bartell 570ae6bb52
Add unity memory extension, fake_assert, and enable -fsanitize=address (#506)
* Enable libunitymemory extension to track dynamic memory usage during unit tests
* Use UnityMemory in timers_utest.c
* Add fake_assert.h to allow mocking of configASSERT calls
* Add .editorconfig to make github show indentation correctly
* Add unity memory and fake_assert to queue_utest.c
* Add -fsanitize=address CFLAG when running unit tests
* Define mtCOVERAGE_TEST_MARKER macro to include mtCOVERAGE_TEST_MARKER lines in coverage figures
* Add additional memory check / protection CFLAGS for CMock tests
* Fix out of bounds array access in list_utest.c
* Move the fake_assert.h include to the top of FreeRTOSConfig.h
4 years ago
alfred gedeon c4d8002634
Generate JUnit style report for kernel unit test (#504)
* Add JUnit test report to ut
* Add JUnit test report with make run
* Fix gcc path
4 years ago
David Chalco 63aec3607d
Unit Test/timer[0] (#502)
* define CC/LD iff undef. Add timers suite

* timers_utest[0]
4 years ago
Carl Lundin f6dff3fea3
Add Litani to run CBMC proofs (#501)
Update to out of source makefile build and add run-cbmc-proofs.py

CBMC proofs can now be run with Litani with the command
"./run-cbmc-proofs.py"

Based on commits:
* 1646301 - Ignore CBMC proof failures, fail the build later (4 months ago) <Kareem Khazem>
* 7e8c91a - Fix Makefile prerequisite symbol for CBMC proofs (4 months ago) <Kareem Khazem>
* bee04be - Enable CBMC proofs to run in CI (4 months ago) <Kareem Khazem>

Found in https://github.com/FreeRTOS/FreeRTOS-Plus-TCP
4 years ago
alfred gedeon cd92c42b52
Kernel list.c Unit Test (#497)
* Test: List.c Unit Test

* Test: test list.h macros

* Test: Fix UT bug

* Remove unecessary statement from Makefile

* Update list_utest.c

* Update list_utest.c

Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
4 years ago
alfred gedeon c4839ecda3
Comment: Remove tcp echo client from the comments (#500) 4 years ago
Cobus van Eeden 1ef9daf721 Add feature request template 4 years ago
Archit Aggarwal 693212bd05
Update Jobs demo to use DescribeJobExecution instead of StartNextPendingJobExecution API (#496)
It is recommended by the AWS IoT Jobs service to use DescribeJobExecution API for scaling purposes instead of StartNextPendingJobExecution API. Thus, update the Jobs demo to replace the latter API call with the former API call.
4 years ago
David Chalco 5bb198cdb8
delete .gitattributes (#499) 4 years ago
Archit Aggarwal 8d325a5f47
Blocklist certificate files in .gitignore (#498) 4 years ago
alfred gedeon 9b9011917a
Add Kernel Unit Tests Environment (#494)
* Implement Kernel Unit Test Framework with CMock

* Add Readme.md to unit tests

* Add Posix build checker to git actions

* Add Ruby requirement

* Fix file header checks

* Fix header checks

* Add color output to test runs
4 years ago
Carl Lundin a78cb45d12
Minor changes to wolfSSL MQTT demo files (#493)
* Clean up demo config for wolfSSL mutual auth. 
* Add comment about picking the correct ROOT CA.
* uncrustify using_wolfSSL.c and some other code style changes.
* Apply suggestions from code review

Co-authored-by: Archit Aggarwal <architag@amazon.com>
4 years ago
TakayukiMatsuo dfdf2ddf1f
Add MQTT_Mutual_Auth_wolfSSL demo (#464)
Add a demo that shows MQTT over TLS mutual authentication connection and communication with a broken when using wolfSSL as the TLS library.
4 years ago
David Chalco 7bbf951c71
Color printing + New checker message and emphasis (#492)
* Color printing + new message and emphasis

* omit requirements.txt from checks
4 years ago
Marc-Antoine Lalonde 52c9756f21
Call taskYIELD after calling FreeRTOS_send in Plaintext_FreeRTOS_send (#491)
FreeRTOS_send adds the packet to be sent to the IP task's queue for
later processing. The packet is sent later by the IP task. When
FreeRTOS is used in collaborative mode (i.e. configUSE_PREEMPTION is 0),
the Plaintext_FreeRTOS_send function returns without actually sending
the packet as the IP task never gets a chance to run.

The fact that Plaintext_FreeRTOS_send returns without actually sending
the packet causes an issue in the MQTT_Connect which expects the CONNECT
packet to be actually sent and waits for CONNACK.

This commit adds a taskYIELD call after calling FreeRTOS_send to ensure
that the IP task gets a chance to run and send the packet before the
Plaintext_FreeRTOS_send function returns.
4 years ago
David Chalco 748a701b91
add .gitattributes, normalize line endings (#490) 4 years ago
alfred gedeon 47d37354bc
Add Posix build checker to git actions (#489)
* Add Posix build checker to git actions

* fix checker path

* Fix script, checkout recursively

* fix build check script return value

* clone submodules as well with posix checker

* Add quotes to true for submodules

* Fix Submodules

* Remove pcap dependency from Makefile

* install libpcap for build check

* Add networking build to posix

* Separate network build from normal build

* add libpcap after building normal posix
4 years ago
alfred gedeon 36fd2c8d8c
Update Kernel submodule (#488) 4 years ago
alfred gedeon 3a7da90c4f
Qemu Mps2 network interrupt (#487)
* Enable netwrork nterrupt handling for Qemu MPS2

* Fix interrupt priority

Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
4 years ago
Cobus van Eeden 3781cd9224
Add build dependency (#486) 4 years ago
Cobus van Eeden 68a500bca3
Initial vscode debug configuration (#485) 4 years ago
alfred gedeon 1c99d9f200
Prevent optimization in reset handler for QEMU MPS2 (#484) 4 years ago
Cobus van Eeden 28548e06fe
Update Readme.md 4 years ago
David Chalco 0527a2a02a
AutoRelease + Header Checker Upgrades (#482)
* Initial version where all deps are pylibs
* mechanism for undoing an autorelease
* misc refactor touchups
* +mechanism to baseline older commit into detached HEAD tag
* decouple kernel check configs + misc refactor improvements
* improved compatibility with git action
* Get pushes working in git action with release
* Fix header-check issue when same deletion occurs in parallel
* Add help message in case check fails
* Address PR feedback
4 years ago
Alfred Gedeon 1f9389c7c4 Fix: Qemu MPS2 Demo build failure 4 years ago
alfred gedeon 208b260f98
Add Full Demo to Qemu mps2 (#481)
* Add Full Demo to Qemu with MPS2

* Increase full demo heap memory

* Add Full Demo to Qemu MPS2

* Fix headers

* Fix header FreeRTOS version

* Remove commented line

* Remove commented line

* Fix header checker version, and corresponding files

* Fix checker version number requirements
4 years ago
Joseph Julicher 398fa1e8a9
Update README.md 4 years ago
Joseph Julicher da9b9a800d [AUTO][RELEASE]: Bump file header version to "202012.00" 4 years ago
Joseph Julicher 45ba920ad0 [AUTO][RELEASE]: Bump submodules per manifest.yml for V202012.00 4 years ago
Joseph Julicher 2e2ba99a74 [AUTO][RELEASE]: Bump file header version to "202012.00" 4 years ago