SERVER-60832 Readd and fix gcov code coverage variant

This commit is contained in:
Richard Samuels
2022-02-14 15:54:50 +00:00
committed by Evergreen Agent
parent babeb73f15
commit c7bfbfeefc
6 changed files with 102 additions and 12 deletions

View File

@@ -6,25 +6,25 @@ if [ -d "./build" ]; then
if [ -n "$file_list" ]; then
for gcda_file in $file_list; do
echo "Processing file $gcda_file"
/opt/mongodbtoolchain/v3/bin/gcov -i $gcda_file
base_name=$(echo $gcda_file | rev | cut -f1 -d '/' | cut -f2 -d '.' | rev)
/opt/mongodbtoolchain/v4/bin/gcov -i "$gcda_file"
base_name=$(echo "$gcda_file" | rev | cut -f1 -d '/' | cut -f2 -d '.' | rev)
gcov_file=$base_name.gcda.gcov
if [ -f "$gcov_file" ]; then
# Add a prefix to the intermediate file, since it does not have a unique name.
# Convert the '/' to '#' in the file path.
file_prefix=$(echo $gcda_file | sed -e 's,^\./,,' | rev | cut -f2- -d '/' | rev | tr -s '/' '#')
new_gcov_file=$file_prefix #$base_name.gcda.gcov
if [ ! -f $new_gcov_file ]; then
file_prefix=$(echo "$gcda_file" | sed -e 's,^\./,,' | rev | cut -f2- -d '/' | rev | tr -s '/' '#')
new_gcov_file="$file_prefix #$base_name.gcda.gcov"
if [ ! -f "$new_gcov_file" ]; then
echo "Renaming gcov intermediate file $gcov_file to $new_gcov_file"
mv $gcov_file $new_gcov_file
mv "$gcov_file" "$new_gcov_file"
else
# We treat this as a fatal condition and remove all of the coverage files.
echo "Not renaming $gcov_file as $new_gcov_file already exists!"
rm -f *.gcda.gcov
rm -f ./*.gcda.gcov
exit 1
fi
fi
rm $gcda_file
rm "$gcda_file"
done
fi
fi