mirror of
				https://github.com/containers/podman.git
				synced 2025-10-31 18:08:51 +08:00 
			
		
		
		
	 2e70d4201f
			
		
	
	2e70d4201f
	
	
	
		
			
			Testing `podman system check` requires that we have a way to intentionally introduce storage corruptions. Add a hidden `podman testing` command that provides the necessary internal logic in subcommands. Stub out the tunnel implementation for now. Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| # Need to run linter twice to cover all the build tags code paths
 | |
| set -e
 | |
| 
 | |
| # WARNING: This script executes on multiple operating systems that
 | |
| # do not have the same version of Bash.  Specifically, Darwin uses
 | |
| # a very old version, where modern features (like `declare -A`) are
 | |
| # absent.
 | |
| 
 | |
| # Makefile calls script with the 'run' argument, but developers may not.
 | |
| # Handle both cases transparently.
 | |
| [[ $1 == run ]] && shift
 | |
| 
 | |
| BUILD_TAGS_DEFAULT="apparmor,seccomp,selinux"
 | |
| BUILD_TAGS_ABI="$BUILD_TAGS_DEFAULT,systemd"
 | |
| BUILD_TAGS_TUNNEL="$BUILD_TAGS_DEFAULT,remote"
 | |
| BUILD_TAGS_REMOTE="remote,containers_image_openpgp"
 | |
| 
 | |
| SKIP_DIRS_ABI=""
 | |
| SKIP_DIRS_TUNNEL="pkg/api,pkg/domain/infra/abi,internal/domain/infra/abi"
 | |
| SKIP_DIRS_REMOTE="libpod/events,pkg/api,pkg/domain/infra/abi,internal/domain/infra/abi,pkg/machine/qemu,pkg/trust,test"
 | |
| 
 | |
| declare -a to_lint
 | |
| to_lint=(ABI TUNNEL REMOTE)
 | |
| 
 | |
| # Special-case, for Darwin and Windows only "remote" linting is possible and required.
 | |
| if [[ "$GOOS" == "windows" ]] || [[ "$GOOS" == "darwin" ]]; then
 | |
|   to_lint=(REMOTE)
 | |
| fi
 | |
| 
 | |
| for to_lint in "${to_lint[@]}"; do
 | |
|   tags_var="BUILD_TAGS_${to_lint}"
 | |
|   skip_var="SKIP_DIRS_${to_lint}"
 | |
|   echo ""
 | |
|   echo Running golangci-lint for "$to_lint"
 | |
|   echo Build Tags          "$to_lint": ${!tags_var}
 | |
|   echo Skipped directories "$to_lint": ${!skip_var}
 | |
|   (
 | |
|     # Make it really easy for a developer to copy-paste the command-line
 | |
|     # to focus or debug a single, specific linting category.
 | |
|     set -x
 | |
|     ./bin/golangci-lint run --timeout=10m --build-tags="${!tags_var}" --exclude-dirs="${!skip_var}" "$@"
 | |
|   )
 | |
| done
 |