mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 18:55:19 +00:00 
			
		
		
		
	
		
			
	
	
		
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|   | #!/usr/bin/env bash
 | ||
|  | 
 | ||
|  | CIDIR=$(dirname $(readlink -fn $0)) | ||
|  | source $CIDIR/ci.functions | ||
|  | 
 | ||
|  | if [ ! -r main/asterisk.gcno ]; then | ||
|  | 	# Coverage is not enabled. | ||
|  | 	exit 0 | ||
|  | fi | ||
|  | 
 | ||
|  | if [ -z $LCOV_DIR ]; then | ||
|  | 	LCOV_DIR="${OUTPUT_DIR:+${OUTPUT_DIR}/}lcov" | ||
|  | fi | ||
|  | 
 | ||
|  | if [ -z $COVERAGE_DIR ]; then | ||
|  | 	COVERAGE_DIR="${OUTPUT_DIR:+${OUTPUT_DIR}/}coverage" | ||
|  | fi | ||
|  | 
 | ||
|  | if [ -z $ASTERISK_VERSION ]; then | ||
|  | 	ASTERISK_VERSION=$(./build_tools/make_version .) | ||
|  | fi | ||
|  | 
 | ||
|  | set -x | ||
|  | # Capture counter data from testing | ||
|  | lcov --no-external --capture --directory . --output-file ${LCOV_DIR}/tested.info > /dev/null | ||
|  | 
 | ||
|  | # Combine initial and tested data. | ||
|  | lcov \
 | ||
|  | 	--add-tracefile ${LCOV_DIR}/initial.info \
 | ||
|  | 	--add-tracefile ${LCOV_DIR}/tested.info \
 | ||
|  | 	--output-file ${LCOV_DIR}/combined.info > /dev/null | ||
|  | 
 | ||
|  | # We don't care about coverage reporting for tests, utils or third-party. | ||
|  | lcov --remove ${LCOV_DIR}/combined.info \
 | ||
|  | 		"${PWD}/main/dns_test.*" \
 | ||
|  | 		"${PWD}/main/test.*" \
 | ||
|  | 		"${PWD}/tests/*" \
 | ||
|  | 		"${PWD}/utils/*" \
 | ||
|  | 		"${PWD}/third-party/*" \
 | ||
|  | 	--output-file ${LCOV_DIR}/filtered.info > /dev/null | ||
|  | 
 | ||
|  | # Generate HTML coverage report. | ||
|  | mkdir -p ${COVERAGE_DIR} | ||
|  | genhtml --prefix ${PWD} --ignore-errors source ${LCOV_DIR}/filtered.info \
 | ||
|  | 	--legend --title "Asterisk ${ASTERISK_VERSION}" --output-directory=${COVERAGE_DIR} > /dev/null |