File tree Expand file tree Collapse file tree 5 files changed +15
-15
lines changed
Expand file tree Collapse file tree 5 files changed +15
-15
lines changed Original file line number Diff line number Diff line change 1212echo " Scanning for corrupt profraw files in: $COVERAGE_DIR "
1313
1414# Find all profraw files
15- PROFRAW_FILES=( $( find " $COVERAGE_DIR " -name " *.profraw" 2> /dev/null || true) )
15+ mapfile -t PROFRAW_FILES < <( find " $COVERAGE_DIR " -name " *.profraw" 2> /dev/null || true)
1616
1717if [ ${# PROFRAW_FILES[@]} -eq 0 ]; then
1818 echo " No .profraw files found"
Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ OUTPUT="${2:-coverage/merged.profdata}"
88echo " Collecting coverage from: $COVERAGE_DIR "
99
1010# Find all profraw files
11- PROFRAW_FILES=( $( find " $COVERAGE_DIR " -name " *.profraw" 2> /dev/null || true) )
11+ mapfile -t PROFRAW_FILES < <( find " $COVERAGE_DIR " -name " *.profraw" 2> /dev/null || true)
1212
1313if [ ${# PROFRAW_FILES[@]} -eq 0 ]; then
1414 echo " ERROR: No .profraw files found in $COVERAGE_DIR "
@@ -75,7 +75,7 @@ mkdir -p "$(dirname "$OUTPUT")"
7575BATCH_SIZE=500
7676TOTAL_FILES=${# VALID_FILES[@]}
7777
78- if [ $TOTAL_FILES -le $BATCH_SIZE ]; then
78+ if [ " $TOTAL_FILES " -le " $BATCH_SIZE " ]; then
7979 # Small enough to merge in one go
8080 echo " Merging ${TOTAL_FILES} files..."
8181 llvm-profdata merge -sparse " ${VALID_FILES[@]} " -o " $OUTPUT "
8585
8686 # Create temp directory for intermediate files
8787 TEMP_DIR=$( mktemp -d " ${TMPDIR:-/ tmp} /profdata-merge.XXXXXX" )
88- trap " rm -rf ' $TEMP_DIR ' " EXIT
88+ trap ' rm -rf " $TEMP_DIR" ' EXIT
8989
9090 BATCH_NUM=0
9191 INTERMEDIATE_FILES=()
9292
9393 # Merge files in batches
94- for (( i= 0 ; i< $ TOTAL_FILES ; i+= $ BATCH_SIZE)) ; do
94+ for (( i= 0 ; i< TOTAL_FILES; i+= BATCH_SIZE)) ; do
9595 BATCH_NUM=$(( BATCH_NUM + 1 ))
9696 END=$(( i + BATCH_SIZE))
97- if [ $END -gt $TOTAL_FILES ]; then
97+ if [ " $END " -gt " $TOTAL_FILES " ]; then
9898 END=$TOTAL_FILES
9999 fi
100100
Original file line number Diff line number Diff line change 1313
1414# Get all binaries from Makefile (includes plugins, tools, test binaries)
1515echo " Discovering instrumented binaries from Makefile..."
16- BINARIES=( $( make -qp 2> /dev/null | awk ' /^ALL_PROGRAMS :=/ {$1=$2=""; print}' | tr ' ' ' \n' | grep -v ' ^$' ) )
17- TEST_BINARIES=( $( make -qp 2> /dev/null | awk ' /^ALL_TEST_PROGRAMS :=/ {$1=$2=""; print}' | tr ' ' ' \n' | grep -v ' ^$' ) )
16+ mapfile -t BINARIES < <( make -qp 2> /dev/null | awk ' /^ALL_PROGRAMS :=/ {$1=$2=""; print}' | tr ' ' ' \n' | grep -v ' ^$' )
17+ mapfile -t TEST_BINARIES < <( make -qp 2> /dev/null | awk ' /^ALL_TEST_PROGRAMS :=/ {$1=$2=""; print}' | tr ' ' ' \n' | grep -v ' ^$' )
1818
1919# Combine all binaries
2020ALL_BINARIES=(" ${BINARIES[@]} " " ${TEST_BINARIES[@]} " )
Original file line number Diff line number Diff line change 1313
1414# Get all binaries from Makefile (includes plugins, tools, test binaries)
1515echo " Discovering instrumented binaries from Makefile..."
16- BINARIES=( $( make -qp 2> /dev/null | awk ' /^ALL_PROGRAMS :=/ {$1=$2=""; print}' | tr ' ' ' \n' | grep -v ' ^$' ) )
17- TEST_BINARIES=( $( make -qp 2> /dev/null | awk ' /^ALL_TEST_PROGRAMS :=/ {$1=$2=""; print}' | tr ' ' ' \n' | grep -v ' ^$' ) )
16+ mapfile -t BINARIES < <( make -qp 2> /dev/null | awk ' /^ALL_PROGRAMS :=/ {$1=$2=""; print}' | tr ' ' ' \n' | grep -v ' ^$' )
17+ mapfile -t TEST_BINARIES < <( make -qp 2> /dev/null | awk ' /^ALL_TEST_PROGRAMS :=/ {$1=$2=""; print}' | tr ' ' ' \n' | grep -v ' ^$' )
1818
1919# Combine all binaries
2020ALL_BINARIES=(" ${BINARIES[@]} " " ${TEST_BINARIES[@]} " )
@@ -38,7 +38,7 @@ if [ ${#ARGS[@]} -eq 0 ]; then
3838fi
3939
4040# Find all profdata files
41- PROFDATA_FILES=( $( find " $PROFDATA_DIR " -name " *.profdata" 2> /dev/null | sort) )
41+ mapfile -t PROFDATA_FILES < <( find " $PROFDATA_DIR " -name " *.profdata" 2> /dev/null | sort)
4242
4343if [ ${# PROFDATA_FILES[@]} -eq 0 ]; then
4444 echo " ERROR: No .profdata files found in $PROFDATA_DIR "
Original file line number Diff line number Diff line change 1212
1313# Get all binaries from Makefile (includes plugins, tools, test binaries)
1414echo " Discovering instrumented binaries from Makefile..."
15- BINARIES=( $( make -qp 2> /dev/null | awk ' /^ALL_PROGRAMS :=/ {$1=$2=""; print}' | tr ' ' ' \n' | grep -v ' ^$' ) )
16- TEST_BINARIES=( $( make -qp 2> /dev/null | awk ' /^ALL_TEST_PROGRAMS :=/ {$1=$2=""; print}' | tr ' ' ' \n' | grep -v ' ^$' ) )
15+ mapfile -t BINARIES < <( make -qp 2> /dev/null | awk ' /^ALL_PROGRAMS :=/ {$1=$2=""; print}' | tr ' ' ' \n' | grep -v ' ^$' )
16+ mapfile -t TEST_BINARIES < <( make -qp 2> /dev/null | awk ' /^ALL_TEST_PROGRAMS :=/ {$1=$2=""; print}' | tr ' ' ' \n' | grep -v ' ^$' )
1717
1818# Combine all binaries
1919ALL_BINARIES=(" ${BINARIES[@]} " " ${TEST_BINARIES[@]} " )
3939mkdir -p " $OUTPUT_DIR "
4040
4141# Find all test subdirectories
42- TEST_DIRS=( $( find " $COVERAGE_DIR " -mindepth 1 -maxdepth 1 -type d 2> /dev/null | sort) )
42+ mapfile -t TEST_DIRS < <( find " $COVERAGE_DIR " -mindepth 1 -maxdepth 1 -type d 2> /dev/null | sort)
4343
4444if [ ${# TEST_DIRS[@]} -eq 0 ]; then
4545 echo " ERROR: No test subdirectories found in $COVERAGE_DIR "
@@ -55,7 +55,7 @@ for test_dir in "${TEST_DIRS[@]}"; do
5555 echo -n " $test_name ... "
5656
5757 # Find profraw files for this test
58- PROFRAW_FILES=( $( find " $test_dir " -name " *.profraw" 2> /dev/null || true) )
58+ mapfile -t PROFRAW_FILES < <( find " $test_dir " -name " *.profraw" 2> /dev/null || true)
5959
6060 if [ ${# PROFRAW_FILES[@]} -eq 0 ]; then
6161 echo " no profraw files"
You can’t perform that action at this time.
0 commit comments