42 lines
1.3 KiB
YAML
42 lines
1.3 KiB
YAML
4 years ago
|
name: Kernel Unit Tests
|
||
|
on:
|
||
|
push:
|
||
|
paths:
|
||
|
- 'FreeRTOS/Test/CMock/**'
|
||
|
|
||
|
jobs:
|
||
|
run:
|
||
|
runs-on: ubuntu-latest
|
||
|
steps:
|
||
|
- name: Checkout Repository
|
||
|
uses: actions/checkout@v2
|
||
|
with:
|
||
|
submodules: 'recursive'
|
||
|
fetch-depth: 5
|
||
|
- 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: 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
|