Use kcov from official Ubuntu 20.04 repository (#25385)
* Ubuntu 20.04 provides kcov, so don't build from source * Use two undocumented options for kcov v3.8
This commit is contained in:
		 Massimiliano Culpo
					Massimiliano Culpo
				
			
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			 GitHub
						GitHub
					
				
			
						parent
						
							350372e3bf
						
					
				
				
					commit
					10695f1ed3
				
			| @@ -9,4 +9,7 @@ if [ -z "$SPACK_ROOT" ]; then | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| kcov "$SPACK_ROOT/coverage" "$@" | ||||
| # Using a -- to separate the script to be tested from kcov is not documented | ||||
| # as of v38, but seems to work. The same is true for the "--debug-force-bash-stderr" | ||||
| # option, see https://github.com/SimonKagstrom/kcov/issues/61 | ||||
| kcov --debug-force-bash-stderr "$SPACK_ROOT/coverage" -- "$@" | ||||
|   | ||||
| @@ -38,8 +38,8 @@ cd "$SPACK_ROOT" | ||||
| # Run bash tests with coverage enabled, but pipe output to /dev/null | ||||
| # because it seems that kcov seems to undo the script's redirection | ||||
| if [ "$COVERAGE" = true ]; then | ||||
|     "$QA_DIR/bashcov" "$QA_DIR/setup-env-test.sh" &> /dev/null | ||||
|     "$QA_DIR/bashcov" "$QA_DIR/completion-test.sh" &> /dev/null | ||||
|     kcov "$SPACK_ROOT/coverage" "$QA_DIR/setup-env-test.sh" &> /dev/null | ||||
|     kcov "$SPACK_ROOT/coverage" "$QA_DIR/completion-test.sh" &> /dev/null | ||||
| else | ||||
|     bash "$QA_DIR/setup-env-test.sh" | ||||
|     bash "$QA_DIR/completion-test.sh" | ||||
|   | ||||
| @@ -31,10 +31,10 @@ if [[ "$COVERAGE" == "true" ]]; then | ||||
|     bashcov=$(realpath ${QA_DIR}/bashcov) | ||||
|  | ||||
|     # instrument scripts requiring shell coverage | ||||
|     sed -i~ "s@#\!/bin/bash@#\!${bashcov}@" "$SPACK_ROOT/lib/spack/env/cc" | ||||
|     sed -i "s@#\!/bin/bash@#\!${bashcov}@" "$SPACK_ROOT/lib/spack/env/cc" | ||||
|     if [ "$(uname -o)" != "Darwin" ]; then | ||||
|         # On darwin, #! interpreters must be binaries, so no sbang for bashcov | ||||
|         sed -i~ "s@#\!/bin/sh@#\!${bashcov}@"   "$SPACK_ROOT/bin/sbang" | ||||
|         sed -i "s@#\!/bin/sh@#\!${bashcov}@"   "$SPACK_ROOT/bin/sbang" | ||||
|     fi | ||||
| fi | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user