diff --git a/systemtest/001-basic.bats b/systemtest/001-basic.bats index 314052fc..20cbdf6c 100644 --- a/systemtest/001-basic.bats +++ b/systemtest/001-basic.bats @@ -16,4 +16,30 @@ function setup() { 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 diff --git a/systemtest/tmt/main.fmf b/systemtest/tmt/main.fmf index e7cfe38e..6dd021b8 100644 --- a/systemtest/tmt/main.fmf +++ b/systemtest/tmt/main.fmf @@ -5,6 +5,11 @@ require: environment: SKOPEO_BINARY: /usr/bin/skopeo +adjust: + - when: initiator != "packit" + environment+: + RELEASE_TESTING: true + summary: System test test: bash ./test.sh duration: 60m