mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-09 04:19:10 -04:00
build: simpify code coverage logic
This commit is contained in:
parent
eb8b751146
commit
35c7d20f9e
@ -123,20 +123,14 @@ cmake ../dwarfs/ $CMAKE_ARGS
|
||||
|
||||
$BUILD_TOOL
|
||||
|
||||
if [[ "-$BUILD_TYPE-" == *-coverage-* ]]; then
|
||||
export LLVM_PROFILE_FILE="$PWD/profile/%32m.profraw"
|
||||
fi
|
||||
|
||||
ctest --output-on-failure -j$(nproc)
|
||||
|
||||
if [[ "-$BUILD_TYPE-" == *-coverage-* ]]; then
|
||||
unset LLVM_PROFILE_FILE
|
||||
rm -rf /tmp-runner/coverage
|
||||
mkdir -p /tmp-runner/coverage
|
||||
rm -f /tmp-runner/dwarfs-coverage.txt
|
||||
llvm-profdata-$CLANG_VERSION merge -sparse profile/* -o dwarfs.profdata
|
||||
for binary in mkdwarfs dwarfs dwarfsck dwarfsextract *_test ricepp/ricepp_test; do
|
||||
llvm-cov-$CLANG_VERSION show -instr-profile=dwarfs.profdata $binary >/tmp-runner/coverage/$(basename $binary).txt
|
||||
done
|
||||
llvm-cov-$CLANG_VERSION show -instr-profile=dwarfs.profdata \
|
||||
$(for i in mkdwarfs dwarfs dwarfsck dwarfsextract *_test ricepp/ricepp_test; do echo $i; done | sed -e's/^/-object=/') \
|
||||
>/tmp-runner/dwarfs-coverage.txt
|
||||
fi
|
||||
|
||||
if [[ "-$BUILD_TYPE-" == *-static-* ]]; then
|
||||
|
9
.github/workflows/build.yml
vendored
9
.github/workflows/build.yml
vendored
@ -326,19 +326,12 @@ jobs:
|
||||
--env GITHUB_RUN_ATTEMPT \
|
||||
dwarfs-linux-build-${{ matrix.dist }}
|
||||
|
||||
- name: List Coverage Files
|
||||
id: coverage-files
|
||||
if: matrix.build_type == 'clang-coverage-ninja'
|
||||
run: |
|
||||
files=$(find ${{ runner.temp }}/coverage -type f | paste -d, -s)
|
||||
echo "list=$files" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Upload Coverage Data
|
||||
if: matrix.build_type == 'clang-coverage-ninja'
|
||||
uses: codecov/codecov-action@v4
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
files: ${{ steps.coverage-files.outputs.list }}
|
||||
file: ${{ runner.temp }}/dwarfs-coverage.txt
|
||||
fail_ci_if_error: false
|
||||
|
||||
- name: Prepare Artifact Upload
|
||||
|
@ -991,7 +991,10 @@ if(WITH_TESTS)
|
||||
endforeach()
|
||||
|
||||
foreach(tgt ${TEST_TARGETS})
|
||||
gtest_discover_tests(${tgt} DISCOVERY_TIMEOUT 120)
|
||||
gtest_discover_tests(${tgt}
|
||||
DISCOVERY_TIMEOUT 120
|
||||
PROPERTIES ENVIRONMENT "LLVM_PROFILE_FILE=${CMAKE_BINARY_DIR}/profile/%32m.profraw"
|
||||
)
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
@ -1401,6 +1404,8 @@ add_custom_target(
|
||||
build.ninja .ninja_deps
|
||||
Makefile compile_commands.json
|
||||
artifacts.env
|
||||
default.profraw
|
||||
profile
|
||||
COMMAND
|
||||
${CMAKE_COMMAND} -E rm -rf ${REALCLEAN_FILES}
|
||||
)
|
||||
|
@ -192,6 +192,9 @@ if(WITH_TESTS)
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_CROSSCOMPILING)
|
||||
gtest_discover_tests(ricepp_test DISCOVERY_TIMEOUT 120)
|
||||
gtest_discover_tests(ricepp_test
|
||||
DISCOVERY_TIMEOUT 120
|
||||
PROPERTIES ENVIRONMENT "LLVM_PROFILE_FILE=${CMAKE_BINARY_DIR}/profile/%32m.profraw"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
Loading…
x
Reference in New Issue
Block a user