#!/bin/bash # Run test cases for supplier # # Copyright (C) 2014-2023 Ryan Specialty, LLC. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # This program is intended to be called directly by make; it's API is # subject to change. Please use `make check` as appropriate. ## declare -i result=0 declare suppliers # The first argument indicates the test directory. declare -r path_tests=${1?Missing test path} shift # All remaining arguments are taken to be a list of suppliers to test. for supplier in "$@"; do base=$( basename "$supplier" .xml ) path_suppliers=$( dirname "$supplier" ) tests=$( find -L "$path_tests"/"$base"/ -name '*.yml' | LC_ALL=c sort ) echo echo "$path_suppliers/$base" sed 's/./=/g' <<< "$path_suppliers/$base" test -n "$tests" || { echo "error: missing test cases for $base!" >&2 exit 1 } # note that this depends on the _stripped_ version rater/tame/progtest/bin/runner "$path_suppliers/$base.strip.js" $tests \ || result=1 done exit $result