#!/bin/bash
# SPDX-FileCopyrightText: The Eigen Authors
# SPDX-License-Identifier: MPL-2.0

black='\E[30m'
red='\E[31m'
green='\E[32m'
yellow='\E[33m'
blue='\E[34m'
magenta='\E[35m'
cyan='\E[36m'
white='\E[37m'

if [ -f $2 ]; then
  data=$2
  if [ -f $1.summ ]; then rm $1.summ; fi
  if [ -f $1.snap ]; then rm $1.snap; fi
else
  data=$1
fi

if ! ./$1 < $data > /dev/null 2> .runtest.log ; then
  echo -e  $red Test $1 failed: $black
  echo -e $blue
  cat .runtest.log
  echo -e $black
  exit 1
else
  if [ -f $1.summ ]; then
    if [ `grep "FATAL ERROR" $1.summ | wc -l` -gt 0 ]; then
      echo -e  $red "Test $1 failed (FATAL ERROR, read the file $1.summ for details)" $black
      echo -e $blue
      cat .runtest.log
      echo -e $black
      exit 1;
    fi

    if [ `grep "FAILED THE TESTS OF ERROR-EXITS" $1.summ | wc -l` -gt 0 ]; then
      echo -e  $red "Test $1 failed (FAILED THE TESTS OF ERROR-EXITS, read the file $1.summ for details)" $black
      echo -e $blue
      cat .runtest.log
      echo -e $black
      exit 1;
    fi      
  fi
  echo -e $green Test $1 passed$black
fi
