145145
146146# Set build directory based on command
147147if [ " $COMMAND " = " coverage" ]; then
148- BUILD_DIR=" $CPP_DIR /build-coverage "
149- BUILD_PRESET=" clang20-coverage "
150- BUILD_CMAKE_FLAGS=" -DCOVERAGE_AVM =ON -DFUZZING=ON -DFUZZING_AVM =ON"
148+ BUILD_DIR=" $CPP_DIR /build-fuzzing-avm-cov "
149+ BUILD_PRESET=" fuzzing-avm "
150+ BUILD_CMAKE_FLAGS=" -DCOVERAGE =ON -DCOVERAGE_AVM =ON"
151151else
152152 BUILD_DIR=" $CPP_DIR /build-fuzzing-avm"
153153 BUILD_PRESET=" fuzzing-avm"
@@ -170,9 +170,9 @@ build_fuzzer() {
170170 if [ ! -f " $BUILD_DIR /CMakeCache.txt" ]; then
171171 echo " Configuring cmake..."
172172 if [ -n " $BUILD_CMAKE_FLAGS " ]; then
173- cmake --preset " $BUILD_PRESET " $BUILD_CMAKE_FLAGS
173+ cmake --preset " $BUILD_PRESET " -B " $BUILD_DIR " $BUILD_CMAKE_FLAGS
174174 else
175- cmake --preset " $BUILD_PRESET "
175+ cmake --preset " $BUILD_PRESET " -B " $BUILD_DIR "
176176 fi
177177 fi
178178
@@ -314,13 +314,14 @@ if [ "$COMMAND" = "coverage" ] && [ -f "$LLVM_PROFILE_FILE" ]; then
314314 echo " =========================================="
315315
316316 COVERAGE_DATA=" $COVERAGE_OUTPUT_DIR /bb_avm.profdata"
317- # Merge all profraw and profdata files in coverage directory
318- COVERAGE_FILES=(" $COVERAGE_OUTPUT_DIR " /* .profraw " $COVERAGE_OUTPUT_DIR " /* .profdata)
317+ # Merge all profraw and profdata files in coverage directory (skip globs that match nothing)
318+ COVERAGE_FILES=()
319+ for f in " $COVERAGE_OUTPUT_DIR " /* .profraw " $COVERAGE_OUTPUT_DIR " /* .profdata; do
320+ [ -f " $f " ] && COVERAGE_FILES+=(" $f " )
321+ done
319322 echo " Merging coverage files:"
320323 for f in " ${COVERAGE_FILES[@]} " ; do
321- if [ -f " $f " ]; then
322- echo " $f "
323- fi
324+ echo " $f "
324325 done
325326 echo " "
326327 llvm-profdata-20 merge -sparse " ${COVERAGE_FILES[@]} " -o " $COVERAGE_DATA "
0 commit comments