Add platform infrastructure configuration
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Regression test for whole-disk lsblk queries. Without --nodeps, lsblk emits
|
||||
# the disk and all child partitions, while the validator requires one record.
|
||||
set -Eeuo pipefail
|
||||
|
||||
readonly REPOSITORY_ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd -P)"
|
||||
readonly VALIDATOR_PATH="${REPOSITORY_ROOT}/scripts/validate/k3s-local-recovery.sh"
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
source "$VALIDATOR_PATH"
|
||||
|
||||
_k3slrv_exec() {
|
||||
local scope="${1-}"
|
||||
shift || return 1
|
||||
[[ "$scope" == user ]] || return 1
|
||||
|
||||
if (( $# == 8 )) &&
|
||||
[[ "$1" == /usr/bin/lsblk && "$2" == --noheadings &&
|
||||
"$3" == --nodeps && "$4" == --paths && "$5" == --output &&
|
||||
"$6" == MODEL && "$7" == -- && "$8" == /dev/fixture-disk ]]; then
|
||||
printf '%s\n' FIXTURE_DISK_MODEL
|
||||
else
|
||||
# This mirrors lsblk against a whole disk when dependency traversal is
|
||||
# not disabled: the disk row is followed by a child-partition row.
|
||||
printf '%s\n%s\n' FIXTURE_DISK_MODEL FIXTURE_CHILD_ROW
|
||||
fi
|
||||
}
|
||||
|
||||
actual=''
|
||||
if ! actual="$(_k3slrv_lsblk MODEL /dev/fixture-disk)"; then
|
||||
printf '%s\n' \
|
||||
'TEST FAILURE: whole-disk lsblk query did not produce one record' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "$actual" != FIXTURE_DISK_MODEL ]]; then
|
||||
printf '%s\n' \
|
||||
'TEST FAILURE: whole-disk lsblk query returned an unexpected record' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
printf '%s\n' 'PASS: recovery validator excludes lsblk child rows'
|
||||
Reference in New Issue
Block a user