#!/bin/sh
#
# Copyright (C) 2000-2015 Kern Sibbald
# License: BSD 2-Clause; see file LICENSE-FOSS
#

# 
#  Run a regression test script on a remote machine
#
#  called: rtest <machine> <branch> <test-script>
#
#  Since make setup is always called, you probably want
#  to execute scripts that do not do the setup. If you do
#  it just takes a bit longer, but there is no harm done.
#
#  Note: expects remote source to be in the same place
#  as defined in regress/config on your calling machine
#  Otherwise, you must define BACULA_SOURCE after the
#   . ./config

. ./config

if test $# != 3 ; then
  echo "Called: rtest <machine> <branch> <test-script>"
  exit 1
fi

host=$1
branch=$2
run=$3

ssh ${host} <<EOF
  cd ${BACULA_SOURCE}
  # remove any modified version.h
  git checkout src/version.h
  git checkout ${branch}
  git pull
  cd ../regress
  make setup
  ${run}
EOF
# Get test results
scp ${host}:${BACULA_SOURCE}/../regress/test.out rtest.out
cat rtest.out
echo " "
echo " "
grep -e" \!\!\!\!" -e"===\ Test" test.out
