@@ -9,6 +9,8 @@ permissions:
9
9
env :
10
10
BUILD_DIR : " ${{github.workspace}}/build"
11
11
INSTL_DIR : " ${{github.workspace}}/../install-dir"
12
+ COVERAGE_DIR : " ${{github.workspace}}/coverage"
13
+ COVERAGE_NAME : " exports-coverage-proxy"
12
14
13
15
jobs :
14
16
proxy-ubuntu :
30
32
- name : Install apt packages
31
33
run : |
32
34
sudo apt-get update
33
- sudo apt-get install -y cmake libhwloc-dev libjemalloc-dev libtbb-dev
35
+ sudo apt-get install -y cmake libhwloc-dev libjemalloc-dev libtbb-dev lcov
34
36
35
37
- name : Set ptrace value for IPC test
36
38
run : sudo bash -c "echo 0 > /proc/sys/kernel/yama/ptrace_scope"
52
54
-DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
53
55
-DUMF_TESTS_FAIL_ON_SKIP=ON
54
56
-DUMF_PROXY_LIB_BASED_ON_POOL=${{matrix.proxy_lib_pool}}
57
+ ${{ matrix.build_type == 'Debug' && '-DUMF_USE_COVERAGE=ON' || '' }}
55
58
56
59
- name : Build UMF
57
60
run : cmake --build ${{env.BUILD_DIR}} -j $(nproc)
71
74
- name : Run "/usr/bin/date" with proxy library
72
75
working-directory : ${{env.BUILD_DIR}}
73
76
run : UMF_PROXY="page.disposition=shared-shm" LD_PRELOAD=./lib/libumf_proxy.so /usr/bin/date
77
+
78
+ - name : Check coverage
79
+ if : ${{ matrix.build_type == 'Debug' }}
80
+ working-directory : ${{env.BUILD_DIR}}
81
+ run : |
82
+ export COVERAGE_FILE_NAME=${{env.COVERAGE_NAME}}-proxy_lib_pool-${{matrix.proxy_lib_pool}}
83
+ echo "COVERAGE_FILE_NAME: $COVERAGE_FILE_NAME"
84
+ ../scripts/coverage/coverage_capture.sh $COVERAGE_FILE_NAME
85
+ mkdir -p ${{env.COVERAGE_DIR}}
86
+ mv ./$COVERAGE_FILE_NAME ${{env.COVERAGE_DIR}}
87
+
88
+ - uses : actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
89
+ if : ${{ matrix.build_type == 'Debug' }}
90
+ with :
91
+ name : ${{env.COVERAGE_NAME}}-proxy_lib_pool-${{matrix.proxy_lib_pool}}
92
+ path : ${{env.COVERAGE_DIR}}
0 commit comments