mirror of
https://github.com/containers/podman.git
synced 2025-06-01 17:17:47 +08:00
run BATS tests in Cirrus
I'm running the BATS tests manually once in a while, and catching several problems each week that make it past the rest of CI. Since the BATS tests run at RPM gating time, we need to catch problems earlier. Try running the tests from Cirrus. Tests will be skipped on Ubuntu due to a too-ancient version of coreutils (8.28; the 'timeout -v' we use requires 8.29). Tests are run *after* integration tests, even though these take three minutes and would be nice to have fail quickly, because running before causes bizarre CI failures. Shrug. UPDATE: also fix run test, broken by #3311. Signed-off-by: Ed Santiago <santiago@redhat.com>
This commit is contained in:
@ -278,6 +278,7 @@ testing_task:
|
||||
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
||||
unit_test_script: '$SCRIPT_BASE/unit_test.sh |& ${TIMESTAMP}'
|
||||
integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}'
|
||||
system_test_script: '$SCRIPT_BASE/system_test.sh |& ${TIMESTAMP}'
|
||||
|
||||
on_failure:
|
||||
failed_master_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_master_failure.sh'
|
||||
@ -311,6 +312,7 @@ special_testing_rootless_task:
|
||||
|
||||
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
||||
integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}'
|
||||
system_test_script: '$SCRIPT_BASE/system_test.sh |& ${TIMESTAMP}'
|
||||
|
||||
on_failure:
|
||||
failed_master_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_master_failure.sh'
|
||||
|
7
Makefile
7
Makefile
@ -220,8 +220,11 @@ localintegration: varlink_generate test-binaries ginkgo
|
||||
|
||||
remoteintegration: varlink_generate test-binaries ginkgo-remote
|
||||
|
||||
localsystem: .install.ginkgo
|
||||
ginkgo -v -noColor test/system/
|
||||
localsystem:
|
||||
if timeout -v 1 true; then PODMAN=./bin/podman bats test/system/; else echo "Skipping localsystem: 'timeout -v' unavailable'"; fi
|
||||
|
||||
remotesystem:
|
||||
@echo "remotesystem - unimplemented"
|
||||
|
||||
system.test-binary: .install.ginkgo
|
||||
$(GO) test -c ./test/system
|
||||
|
@ -1,21 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
source $(dirname $0)/lib.sh
|
||||
|
||||
req_env_var GOSRC OS_RELEASE_ID OS_RELEASE_VER
|
||||
|
||||
set -x
|
||||
cd "$GOSRC"
|
||||
|
||||
case "${OS_RELEASE_ID}" in
|
||||
ubuntu) ;& # Continue to the next item
|
||||
fedora)
|
||||
make install.tools
|
||||
make
|
||||
make test-binaries
|
||||
;;
|
||||
*) bad_os_id_ver ;;
|
||||
esac
|
||||
|
||||
make localsystem
|
1
contrib/cirrus/system_test.sh
Symbolic link
1
contrib/cirrus/system_test.sh
Symbolic link
@ -0,0 +1 @@
|
||||
integration_test.sh
|
@ -9,8 +9,8 @@ true | 0 |
|
||||
false | 1 |
|
||||
sh -c 'exit 32' | 32 |
|
||||
echo $rand | 0 | $rand
|
||||
/no/such/command | 127 | Error: container create failed:.*exec:.* no such file or dir
|
||||
/etc | 126 | Error: container create failed:.*exec:.* permission denied
|
||||
/no/such/command | 127 | Error: .*: starting container process caused .*exec:.*stat /no/such/command: no such file or directory
|
||||
/etc | 126 | Error: .*: starting container process caused .*exec:.* permission denied
|
||||
"
|
||||
|
||||
while read cmd expected_rc expected_output; do
|
||||
|
Reference in New Issue
Block a user