#!/bin/bash

## Copyright (C) 2025 - 2025 ENCRYPTED SUPPORT LLC <adrelanos@whonix.org>
## See the file COPYING for copying conditions.

set -o errexit
set -o nounset
set -o errtrace
set -o pipefail

source /usr/libexec/helper-scripts/wc-test.sh
source /usr/libexec/helper-scripts/light_sleep.bsh

printf '%s\n' "$0: INFO: Start."

counter=0
while (( counter < 10 )); do
  light_sleep 1
  systemd_cgls_output="$(systemd-cgls --no-pager --unit user.slice)"
  if [ "$(wc -l <<< "$systemd_cgls_output")" == '1' ]; then
    printf '%s\n' "$0: INFO: End. OK."
    exit 0
  fi
  printf '%s\n' "$0: WARNING: user.slice is not empty yet. Contents:" >&2
  printf '%s\n' "$systemd_cgls_output" >&2
done

printf '%s\n' "$0: ERROR: user.slice not empty after 10 seconds!" >&2
exit 1
