Merge pull request #2631 from cevich/add_release_test

Add conditional release-checking system test
This commit is contained in:
Miloslav Trmač
2025-06-23 18:04:14 +02:00
committed by GitHub
2 changed files with 31 additions and 0 deletions

View File

@@ -16,4 +16,30 @@ function setup() {
expect_output --substring "skopeo version [0-9.]+" expect_output --substring "skopeo version [0-9.]+"
} }
@test "skopeo release isn't a development version" {
[[ "${RELEASE_TESTING:-false}" == "true" ]] || \
skip "Release testing may be enabled by setting \$RELEASE_TESTING = 'true'."
run_skopeo --version
# expect_output() doesn't support negative matching
if [[ "$output" =~ "dev" ]]; then
# This is a multi-line message, which may in turn contain multi-line
# output, so let's format it ourselves, readably
local -a output_split
readarray -t output_split <<<"$output"
printf "#/vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv\n" >&2
printf "#| FAIL: $BATS_TEST_NAME\n" >&2
printf "#| unexpected: 'dev'\n" >&2
printf "#| actual: '%s'\n" "${output_split[0]}" >&2
local line
for line in "${output_split[@]:1}"; do
printf "#| > '%s'\n" "$line" >&2
done
printf "#\\^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" >&2
false
fi
}
# vim: filetype=sh # vim: filetype=sh

View File

@@ -5,6 +5,11 @@ require:
environment: environment:
SKOPEO_BINARY: /usr/bin/skopeo SKOPEO_BINARY: /usr/bin/skopeo
adjust:
- when: initiator != "packit"
environment+:
RELEASE_TESTING: true
summary: System test summary: System test
test: bash ./test.sh test: bash ./test.sh
duration: 60m duration: 60m