#!/bin/sh

LOG=$HOME/.sonic-pi/log/daemon.log

TAU_MIDI_ENABLED=false ruby /usr/lib/sonic-pi/app/server/ruby/bin/daemon.rb &
pid=$!

ret=1
for i in $(seq 1 60); do
  missing=""
  if [ -f "$LOG" ]; then
    grep -q 'Sending scsynth info to GUI.' "$LOG" || missing="$missing scsynth"
    grep -q 'Spider - Booted Successfully' "$LOG" || missing="$missing spider"
    grep -q 'Daemon received Pid from Tau' "$LOG" || missing="$missing tau"
    echo "Missing(t=$i):$missing"
    if [ -z "$missing" ]; then
      ret=0
      break
    fi
  fi
  sleep 1
done

kill "$pid"
for i in $(seq 1 60); do
  if ! kill -0 "$pid" 2>/dev/null; then
    break
  fi
  echo "Waiting(t=$i): $pid"
  sleep 1
done

if [ -d "$HOME/.sonic-pi" ] && [ -d "$AUTOPKGTEST_ARTIFACTS" ]; then
  cp -a "$HOME/.sonic-pi" "$AUTOPKGTEST_ARTIFACTS/server.sonic-pi"
fi

exit $ret
