#!/bin/bash # One cold start of the classroom, end to end: a fresh container, a fresh # user profile, the desktop installed the way the package would install it, # and the session brought up from nothing. Repeat it to see whether the # room comes back the same way every time. set -euo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" LAB="$ROOT/tools/lab/lab" ROUNDS="${1:-1}" for round in $(seq 1 "$ROUNDS"); do started=$(date +%s) "$LAB" up >/dev/null docker exec classroom-v2-lab /srv/classroom/tools/lab/install-desktop >/dev/null docker exec classroom-v2-lab sh -c ' install -Dm644 /srv/classroom/config/chrome/policies/managed/ekklesia-classroom.json \ /etc/opt/chrome/policies/managed/ekklesia-classroom.json install -Dm755 /srv/classroom/scripts/classroom-audio /usr/local/bin/classroom-audio install -Dm755 /srv/classroom/scripts/classroom-theme /usr/local/bin/classroom-theme install -Dm644 /srv/classroom/lib/classroom_audio.py \ /usr/local/lib/ekklesia-classroom/classroom_audio.py install -Dm644 /srv/classroom/lib/classroom_config.py \ /usr/local/lib/ekklesia-classroom/classroom_config.py install -Dm644 /srv/classroom/systemd/user/ekklesia-classroom-audio.service \ /etc/systemd/user/ekklesia-classroom-audio.service' "$LAB" session >/dev/null sleep 6 panel=$(docker exec classroom-v2-lab pgrep -c -x plasmashell || echo 0) kwin=$(docker exec classroom-v2-lab pgrep -c -x kwin_wayland || echo 0) applets=$(docker exec classroom-v2-lab sh -c \ 'grep -c "^plugin=" /home/classroom/.config/plasma-org.kde.plasma.desktop-appletsrc 2>/dev/null' \ || echo 0) printf 'round %s: %ss plasmashell=%s kwin=%s applets=%s\n' \ "$round" "$(( $(date +%s) - started ))" "$panel" "$kwin" "$applets" done