Skip to content

Commit

Permalink
[eclipse-iceoryx#264] Add LLVM version check to coverage script
Browse files Browse the repository at this point in the history
  • Loading branch information
elBoberido committed Jul 4, 2024
1 parent c60bb24 commit 39511c1
Showing 1 changed file with 25 additions and 4 deletions.
29 changes: 25 additions & 4 deletions internal/scripts/generate-cov-report.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,20 +50,39 @@ generate_profile() {
merge_report() {
dependency_check llvm-profdata

mkdir -p ./${COVERAGE_DIR}/
local FILES=$(find . -name "*profraw")
llvm-profdata merge -sparse $FILES -o ./${COVERAGE_DIR}/json5format.profdata
if [[ ! -f "./${COVERAGE_DIR}/json5format.profdata" ]]; then
# get LLVM versions of llvm-profdata and rustc
LLVM_PROFDATA_VERSION_OUTPUT=$( llvm-profdata merge --version )
LLVM_VERSION=$(echo "$LLVM_PROFDATA_VERSION_OUTPUT" | grep -oP 'LLVM version \K[0-9]+')

RUSTC_VERSION_OUTPUT=$( rustc --version --verbose )
RUSTC_LLVM_VERSION=$(echo "$RUSTC_VERSION_OUTPUT" | grep -oP 'LLVM version: \K[0-9]+')

# check LLVM versions for compatibility
if [[ "$LLVM_VERSION" -ne "$RUSTC_LLVM_VERSION" ]]; then
echo -e "llvm-profdata LLVM version: $LLVM_VERSION"
echo -e "rustc LLVM version: $RUSTC_LLVM_VERSION"
echo -e "${COLOR_RED}error: LLVM major versions do not match${COLOR_OFF}"
exit 1
fi

# create report
mkdir -p ./${COVERAGE_DIR}/
local FILES=$(find . -name "*profraw")
llvm-profdata merge --sparse $FILES -o ./${COVERAGE_DIR}/json5format.profdata
fi
}

generate() {
cleanup
generate_profile
merge_report
}

show_overview() {
dependency_check llvm-cov

merge_report

local FILES=$(find ./target/debug/deps/ -type f -executable)
CMD="llvm-cov report --use-color --ignore-filename-regex='/.cargo/registry' --instr-profile=./${COVERAGE_DIR}/json5format.profdata"

Expand All @@ -79,6 +98,8 @@ show_report() {
dependency_check llvm-cov
dependency_check rustfilt

merge_report

local FILES=$(find ./target/debug/deps/ -type f -executable)
CMD="llvm-cov report --use-color --ignore-filename-regex='/.cargo/registry' --instr-profile=./${COVERAGE_DIR}/json5format.profdata"

Expand Down

0 comments on commit 39511c1

Please sign in to comment.