44 lines
1.6 KiB
Bash
Executable File
44 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -u -o pipefail
|
|
|
|
TEST_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
source "${TEST_ROOT}/tests/testlib.sh"
|
|
source "${TEST_ROOT}/inc/virtio-helpers.inc"
|
|
|
|
assert_equal virtio-win.iso \
|
|
"$(TAPM_VIRTIO_FILENAME_FROM_URL \
|
|
'https://fedorapeople.org/stable/virtio-win.iso?download=1')" \
|
|
"stable source filename"
|
|
assert_equal virtio-win-0.1.285.iso \
|
|
"$(TAPM_VIRTIO_FILENAME_FROM_URL \
|
|
'https://fedorapeople.org/archive/virtio-win-0.1.285.iso')" \
|
|
"versioned source filename"
|
|
assert_failure "unexpected source filename rejected" \
|
|
TAPM_VIRTIO_FILENAME_FROM_URL \
|
|
'https://example.invalid/virtio-win-latest.iso'
|
|
|
|
assert_equal virtio-win-latest-0.1.285.iso \
|
|
"$(TAPM_VIRTIO_LABELED_FILENAME virtio-win-0.1.285.iso latest)" \
|
|
"stable local filename"
|
|
assert_equal virtio-win-server-2016-0.1.240.iso \
|
|
"$(TAPM_VIRTIO_LABELED_FILENAME \
|
|
virtio-win-0.1.240.iso server-2016)" \
|
|
"Server 2016 local filename"
|
|
assert_equal virtio-win-server-2008r2-0.1.172.iso \
|
|
"$(TAPM_VIRTIO_LABELED_FILENAME \
|
|
virtio-win-0.1.172.iso server-2008r2)" \
|
|
"Server 2008 R2 local filename"
|
|
assert_failure "unsafe local label rejected" \
|
|
TAPM_VIRTIO_LABELED_FILENAME virtio-win-0.1.285.iso '../latest'
|
|
|
|
assert_success "fresh VirtIO cache accepted" \
|
|
TAPM_VIRTIO_CACHE_VALID 1000 1500 86400 virtio-win-0.1.285.iso
|
|
assert_failure "expired VirtIO cache rejected" \
|
|
TAPM_VIRTIO_CACHE_VALID 1000 87400 86400 virtio-win-0.1.285.iso
|
|
assert_failure "future VirtIO cache rejected" \
|
|
TAPM_VIRTIO_CACHE_VALID 2000 1000 86400 virtio-win-0.1.285.iso
|
|
assert_failure "unsafe VirtIO cache filename rejected" \
|
|
TAPM_VIRTIO_CACHE_VALID 1000 1500 86400 ../../installer
|
|
|
|
finish_tests
|