#!/usr/bin/env bash

# Run:
#   ./test.sh
# or:
#   nix-build -A nixosTests.activation-lib

cd "$(dirname "${BASH_SOURCE[0]}")"
set -euo pipefail

# report failure
onerr() {
  set +e
  # find failed statement
  echo "call trace:"
  local i=0
  while t="$(caller $i)"; do
    line="${t%% *}"
    file="${t##* }"
    echo "  $file:$line" >&2
    ((i++))
  done
  # red
  printf "\033[1;31mtest failed\033[0m\n" >&2
  exit 1
}
trap onerr ERR

source ./lib.sh

(warn hi, this works >/dev/null) 2>&1 | grep -E $'.*warning:.* hi, this works' >/dev/null

# green
printf "\033[1;32mok\033[0m\n"