mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-10 21:07:03 +01:00
Adds an arch-tests job on archlinux:base-devel so the pacman wrapper, makepkg wrapper and hosts-guard tests finally run somewhere. They need an Arch userland and root, which a disposable container provides. Four more tests still referenced pre-reorganisation paths and could never find their targets; repairing them took the container set from two passing to five. All five were verified with --network=none, so the job installs nothing beyond git (base-devel ships no git, and actions/checkout needs it). Also removes the silent-failure mode behind the earlier music_parallelism confusion. The test now derives its temp-worktree path from the script's real position instead of hardcoding the depth, checks up front that ../../lib/common.sh resolves to the stub, and has the stub write a marker asserted after every run. Previously a reorganisation made the script source the real /usr/local/lib/common.sh, so the test measured the live system and failed as though the daemon were broken. Three tests stay out, each for a different reason, documented in the workflow: test_i3blocks_efficiency.sh needs strace and could not be verified locally (containers here have no DNS); test_hosts_guard_pacman_integration.sh fails a real assertion worth investigating; test_security_hardening.sh asserts live host state and can never pass in a fresh container.
32 lines
1.1 KiB
Bash
Executable File
32 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# Regression checks for makepkg_capped wrapper.
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)
|
|
REPO_DIR=$(cd -- "$SCRIPT_DIR/.." && pwd)
|
|
WRAPPER="$REPO_DIR/scripts/periodic_background/digital_wellbeing/pacman/makepkg_capped.sh"
|
|
|
|
fail() {
|
|
printf 'FAIL: %s\n' "$1" >&2
|
|
exit 1
|
|
}
|
|
|
|
printf 'Checking makepkg_capped exists...\n'
|
|
[[ -f "$WRAPPER" ]] || fail 'makepkg_capped.sh is missing'
|
|
|
|
printf 'Checking makepkg_capped syntax...\n'
|
|
bash -n "$WRAPPER"
|
|
|
|
printf 'Checking systemd scope limits are present...\n'
|
|
grep -Fq 'CPUQuota=' "$WRAPPER" || fail 'CPUQuota setting missing'
|
|
grep -Fq 'MemoryMax=' "$WRAPPER" || fail 'MemoryMax setting missing'
|
|
grep -Fq 'MemorySwapMax=0' "$WRAPPER" || fail 'MemorySwapMax=0 setting missing'
|
|
grep -Fq 'TasksMax=' "$WRAPPER" || fail 'TasksMax setting missing'
|
|
|
|
printf 'Checking graceful fallback path exists...\n'
|
|
grep -Fq 'run_makepkg_fallback' "$WRAPPER" || fail 'fallback function missing'
|
|
grep -Fq 'systemd-run --user --scope --quiet true' "$WRAPPER" || fail 'user-scope probe missing'
|
|
|
|
printf 'makepkg_capped regression checks passed.\n'
|