Drop tests for shipped one-shot migrations (#10318)
Keep the migrations themselves for late-updaters. Drop the tests that only exercised frozen file rewrites from 4.0.0, and keep live invariants, privileged repairs, and the migrator.
This commit is contained in:
1 parent
eb56446c42
commit
36e56f4fb4
14 files changed
+26
-947
No files matched your search
@@ -1,109 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
source "$(dirname "$0")/base-test.sh"
|
||||
|
||||
migration="$ROOT/migrations/1786380259.sh"
|
||||
test_dir=$(mktemp -d)
|
||||
trap 'rm -rf "$test_dir"' EXIT
|
||||
|
||||
mkdir -p "$test_dir/bin"
|
||||
|
||||
# sudo runs the real command, so sed acts on the redirected main.conf below and
|
||||
# the elevated power calls land in the stub beside it.
|
||||
cat >"$test_dir/bin/sudo" <<'STUB'
|
||||
#!/bin/bash
|
||||
|
||||
printf 'sudo %s\n' "$*" >>"$CALLS"
|
||||
exec "$@"
|
||||
STUB
|
||||
|
||||
cat >"$test_dir/bin/omarchy-bluetooth-power" <<'STUB'
|
||||
#!/bin/bash
|
||||
|
||||
printf 'omarchy-bluetooth-power %s\n' "$*" >>"$CALLS"
|
||||
[[ $1 == "is-on" ]] || exit 0
|
||||
[[ ${POWERED:-} == "yes" ]]
|
||||
STUB
|
||||
|
||||
chmod +x "$test_dir/bin/"*
|
||||
|
||||
export CALLS="$test_dir/calls"
|
||||
|
||||
marker="$test_dir/marker"
|
||||
main_conf="$test_dir/main.conf"
|
||||
|
||||
reset_machine() {
|
||||
rm -f "$marker"
|
||||
printf '[Policy]\nAutoEnable=false\n' >"$main_conf"
|
||||
}
|
||||
|
||||
run_migration() {
|
||||
: >"$CALLS"
|
||||
|
||||
OMARCHY_BLUETOOTH_MIGRATION_MARKER="$marker" \
|
||||
OMARCHY_BLUETOOTH_MAIN_CONF="$main_conf" \
|
||||
PATH="$test_dir/bin:$PATH" \
|
||||
bash -euo pipefail "$migration" >/dev/null
|
||||
}
|
||||
|
||||
# An adapter that is powered right now is one the user turned on, so it stays on.
|
||||
reset_machine
|
||||
POWERED=yes run_migration
|
||||
|
||||
grep -qx 'omarchy-bluetooth-power on' "$CALLS" ||
|
||||
fail "migration keeps a powered adapter on" "$(cat "$CALLS")"
|
||||
pass "migration keeps a powered adapter on"
|
||||
|
||||
grep -qx '#AutoEnable=true' "$main_conf" ||
|
||||
fail "migration puts AutoEnable back to its default" "$(cat "$main_conf")"
|
||||
pass "migration puts AutoEnable back to its default"
|
||||
|
||||
[[ -e $marker ]] || fail "migration records the machine as done"
|
||||
pass "migration records the machine as done"
|
||||
|
||||
# Anything else is a machine that has been booting with Bluetooth off, and the
|
||||
# block is what carries that over now AutoEnable no longer holds the adapter down.
|
||||
reset_machine
|
||||
POWERED=no run_migration
|
||||
|
||||
grep -qx 'omarchy-bluetooth-power off' "$CALLS" ||
|
||||
fail "migration carries an unpowered adapter over to the block" "$(cat "$CALLS")"
|
||||
pass "migration carries an unpowered adapter over to the block"
|
||||
|
||||
# No daemon to ask reads the same way: off is what the machine has been doing.
|
||||
reset_machine
|
||||
run_migration
|
||||
|
||||
grep -qx 'omarchy-bluetooth-power off' "$CALLS" ||
|
||||
fail "migration blocks when no adapter can be read" "$(cat "$CALLS")"
|
||||
pass "migration blocks when no adapter can be read"
|
||||
|
||||
# /dev/rfkill is only writable unelevated from an active graphical seat, so an
|
||||
# update run over SSH would abort here and abort again on every retry.
|
||||
grep -qx 'sudo omarchy-bluetooth-power off' "$CALLS" ||
|
||||
fail "migration changes the radio through sudo" "$(cat "$CALLS")"
|
||||
pass "migration changes the radio through sudo"
|
||||
|
||||
# A second account must not undo an administrator's later choice, since migration
|
||||
# completion is recorded per user.
|
||||
printf '[Policy]\nAutoEnable=false\n' >"$main_conf"
|
||||
POWERED=yes run_migration
|
||||
|
||||
grep -qx 'AutoEnable=false' "$main_conf" ||
|
||||
fail "migration leaves a later opt-out alone" "$(cat "$main_conf")"
|
||||
pass "migration leaves a later opt-out alone"
|
||||
|
||||
[[ ! -s $CALLS ]] ||
|
||||
fail "migration touches no radio state on a second run" "$(cat "$CALLS")"
|
||||
pass "migration touches no radio state on a second run"
|
||||
|
||||
# Only the exact line Omarchy wrote is reverted, so a hand-edited opt-out stands.
|
||||
reset_machine
|
||||
printf '[Policy]\nAutoEnable = false\n' >"$main_conf"
|
||||
POWERED=yes run_migration
|
||||
|
||||
grep -qx 'AutoEnable = false' "$main_conf" ||
|
||||
fail "migration keeps a hand-edited AutoEnable" "$(cat "$main_conf")"
|
||||
pass "migration keeps a hand-edited AutoEnable"
|
||||
Reference in new issue
Block a user