#!/usr/bin/env bats load test_helper @test "95-cleanup removes -debug packages whose package is gone, and keeps the rest" { # -Qqm lists the AUR packages; -Qq NAME prints what matches NAME, which for # herdr is herdr-bin, as it provides herdr stub pacman ' case "$1" in -Qqm) printf "%s\n" asdf-vm-debug cliamp cliamp-debug herdr-bin herdr-debug ;; -Qq) case "$2" in cliamp) echo cliamp ;; herdr) echo herdr-bin ;; *) exit 1 ;; esac ;; esac' stub sudo stub flatpak run bash "$REPO/updates.d/95-cleanup.sh" < /dev/null [ "$status" -eq 0 ] called sudo pacman -R --noconfirm asdf-vm-debug herdr-debug } @test "95-cleanup leaves -debug packages alone while their packages are installed" { stub pacman ' case "$1" in -Qqm) printf "%s\n" cliamp cliamp-debug ;; -Qq) [ "$2" = cliamp ] && echo cliamp ;; esac' stub sudo stub flatpak run bash "$REPO/updates.d/95-cleanup.sh" < /dev/null [ "$status" -eq 0 ] [ -z "$(grep 'pacman -R ' "$STUB_LOG")" ] } @test "95-cleanup keeps the newest 10 update logs and 3 install logs" { stub pacman stub sudo stub flatpak logs="$HOME/.local/state/coredesktop/logs" mkdir -p "$logs" for day in 01 02 03 04 05 06 07 08 09 10 11 12; do touch "$logs/update-2026-11-$day-120000.log" "$logs/install-2026-11-$day-120000.log" done touch "$logs/notes.txt" run bash "$REPO/updates.d/95-cleanup.sh" < /dev/null [ "$status" -eq 0 ] [ "$(cd "$logs" && echo update-*)" = "$(printf 'update-2026-11-%s-120000.log ' 03 04 05 06 07 08 09 10 11 12 | sed 's/ $//')" ] [ "$(cd "$logs" && echo install-*)" = "install-2026-11-10-120000.log install-2026-11-11-120000.log install-2026-11-12-120000.log" ] [ -f "$logs/notes.txt" ] } @test "95-cleanup is fine with no logs or only a few" { stub pacman stub sudo stub flatpak run bash "$REPO/updates.d/95-cleanup.sh" < /dev/null [ "$status" -eq 0 ] mkdir -p "$HOME/.local/state/coredesktop/logs" touch "$HOME/.local/state/coredesktop/logs/update-2026-11-01-120000.log" run bash "$REPO/updates.d/95-cleanup.sh" < /dev/null [ "$status" -eq 0 ] [ -f "$HOME/.local/state/coredesktop/logs/update-2026-11-01-120000.log" ] }