Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
62 lines
1.4 KiB
Bash
62 lines
1.4 KiB
Bash
# shellcheck shell=bash
|
|
|
|
set -eu
|
|
|
|
# NOTE: If neither expectedArray nor expectedMap are declared, the test is meaningless.
|
|
# This precondition is checked in the Nix expression through an assert.
|
|
|
|
preScript() {
|
|
if isDeclaredArray valuesArray; then
|
|
# shellcheck disable=SC2154
|
|
nixLog "using valuesArray: $(declare -p valuesArray)"
|
|
fi
|
|
|
|
if isDeclaredMap valuesMap; then
|
|
# shellcheck disable=SC2154
|
|
nixLog "using valuesMap: $(declare -p valuesMap)"
|
|
fi
|
|
|
|
if isDeclaredArray expectedArray; then
|
|
# shellcheck disable=SC2154
|
|
nixLog "using expectedArray: $(declare -p expectedArray)"
|
|
declare -ag actualArray=()
|
|
fi
|
|
|
|
if isDeclaredMap expectedMap; then
|
|
# shellcheck disable=SC2154
|
|
nixLog "using expectedMap: $(declare -p expectedMap)"
|
|
declare -Ag actualMap=()
|
|
fi
|
|
|
|
return 0
|
|
}
|
|
|
|
scriptPhase() {
|
|
runHook preScript
|
|
|
|
runHook script
|
|
|
|
runHook postScript
|
|
}
|
|
|
|
postScript() {
|
|
if isDeclaredArray expectedArray; then
|
|
nixLog "using actualArray: $(declare -p actualArray)"
|
|
nixLog "comparing actualArray against expectedArray"
|
|
assertEqualArray expectedArray actualArray
|
|
nixLog "actualArray matches expectedArray"
|
|
fi
|
|
|
|
if isDeclaredMap expectedMap; then
|
|
nixLog "using actualMap: $(declare -p actualMap)"
|
|
nixLog "comparing actualMap against expectedMap"
|
|
assertEqualMap expectedMap actualMap
|
|
nixLog "actualMap matches expectedMap"
|
|
fi
|
|
|
|
return 0
|
|
}
|
|
|
|
runHook scriptPhase
|
|
touch "${out:?}"
|