summaryrefslogtreecommitdiff
path: root/.github/workflows/kernel-unit-tests.yml
blob: 4e5525b4fd48d822c531342e9a77bb6558c14a92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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