2828 UMF_TESTS_FSDAX_PATH : " /mnt/pmem1/file"
2929 BUILD_DIR : " ${{github.workspace}}/build"
3030 INSTL_DIR : " ${{github.workspace}}/../install-dir"
31+ COVERAGE_DIR : " ${{github.workspace}}/coverage"
32+ COVERAGE_NAME : " exports-coverage-dax"
3133
3234jobs :
3335 dax :
8385 -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
8486 -DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF
8587 -DUMF_TESTS_FAIL_ON_SKIP=ON
88+ ${{ matrix.build_type == 'Debug' && '-DUMF_USE_COVERAGE=ON' || '' }}
8689
8790 - name : Build UMF
8891 run : cmake --build ${{env.BUILD_DIR}} --config ${{matrix.build_type}} -j $(nproc)
@@ -100,3 +103,19 @@ jobs:
100103 UMF_TESTS_FSDAX_PATH=${{env.UMF_TESTS_FSDAX_PATH}} ctest -C ${{matrix.build_type}} -R umf-provider_file_memory -V
101104 UMF_TESTS_FSDAX_PATH=${{env.UMF_TESTS_FSDAX_PATH}} ctest -C ${{matrix.build_type}} -R umf_example_dram_and_fsdax -V
102105 UMF_TESTS_FSDAX_PATH=${{env.UMF_TESTS_FSDAX_PATH}} ctest -C ${{matrix.build_type}} -R umf-ipc_file_prov_fsdax -V
106+
107+ - name : Check coverage
108+ if : ${{ matrix.build_type == 'Debug' }}
109+ working-directory : ${{env.BUILD_DIR}}
110+ run : |
111+ export COVERAGE_FILE_NAME=${{env.COVERAGE_NAME}}-shared-${{matrix.shared_library}}
112+ echo "COVERAGE_FILE_NAME: $COVERAGE_FILE_NAME"
113+ ../scripts/coverage/coverage_capture.sh $COVERAGE_FILE_NAME
114+ mkdir -p ${{env.COVERAGE_DIR}}
115+ mv ./$COVERAGE_FILE_NAME ${{env.COVERAGE_DIR}}
116+
117+ - uses : actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
118+ if : ${{ matrix.build_type == 'Debug' }}
119+ with :
120+ name : ${{env.COVERAGE_NAME}}-shared-${{matrix.shared_library}}
121+ path : ${{env.COVERAGE_DIR}}
0 commit comments