#!/bin/bash
set -o nounset -o xtrace -o errexit
source "$(dirname "$(readlink -f "$0")")/common.sh"


function find_new_tests {
	: detect tests affected by current merge request
	: store list of modified tests in ${NEW_TESTS_FILE}
  git diff --name-only --diff-filter=AM ${MERGEBASE} ${HEAD} | fgrep .rpl > "${NEW_TESTS_FILE}" || : no new tests detected
}

NEW_TESTS_FILE="/tmp/new_tests"
find_new_tests

truncate -s0 /tmp/rplint_fails

: run rplint of all new tests
FAIL=0
cat /tmp/new_tests
for test in $(cat ${NEW_TESTS_FILE})
do
  ${PYTHON} -m rplint $test >> /tmp/rplint_fails || FAIL=1
done

: if even one of the test does not pass rplint, fail
if [ "$FAIL" -eq 1 ]
then
  cat /tmp/rplint_fails
  exit 1
fi
exit 0
