 78ad7a2d3a
			
		
	
	78ad7a2d3a
	
	
	
		
			
			This change adds the following: * Default paths to REPORT_DIR, CONTAINERD_STATE and CONTAINERD_ROOT for Windows * Removes the need for nssm on Windows. The nssm service has issues dealing with paths that contain spaces. Also, the containerd binary is perfectly capable of registering itself as a service in Windows, and Windows itself can take care of any failure handling of the service. NSSM is useful for binaries that do not have any kind of Windows service logic built into them. That is not the case of containerd. * Use wrapper functions that run containerd, ctr and criclt with properly quoted paths to pipes, sockets, state and root dirs. Currently, if the state and root dirs contain spaces in them, the command line flags on both Windows and Linux are not properly set. The wrapper functions will allow us to use the readiness_check and keepalive functions to retry the commands, while properly quoting the paths and avoiding eval. Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| #   Copyright The containerd Authors.
 | |
| 
 | |
| #   Licensed under the Apache License, Version 2.0 (the "License");
 | |
| #   you may not use this file except in compliance with the License.
 | |
| #   You may obtain a copy of the License at
 | |
| 
 | |
| #       http://www.apache.org/licenses/LICENSE-2.0
 | |
| 
 | |
| #   Unless required by applicable law or agreed to in writing, software
 | |
| #   distributed under the License is distributed on an "AS IS" BASIS,
 | |
| #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
| #   See the License for the specific language governing permissions and
 | |
| #   limitations under the License.
 | |
| 
 | |
| set -o errexit
 | |
| set -o nounset
 | |
| set -o pipefail
 | |
| 
 | |
| basedir="$(dirname "${BASH_SOURCE[0]}")"
 | |
| source "${basedir}/utils.sh"
 | |
| 
 | |
| trap test_teardown EXIT
 | |
| 
 | |
| ROOT="$( cd "${basedir}" && pwd )"/../..
 | |
| cd "${ROOT}"
 | |
| 
 | |
| # FOCUS focuses the test to run.
 | |
| FOCUS=${FOCUS:-""}
 | |
| # REPORT_DIR is the the directory to store test logs.
 | |
| if [ $IS_WINDOWS -eq 0 ]; then
 | |
|   REPORT_DIR=${REPORT_DIR:-"/tmp/test-integration"}
 | |
| else
 | |
|   REPORT_DIR=${REPORT_DIR:-"C:/Windows/Temp/test-integration"}
 | |
| fi
 | |
| # RUNTIME is the runtime handler to use in the test.
 | |
| RUNTIME=${RUNTIME:-""}
 | |
| 
 | |
| CRI_ROOT="${CONTAINERD_ROOT}/io.containerd.grpc.v1.cri"
 | |
| mkdir -p "${REPORT_DIR}"
 | |
| test_setup "${REPORT_DIR}"
 | |
| 
 | |
| # Run integration test.
 | |
| ${sudo} bin/cri-integration.test --test.run="${FOCUS}" --test.v \
 | |
|   --cri-endpoint="${CONTAINERD_SOCK}" \
 | |
|   --cri-root="${CRI_ROOT}" \
 | |
|   --runtime-handler="${RUNTIME}" \
 | |
|   --containerd-bin="${CONTAINERD_BIN}" \
 | |
|   --image-list="${TEST_IMAGE_LIST:-}" && test_exit_code=$? || test_exit_code=$?
 | |
| 
 | |
| test $test_exit_code -ne 0 && \
 | |
|   cat "$REPORT_DIR/containerd.log"
 | |
| 
 | |
| exit ${test_exit_code}
 |