mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-06-18 18:29:04 -04:00
Earlier the System Call entry from an unprivileged task looked like: 1. SVC for entering system call. 2. System call implementation. 3. SVC for exiting system call. Now, the system call entry needs to make only one system call and everything else is handled internally. This PR also makes the following small changes: 1. Add one struct param for system calls with 5 parameters. This removes the need for special handling for system calls with 5 parameters. 2. Remove raise privilege SVC when MPU wrapper v2 is used. 3. Add additional run time parameter checks to MPU wrappers for xTaskGenericNotify and xQueueTakeMutexRecursive APIs. These changes are tested on the following platforms: 1. STM32H743ZI (Cortex-M7) 2. STM32L152RE (Cortex-M3) 3. Nuvoton M2351 (Cortex-M23) 4. NXP LPC55S69 (Cortex-M33)
57 lines
1.8 KiB
YAML
57 lines
1.8 KiB
YAML
name: CMock Unit Tests
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
run:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- name: Checkout Parent Repository
|
|
uses: actions/checkout@v2
|
|
with:
|
|
ref: 80db00d98bfac8b22289a2668d9e6b0265946d24
|
|
repository: FreeRTOS/FreeRTOS
|
|
submodules: 'recursive'
|
|
fetch-depth: 1
|
|
|
|
# Checkout user pull request changes
|
|
- name: Checkout Pull Request
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: ./FreeRTOS/Source
|
|
|
|
- name: Setup Python
|
|
uses: actions/setup-python@master
|
|
with:
|
|
python-version: 3.8
|
|
|
|
- name: Install packages
|
|
run: |
|
|
sudo apt-get install lcov cflow ruby doxygen build-essential unifdef
|
|
- name: Run Unit Tests with ENABLE_SANITIZER=1
|
|
run: |
|
|
make -C FreeRTOS/Test/CMock clean
|
|
make -C FreeRTOS/Test/CMock ENABLE_SANITIZER=1 run_col_formatted
|
|
- name: Run Unit Tests for coverage
|
|
run: |
|
|
make -C FreeRTOS/Test/CMock clean
|
|
make -C FreeRTOS/Test/CMock lcovhtml
|
|
lcov --config-file FreeRTOS/Test/CMock/lcovrc --summary FreeRTOS/Test/CMock/build/cmock_test.info > FreeRTOS/Test/CMock/build/cmock_test_summary.txt
|
|
- name: Upload coverage to Codecov
|
|
uses: codecov/codecov-action@v3.1.0
|
|
with:
|
|
files: ${{ github.workspace }}/FreeRTOS/Test/CMock/build/cmock_test.info
|
|
root_dir: ${{ github.workspace }}/FreeRTOS/Source
|
|
flags: unittests
|
|
fail_ci_if_error: false
|
|
verbose: false
|
|
- name: Archive code coverage data
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: coverage-data
|
|
path: FreeRTOS/Test/CMock/build/cmock_test*
|
|
- name: Archive code coverage html report
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: coverage-report
|
|
path: FreeRTOS/Test/CMock/build/coverage
|