mirror of
https://github.com/containers/podman
synced 2024-10-20 01:03:51 +00:00
Merge pull request #3758 from edsantiago/bats
implement 'make remotesystem'
This commit is contained in:
commit
d65cb66437
28
Makefile
28
Makefile
|
@ -253,10 +253,34 @@ remoteintegration: varlink_generate test-binaries ginkgo-remote
|
|||
localsystem:
|
||||
# Wipe existing config, database, and cache: start with clean slate.
|
||||
$(RM) -rf ${HOME}/.local/share/containers ${HOME}/.config/containers
|
||||
if timeout -v 1 true; then PODMAN=./bin/podman bats test/system/; else echo "Skipping localsystem: 'timeout -v' unavailable'"; fi
|
||||
if timeout -v 1 true; then PODMAN=./bin/podman bats test/system/; else echo "Skipping $@: 'timeout -v' unavailable'"; fi
|
||||
|
||||
remotesystem:
|
||||
@echo "remotesystem - unimplemented"
|
||||
# Wipe existing config, database, and cache: start with clean slate.
|
||||
$(RM) -rf ${HOME}/.local/share/containers ${HOME}/.config/containers
|
||||
# Start varlink server using tmp socket; loop-wait for it;
|
||||
# test podman-remote; kill server, clean up tmp socket file.
|
||||
# varlink server spews copious unhelpful output; ignore it.
|
||||
rc=0;\
|
||||
if timeout -v 1 true; then \
|
||||
SOCK_FILE=$(shell mktemp --dry-run --tmpdir io.podman.XXXXXX);\
|
||||
export PODMAN_VARLINK_ADDRESS=unix:$$SOCK_FILE; \
|
||||
./bin/podman varlink --timeout=0 $$PODMAN_VARLINK_ADDRESS &>/dev/null & \
|
||||
retry=5;\
|
||||
while [[ $$retry -ge 0 ]]; do\
|
||||
echo Waiting for varlink server...;\
|
||||
sleep 1;\
|
||||
./bin/podman-remote info &>/dev/null && break;\
|
||||
retry=$$(expr $$retry - 1);\
|
||||
done;\
|
||||
env PODMAN=./bin/podman-remote bats test/system/ ;\
|
||||
rc=$$?;\
|
||||
kill %1;\
|
||||
rm -f $$SOCK_FILE;\
|
||||
else \
|
||||
echo "Skipping $@: 'timeout -v' unavailable'";\
|
||||
fi;\
|
||||
exit $$rc
|
||||
|
||||
system.test-binary: .install.ginkgo
|
||||
$(GO) test -c ./test/system
|
||||
|
|
|
@ -13,6 +13,14 @@ function setup() {
|
|||
@test "podman version emits reasonable output" {
|
||||
run_podman version
|
||||
|
||||
# First line of podman-remote is "Client:<blank>".
|
||||
# Just delete it (i.e. remove the first entry from the 'lines' array)
|
||||
if is_remote; then
|
||||
if expr "${lines[0]}" : "Client:" >/dev/null; then
|
||||
lines=("${lines[@]:1}")
|
||||
fi
|
||||
fi
|
||||
|
||||
is "${lines[0]}" "Version:[ ]\+[1-9][0-9.]\+" "Version line 1"
|
||||
is "$output" ".*Go Version: \+" "'Go Version' in output"
|
||||
is "$output" ".*RemoteAPI Version: \+" "API version in output"
|
||||
|
|
|
@ -6,10 +6,8 @@
|
|||
load helpers
|
||||
|
||||
@test "podman build - basic test" {
|
||||
if [[ "$PODMAN" =~ -remote ]]; then
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
skip "unreliable with podman-remote and rootless; #2972"
|
||||
fi
|
||||
if is_remote && is_rootless; then
|
||||
skip "unreliable with podman-remote and rootless; #2972"
|
||||
fi
|
||||
|
||||
rand_filename=$(random_string 20)
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
load helpers
|
||||
|
||||
@test "podman pod top - containers in different PID namespaces" {
|
||||
skip_if_remote "podman-pod does not work with podman-remote"
|
||||
|
||||
# With infra=false, we don't get a /pause container (we also
|
||||
# don't pull k8s.gcr.io/pause )
|
||||
no_infra='--infra=false'
|
||||
|
|
|
@ -28,6 +28,8 @@ on failure.
|
|||
|
||||
* `skip_if_rootless` - if rootless, skip this test with a helpful message.
|
||||
|
||||
* `skip_if_remote` - like the above, but skip if testing `podman-remote`
|
||||
|
||||
* `random_string` - returns a pseudorandom alphanumeric string
|
||||
|
||||
Test files are of the form `NNN-name.bats` where NNN is a three-digit
|
||||
|
|
|
@ -216,26 +216,31 @@ function wait_for_ready {
|
|||
###############################################################################
|
||||
# BEGIN miscellaneous tools
|
||||
|
||||
# Shortcuts for common needs:
|
||||
function is_rootless() {
|
||||
[ "$(id -u)" -ne 0 ]
|
||||
}
|
||||
|
||||
function is_remote() {
|
||||
[[ "$PODMAN" =~ -remote ]]
|
||||
}
|
||||
|
||||
######################
|
||||
# skip_if_rootless # ...with an optional message
|
||||
######################
|
||||
function skip_if_rootless() {
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
return
|
||||
if is_rootless; then
|
||||
skip "${1:-not applicable under rootless podman}"
|
||||
fi
|
||||
|
||||
skip "${1:-not applicable under rootless podman}"
|
||||
}
|
||||
|
||||
####################
|
||||
# skip_if_remote # ...with an optional message
|
||||
####################
|
||||
function skip_if_remote() {
|
||||
if [[ ! "$PODMAN" =~ -remote ]]; then
|
||||
return
|
||||
if is_remote; then
|
||||
skip "${1:-test does not work with podman-remote}"
|
||||
fi
|
||||
|
||||
skip "${1:-test does not work with podman-remote}"
|
||||
}
|
||||
|
||||
#########################
|
||||
|
|
Loading…
Reference in a new issue