#!/usr/bin/env bash
# This script runs integration tests for modules which has been changed compared to master branch
# usage:  run_test_smart.sh [ref_to_master]
#
# When run on dev machine use it without parameters
# When run on Jenkins job run as: run_test_smart.sh refs/remotes/origin/master


master=${1:-master}

changed_dirs=$(git diff ${master} -Xfiles | awk '{print $2}' | awk -F / '{ print $1 }' | sort | uniq)

IGNORED="base bin data data_availability macros profiles scripts utils"

for module in $changed_dirs ; do
  if [[ ! $IGNORED =~ $module ]]; then
      echo "Run tests in $module ... "
      scripts/test_integration_models.sh $module
  fi
done
