mirror of
https://github.com/theupriser/steamify-cachyos-dev.git
synced 2026-10-05 12:45:56 +02:00
feat: vmtest.sh runs everything: boot loaders plus the cli, menu, hw, installer and toggles suites
vmtest.sh [--install] [--window] [--screen] [boot|loader|suite...], a detached screen session with --screen, the summary in ~/vms/last-test.txt, the rows that need a person listed as SKIP. New: the installer suite (R2.1), the toggles suite (R1.8) and H3 (BIOS dry-run, per-block '# env:' for the VM start). vmsuite.sh and vmbootloadertest.sh are executable again.
This commit is contained in:
1 parent
0a12c0e4c6
commit
b895e28181
16 files changed
+119
-29
No files matched your search
Regular → Executable
File mode changed.
Regular → Executable
File mode changed.
Regular → Executable
File mode changed.
Regular → Executable
File mode changed.
Regular → Executable
File mode changed.
Regular → Executable
File mode changed.
Regular → Executable
File mode changed.
Executable
+5
@@ -0,0 +1,5 @@
|
||||
# H3: BIOS update, the whole flow with WIZARD_BIOS_DRY_RUN=1 (never flashes). The VM reports an older BIOS.
|
||||
# env: BIOS_VERSION=F7F0107
|
||||
out=$(printf '11\n\ny\ny\nUPDATE\nm\nq\nn\n' | WIZARD_BIOS_DRY_RUN=1 bash /mnt/steamify.sh 2>&1 | sed 's/\x1b\[[0-9;]*m//g')
|
||||
grep -qi "dry run" <<< "$out" && pass "H3 the dry run went through" || fail "H3 no dry-run message: $(tail -n 3 <<< "$out" | tr '\n' ' ' | cut -c1-160)"
|
||||
grep -q '^\[ERROR\]' <<< "$out" && fail "H3 errors: $(grep -B4 -m1 '^\[ERROR\]' <<< "$out" | tr '\n' '|' | cut -c1-400)" || pass "H3 no errors"
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
# R2.1: the ISO's installer step: a new user who never logged in gets plain `--defaults` (scripts/vminstallsim.sh).
|
||||
info "installer simulation: a new user, --defaults (a few minutes)..."
|
||||
out=$("$repo/scripts/vminstallsim.sh" --fresh 2>&1 | sed 's/\x1b\[[0-9;]*m//g')
|
||||
grep -q '^exit: 0' <<< "$out" && pass "R2.1 exit 0" || fail "R2.1 $(grep -m1 '^exit' <<< "$out")"
|
||||
grep -q '^\[ERROR\]' <<< "$out" && fail "R2.1 errors: $(grep -m1 '^\[ERROR\]' <<< "$out")" || pass "R2.1 no errors"
|
||||
[[ $(grep -c '^Turning on' <<< "$out") -ge 5 ]] && pass "R2.1 every default item turned on ($(grep -c '^Turning on' <<< "$out"))" || fail "R2.1 only $(grep -c '^Turning on' <<< "$out") items turned on"
|
||||
vm_ssh 'sudo ls /home/isotest/.config/autostart/ 2>/dev/null' | grep -qi steamify && pass "R2.1 the first-login autostart is in place" || fail "R2.1 no first-login autostart"
|
||||
Regular → Executable
File mode changed.
Executable
+32
@@ -0,0 +1,32 @@
|
||||
# R1.8 (and the matrix in the cachyos-vm-testing skill): switch items off and on and check the state each time.
|
||||
A=gaming,theme,glyphs,single,launcher,notify,cec,machine,poweroff
|
||||
apply() { info "apply: $1"; sf --defaults --options "$1" >/dev/null; [[ $? -eq 0 ]] && pass "options $1: exit 0" || fail "options $1: failed"; }
|
||||
apply "$A"
|
||||
expect_on gaming theme glyphs single launcher notify cec machine poweroff
|
||||
[[ "$(current_display_manager)" == sddm ]] && pass "baseline: SDDM (single user)" || fail "baseline display manager: $(current_display_manager)"
|
||||
# theme off
|
||||
apply "${A/theme,/}"
|
||||
expect_off theme; expect_on gaming single machine
|
||||
# theme on again
|
||||
apply "$A"; expect_on theme
|
||||
# single user off: plasmalogin
|
||||
apply "${A/single,/}"
|
||||
expect_off single; expect_on gaming
|
||||
[[ "$(current_display_manager)" == plasmalogin ]] && pass "single off: plasmalogin" || fail "single off: display manager $(current_display_manager)"
|
||||
# single user on: SDDM again
|
||||
apply "$A"; expect_on single
|
||||
[[ "$(current_display_manager)" == sddm ]] && pass "single on: back to SDDM" || fail "single on: display manager $(current_display_manager)"
|
||||
# Steam Machine support and power-off fix off: the driver goes, then comes back
|
||||
apply gaming,theme,glyphs,single,launcher,notify,cec
|
||||
expect_off machine poweroff
|
||||
[[ ! -f /etc/modules-load.d/steamify-fremont-poweroff.conf ]] && pass "machine off: the power-off modules-load entry is gone" || fail "machine off: modules-load entry still there"
|
||||
apply "$A"; expect_on machine poweroff
|
||||
[[ $(dkms status | grep -c ': installed') -ge $((3 * $(ls /usr/lib/modules | wc -w))) ]] && pass "machine on: DKMS installed for every kernel" || fail "machine on: DKMS $(dkms status | tr '\n' ';')"
|
||||
# HDMI-CEC off and on
|
||||
apply "${A/cec,/}"; expect_off cec
|
||||
apply "$A"; expect_on cec
|
||||
# conversion off: single user goes with it, plasmalogin's autologin is CachyOS's again
|
||||
apply launcher,notify
|
||||
expect_off gaming single theme
|
||||
[[ "$(current_display_manager)" == plasmalogin ]] && pass "conversion off: plasmalogin" || fail "conversion off: display manager $(current_display_manager)"
|
||||
sed -n '/^\[Autologin\]/,/^\[/p' /etc/plasmalogin.conf 2>/dev/null | grep -q 'Session=plasma' && pass "conversion off: plasmalogin autologin is Session=plasma" || skip "conversion off: no plasmalogin Autologin section (a VM from vminstall.sh has no /etc/plasmalogin.conf, see TESTPLAN Known gaps)"
|
||||
Reference in new issue
Block a user