mirror of
https://github.com/containers/skopeo.git
synced 2025-08-04 16:20:04 +00:00
Unfortunately on a number of occasions, Skopeo has been released officially with a `-dev` suffix in the version number. Assist in catching this mistake at release time by the addition of a simple conditional test. Note that it must be positively enabled by a magic env. var. before executing the system tests. Original PR: https://github.com/containers/skopeo/pull/2631 Signed-off-by: Chris Evich <cevich@redhat.com>
45 lines
1.4 KiB
Bash
45 lines
1.4 KiB
Bash
#!/usr/bin/env bats
|
|
#
|
|
# Simplest set of skopeo tests. If any of these fail, we have serious problems.
|
|
#
|
|
|
|
load helpers
|
|
|
|
# Override standard setup! We don't yet trust anything
|
|
function setup() {
|
|
:
|
|
}
|
|
|
|
@test "skopeo version emits reasonable output" {
|
|
run_skopeo --version
|
|
|
|
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
|