summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Add test for timer start delayed past expiration (#557)"revert-557-add-test-late-timer-startRichardBarry2021-04-171-51/+0
| | | | This reverts commit 9c911990164abb4939d08fc3ebeccc5f2199c6cb.
* Add test for timer start delayed past expiration (#557)Jeff Tenney2021-04-171-0/+51
| | | | Co-authored-by: Dan Good <49254594+dan4thewin@users.noreply.github.com> Co-authored-by: RichardBarry <3073890+RichardBarry@users.noreply.github.com>
* prune .git from versioning search (#561)David Chalco2021-04-161-1/+4
| | | Co-authored-by: Archit Aggarwal <architag@amazon.com>
* Bump submodules of Kernel and AWS libraries (#564)Archit Aggarwal2021-04-165-3/+3
|
* Update README cloning instructions to set core.symlinks for Windows (#556)Oscar Michael Abrina2021-04-141-0/+5
| | | | | * Update README cloning instructions to set core.symlinks for Windows * Add purpose
* Fix typo in History.txt (#559)Archit Aggarwal2021-04-131-1/+1
|
* Relocate History.txt and fix an typo (#558)Archit Aggarwal2021-04-131-0/+0
|
* Add test for backlogged auto-reload timer (#553)Jeff Tenney2021-04-122-8/+94
| | | | | | | | | | | | | | | | | | | | | | | | | * Add test for backlogged auto-reset timer Must call vTimerDemoIncludeBacklogTests() to activate. * Fix little style issues - Update to new header - Add parentheses (style) - Remove trailing space accidentally introduced * Don't verify full clearing of backlog The timer task should be free to process the stop request without a specific requirement to work through the backlog of callbacks for the stopped timer. The timer task should be allowed to cancel the entire backlog, part of it, or none of it. In other words, once the application sends the stop request, it should not depend on receiving any more callbacks, even backlogged ones. The only requirement here is that the timer stop as requested. Co-authored-by: Joseph Julicher <jjulicher@mac.com> Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
* Add MQTT Agent submodule (#551)Muneeb Ahmed2021-04-097-0/+394
| | | | | | | | * Add MQTT Agent submodule * Add MQTT agent platform files Co-authored-by: abhidixi11 <44424462+abhidixi11@users.noreply.github.com> Co-authored-by: Joseph Julicher <jjulicher@mac.com>
* Small RISC-V spike demo improvements (#554)Tim Newsome2021-04-084-17/+31
| | | | | | | | | | | | | | | | * Put XLEN into .o files. Makes it easier to work on voth RV32 and RV64 binaries side-by-side. * Let the debugger disable HTIF use. * Makefile now links the binary at BASE_ADDRESS I need this so I can easily generate the appropriate binaries for riscv-tests/debug. Unfortunately there doesn't seem to be any good mechanism to externally define values for lds files, so I'm running it through the C preprocessor. Co-authored-by: Joseph Julicher <jjulicher@mac.com>
* Bump pyyaml from 5.3.1 to 5.4 in /.github/scripts/common (#555)dependabot[bot]2021-04-081-1/+1
| | | | | | | | | | Bumps [pyyaml](https://github.com/yaml/pyyaml) from 5.3.1 to 5.4. - [Release notes](https://github.com/yaml/pyyaml/releases) - [Changelog](https://github.com/yaml/pyyaml/blob/master/CHANGES) - [Commits](https://github.com/yaml/pyyaml/compare/5.3.1...5.4) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix spelling in stream_buffer_utest.cmasterPaul Bartell2021-04-071-23/+25
|
* Fix spelling in message_buffer_utest.cPaul Bartell2021-04-071-19/+21
|
* Update test commentsGaurav Aggarwal2021-04-071-1/+2
| | | | | Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com> (cherry picked from commit 44c66f1df24c9f9a26f218de1b6c1dd816f12a8b)
* Fix typo in message_buffer_utest.cPaul Bartell2021-04-071-1/+1
|
* Remove imporper TEST_PROTECT usage from message_buffer_utest.c.Paul Bartell2021-04-071-39/+42
| | | | The way TEST_PROTECT is currently used in this test causes an infinite loop if the expected configASSERT failure does not occur.
* Remove improper TEST_PROTECT usage which results in an infinite loop when an ↵Paul Bartell2021-04-071-86/+57
| | | | | | | | expected configASSERT does not occur. Replace TEST_PROTECT usage with CException library. Fix test_xStreamBufferSend_zero_bytes test case logic (no assertion occurs in this case).
* Reintroduce quarantined CBMC test (#516)Carl Lundin2021-04-071-0/+9
| | | | | This CBMC test would go over the memory limit of most hosts, causing the kernel to kill the process. With larger memory capabilities, this can be re-enabled.
* Run kernel unit tests against FreeRTOS-Kernel repository main branch and the ↵Paul Bartell2021-04-061-1/+43
| | | | current submodule version.
* Add RISC-V demo for the spike simulator. (#532)Tim Newsome2021-04-0214-1/+1097
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add RISC-V demo for the spike simulator. * Figuring out what the header checker wants. * Fix more headers. * Ignore htif.c and htif.h for header checks. These files are already stamped with BSD-3-Clause, which I'm not allowed to remove. There are numerous other files with the same license in FreeRTOS, so I assume this is fine. * Use proxy syscalls for RV32. Looks like spike won't be changed to make htif character writes work propery for RV32. This is now an even closer copy of the version in opensbi, which is arguably strictly better. * Support RV64 builds to use with spike. OpenOCD does not currently support debugging 64-bit FreeRTOS, but now that I have a target to test hopefully that will be remedied shortly. * Tweak rv32 instructions. This way you can have separate cross-tools installations that can coexist side by side. Co-authored-by: Joseph Julicher <jjulicher@mac.com>
* Update Tasks.c CBMC Proofs to Latest Code (#547)Carl Lundin2021-04-023-34/+33
| | | | | | | | | | | | | | * Fix Tasks.c patch, line numbers were out of sync and patching was broken. * Add assumption to TaskCreate proof that a task's priority is less than the configured max. With the introduction of https://github.com/FreeRTOS/FreeRTOS-Kernel/commit/9efe10b805e3516974dd5eba2d61bfa071ff8392 an assertion is added to ensure a new task's priority is less than the confirmed max. The CBMC proof for TaskCreate needs to include this assumption in order to not assert and fail. Since this is now enforced in the code we can add an assumption to the proof that a task must be created with a priority smaller than the configured max.
* Re-enable list, message_buffer, and stream_buffers unit testsPaul Bartell2021-04-011-3/+3
|
* Add event_groups.c Unit Test (#536)Ming Yue2021-04-015-4/+952
| | | | | | | | | | | | | * Added event_groups.c Unit Test. * Formatted and more comments. * Formatted * Split some test cases and add comment and coverage tag. * Update test cases. * Remove xEventGroupDelete Invalid Input test case, since the implementation does not handle this.
* Work around gcov json output bugPaul Bartell2021-03-311-1/+1
| | | | | | When gcov outputs into it's intermediate json format, sometimes it marks blocks as unexecuted but also sets an execution count != 0. In this case, the "count" field is correct, but the "unexecuted_block" field is incorrect. When outputting lcov formatted coverage data in filtercov.py, only output a branch coverage data lines (BRDA) with a "-" for the "taken" field when both count==0 and unexecuted_block==true in the input gcov json intermediate file.
* Adding unit tests for stream buffer and message buffer (#528)Ravishankar Bhagavandas2021-03-308-0/+2354
| | | | | | | | | | | * Initial commit * Add more stream buffer tests * Adding message buffer tests * Adding tests to cover config assert branches Co-authored-by: alfred gedeon <28123637+alfred2g@users.noreply.github.com>
* Force a branch in the definition of configASSERT in the default CMock ↵Paul Bartell2021-03-241-75/+85
| | | | | | FreeRTOSConfig.h file (#538) * Force a branch in the definition of configASSERT in the default CMock FreeRTOSConfig.h file * Run uncrustify on FreeRTOSConfig.h
* Collect initial coverage data so that untagged functions are still included ↵Paul Bartell2021-03-231-2/+12
| | | | | | | 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.
* Run kernel unit tests on pull requests and pushes.Paul Bartell2021-03-221-4/+1
| | | | Remove path filter (doesn't appear to work with multiple targets)
* Skip filtering of coverage if no @coverage tags are found in a _utest.c filePaul Bartell2021-03-221-3/+11
|
* Add message buffer space available coherency test (#515)Cobus van Eeden2021-03-205-6/+118
| | | | | | | | | | | * 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>
* Kernel UT: Enable preprocessor when running cflow in callgraph.py (#530)Paul Bartell2021-03-192-4/+31
| | | | | | | * 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.
* Run kernel CMock unit tests when they are changed. (#531)Paul Bartell2021-03-191-0/+41
| | | * Run kernel unit tests in a github action only when Unit Test files change
* Update serial.c for latest microchip DFP (1.6.88 from 1.1.40) (#517)newbs2021-03-181-4/+3
| | | | | | Update line 58 to make compatible with Microchip DFP 1.6.88 Co-authored-by: Joshua Yan <52796499+yanjos-dev@users.noreply.github.com>
* update configurations.xml to use the latest Microchip AVR DFP 1.6.88 (#518)newbs2021-03-161-1/+1
|
* Make the address sanitizer optional for CMock kernel unit tests (#526)Paul Bartell2021-03-162-2/+11
| | | | | | | * 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
* Demo: remove commented code, and unused macros (#525)alfred gedeon2021-03-161-40/+0
|
* Clean up CMock makefiles and add coverage filtering (#523)Paul Bartell2021-03-1520-342/+1123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Add custom metrics to defender demo (#507)Archit Gupta2021-03-058-120/+379
| | | Adds custom metrics to the defender demo. The metrics added are a list of the task ids and the stack high water mark.
* Changed git-secrets check to check all PR branches. (#521)xuelix2021-03-051-2/+0
| | | | * Change to check all PR branches.
* Added git-secrets check to Github Action (#520)xuelix2021-03-041-0/+26
|
* Minor VeriFast proof changes to match V10.4.3 (#519)Nathan Chong2021-02-2529-33/+148
| | | | | * Minor changes for V10.4.3 * Update license
* Update corePKCS11 submodule. (#505)Carl Lundin2021-02-221-0/+0
| | | Co-authored-by: alfred gedeon <28123637+alfred2g@users.noreply.github.com>
* Correct FreeRTOS.org link in main_full.c for: (#510)Carl Lundin2021-02-222-2/+2
| | | | * FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_full.c * FreeRTOS/Demo/Posix_GCC/main_full.c
* Create Cortex-M3 QEMU project for testing with the IAR compiler (#503)RichardBarry2021-02-1920-0/+10306
| | | | | | | | | | | | | | | | | | | * 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>
* Update python version to 3.7.10 (#512)Carl Lundin2021-02-182-13/+13
|
* Add unity memory extension, fake_assert, and enable -fsanitize=address (#506)Paul Bartell2021-02-1811-59/+151
| | | | | | | | | | | | * 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
* Generate JUnit style report for kernel unit test (#504)alfred gedeon2021-02-151-8/+12
| | | | | * Add JUnit test report to ut * Add JUnit test report with make run * Fix gcc path
* Unit Test/timer[0] (#502)David Chalco2021-02-144-3/+233
| | | | | * define CC/LD iff undef. Add timers suite * timers_utest[0]
* Add Litani to run CBMC proofs (#501)Carl Lundin2021-02-126-19/+350
| | | | | | | | | | | | | 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
* Kernel list.c Unit Test (#497)alfred gedeon2021-02-116-38/+1118
| | | | | | | | | | | | | | | * 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>