mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-07-04 18:03:07 +02:00
- linux_configuration/tests: update script paths after periodic_background/ reorganisation (hosts_file_monitor, makepkg_capped, music_parallelism, shutdown_timer_monitor, usage_monitoring_installer_efficiency) - test_i3blocks_efficiency.sh: remove checks for HEARTBEAT_INTERVAL_S and WARP_POLL_INTERVAL_S constants that no longer exist - test_pacman_wrapper_security.sh: remove tests 20-21 (builtin time helpers / external date calls) that are no longer applicable; update path - generate_hosts_file.sh: add sed unblock rules for delio.com.pl and loverslab.com to stay consistent with install.sh whitelist - steam_backlog_enforcer/scanning.py: remove unplayable_reason arg from logger.info call (too many format args); drop matching test assertion - steam_backlog_enforcer/tests/test_protondb.py: add test_unplayable_reason_no_trending_tier to restore 100% branch coverage on protondb.py line 97 (was previously covered indirectly)
42 lines
1.5 KiB
Bash
Executable File
42 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Regression tests for nvidia-pmon logger installer template efficiency.
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)
|
|
REPO_DIR=$(cd -- "$SCRIPT_DIR/.." && pwd)
|
|
INSTALLER="$REPO_DIR/scripts/system-maintenance/bin/install_usage_monitoring.sh"
|
|
|
|
fail() {
|
|
printf 'FAIL: %s\n' "$1" >&2
|
|
exit 1
|
|
}
|
|
|
|
logger_template=$(
|
|
awk '
|
|
/cat > "\$HOME\/.local\/bin\/nvidia-pmon-logger\.sh" << '\''SCRIPT'\''/ {capture=1; next}
|
|
capture && /^SCRIPT$/ {capture=0; exit}
|
|
capture {print}
|
|
' "$INSTALLER"
|
|
)
|
|
|
|
[[ -n $logger_template ]] || fail 'could not extract nvidia-pmon-logger template from installer'
|
|
|
|
printf 'Checking pmon logger template avoids read -t busy-loop pattern...\n'
|
|
! grep -q 'read -r -t' <<< "$logger_template" \
|
|
|| fail 'logger template must not use read -t as sleep surrogate'
|
|
|
|
printf 'Checking pmon logger template uses sleep-based waiting...\n'
|
|
grep -q 'sleep 60' <<< "$logger_template" \
|
|
|| fail 'logger template must sleep between day rollover checks'
|
|
|
|
printf 'Checking pmon logger template uses fork-free date builtin...\n'
|
|
grep -q "printf '%(%Y%m%d)T' -1" <<< "$logger_template" \
|
|
|| fail 'logger template must use bash printf time builtin for current day'
|
|
|
|
printf 'Checking pmon logger template avoids external date command...\n'
|
|
! grep -q 'date +%Y%m%d' <<< "$logger_template" \
|
|
|| fail 'logger template must not call external date command in hot path'
|
|
|
|
printf 'Usage monitoring installer efficiency tests passed.\n'
|