mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-09 20:41:04 -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
|
$BUILD_TOOL
|
||||||
|
|
||||||
if [[ "-$BUILD_TYPE-" == *-coverage-* ]]; then
|
|
||||||
export LLVM_PROFILE_FILE="$PWD/profile/%32m.profraw"
|
|
||||||
fi
|
|
||||||
|
|
||||||
ctest --output-on-failure -j$(nproc)
|
ctest --output-on-failure -j$(nproc)
|
||||||
|
|
||||||
if [[ "-$BUILD_TYPE-" == *-coverage-* ]]; then
|
if [[ "-$BUILD_TYPE-" == *-coverage-* ]]; then
|
||||||
unset LLVM_PROFILE_FILE
|
rm -f /tmp-runner/dwarfs-coverage.txt
|
||||||
rm -rf /tmp-runner/coverage
|
|
||||||
mkdir -p /tmp-runner/coverage
|
|
||||||
llvm-profdata-$CLANG_VERSION merge -sparse profile/* -o dwarfs.profdata
|
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 \
|
||||||
llvm-cov-$CLANG_VERSION show -instr-profile=dwarfs.profdata $binary >/tmp-runner/coverage/$(basename $binary).txt
|
$(for i in mkdwarfs dwarfs dwarfsck dwarfsextract *_test ricepp/ricepp_test; do echo $i; done | sed -e's/^/-object=/') \
|
||||||
done
|
>/tmp-runner/dwarfs-coverage.txt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "-$BUILD_TYPE-" == *-static-* ]]; then
|
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 \
|
--env GITHUB_RUN_ATTEMPT \
|
||||||
dwarfs-linux-build-${{ matrix.dist }}
|
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
|
- name: Upload Coverage Data
|
||||||
if: matrix.build_type == 'clang-coverage-ninja'
|
if: matrix.build_type == 'clang-coverage-ninja'
|
||||||
uses: codecov/codecov-action@v4
|
uses: codecov/codecov-action@v4
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.CODECOV_TOKEN }}
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
files: ${{ steps.coverage-files.outputs.list }}
|
file: ${{ runner.temp }}/dwarfs-coverage.txt
|
||||||
fail_ci_if_error: false
|
fail_ci_if_error: false
|
||||||
|
|
||||||
- name: Prepare Artifact Upload
|
- name: Prepare Artifact Upload
|
||||||
|
@ -991,7 +991,10 @@ if(WITH_TESTS)
|
|||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
foreach(tgt ${TEST_TARGETS})
|
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()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -1401,6 +1404,8 @@ add_custom_target(
|
|||||||
build.ninja .ninja_deps
|
build.ninja .ninja_deps
|
||||||
Makefile compile_commands.json
|
Makefile compile_commands.json
|
||||||
artifacts.env
|
artifacts.env
|
||||||
|
default.profraw
|
||||||
|
profile
|
||||||
COMMAND
|
COMMAND
|
||||||
${CMAKE_COMMAND} -E rm -rf ${REALCLEAN_FILES}
|
${CMAKE_COMMAND} -E rm -rf ${REALCLEAN_FILES}
|
||||||
)
|
)
|
||||||
|
@ -192,6 +192,9 @@ if(WITH_TESTS)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT CMAKE_CROSSCOMPILING)
|
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()
|
||||||
endif()
|
endif()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user