diff options
Diffstat (limited to 'core/line_coverage.mk')
-rw-r--r-- | core/line_coverage.mk | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/core/line_coverage.mk b/core/line_coverage.mk deleted file mode 100644 index c89642e630..0000000000 --- a/core/line_coverage.mk +++ /dev/null @@ -1,95 +0,0 @@ -# ----------------------------------------------------------------- -# Make target for line coverage. This target generates a zip file -# called `line_coverage_profiles.zip` that contains a large set of -# zip files one for each fuzz target/critical component. Each zip -# file contains a set of profile files (*.gcno) that we will use -# to generate line coverage reports. Furthermore, target compiles -# all fuzz targets with line coverage instrumentation enabled and -# packs them into another zip file called `line_coverage_profiles.zip`. -# -# To run the make target set the coverage related envvars first: -# NATIVE_COVERAGE=true NATIVE_COVERAGE_PATHS=* make haiku-line-coverage -# ----------------------------------------------------------------- - -# TODO(b/148306195): Due this issue some fuzz targets cannot be built with -# line coverage instrumentation. For now we just blacklist them. -blacklisted_fuzz_targets := libneuralnetworks_fuzzer - -fuzz_targets := $(ALL_FUZZ_TARGETS) -fuzz_targets := $(filter-out $(blacklisted_fuzz_targets),$(fuzz_targets)) - - -# Android components that considered critical. -# Please note that adding/Removing critical components is very rare. -critical_components_static := \ - lib-bt-packets \ - libbt-stack \ - libffi \ - libhevcdec \ - libhevcenc \ - libmpeg2dec \ - libosi \ - libpdx \ - libselinux \ - libvold \ - libyuv - -# Format is <module_name> or <module_name>:<apex_name> -critical_components_shared := \ - libaudioprocessing \ - libbinder \ - libbluetooth_gd \ - libbrillo \ - libcameraservice \ - libcurl \ - libhardware \ - libinputflinger \ - libopus \ - libstagefright \ - libunwind \ - libvixl:com.android.art.debug - -# Use the intermediates directory to avoid installing libraries to the device. -intermediates := $(call intermediates-dir-for,PACKAGING,haiku-line-coverage) - - -# We want the profile files for all fuzz targets + critical components. -line_coverage_profiles := $(intermediates)/line_coverage_profiles.zip - -critical_components_static_inputs := $(foreach lib,$(critical_components_static), \ - $(call intermediates-dir-for,STATIC_LIBRARIES,$(lib))/$(lib).a) - -critical_components_shared_inputs := $(foreach lib,$(critical_components_shared), \ - $(eval filename := $(call word-colon,1,$(lib))) \ - $(eval modulename := $(subst :,.,$(lib))) \ - $(call intermediates-dir-for,SHARED_LIBRARIES,$(modulename))/$(filename).so) - -fuzz_target_inputs := $(foreach fuzz,$(fuzz_targets), \ - $(call intermediates-dir-for,EXECUTABLES,$(fuzz))/$(fuzz)) - -# When coverage is enabled (NATIVE_COVERAGE is set), make creates -# a "coverage" directory and stores all profile (*.gcno) files in inside. -# We need everything that is stored inside this directory. -$(line_coverage_profiles): $(fuzz_target_inputs) -$(line_coverage_profiles): $(critical_components_static_inputs) -$(line_coverage_profiles): $(critical_components_shared_inputs) -$(line_coverage_profiles): $(SOONG_ZIP) - $(SOONG_ZIP) -o $@ -D $(PRODUCT_OUT)/coverage - - -# Zip all fuzz targets compiled with line coverage. -line_coverage_fuzz_targets := $(intermediates)/line_coverage_fuzz_targets.zip - -$(line_coverage_fuzz_targets): $(fuzz_target_inputs) -$(line_coverage_fuzz_targets): $(SOONG_ZIP) - $(SOONG_ZIP) -o $@ -j $(addprefix -f ,$(fuzz_target_inputs)) - - -.PHONY: haiku-line-coverage -haiku-line-coverage: $(line_coverage_profiles) $(line_coverage_fuzz_targets) -$(call dist-for-goals, haiku-line-coverage, \ - $(line_coverage_profiles):line_coverage_profiles.zip \ - $(line_coverage_fuzz_targets):line_coverage_fuzz_targets.zip) - -line_coverage_profiles := -line_coverage_fuzz_targets := |