#!/bin/bash
# -*-sh-*-

# shellcheck disable=SC1091

export MAKEFLAGS=""

status=0

source ./common/TEST_ENV || exit 1
source ./common/functions || exit 1

cd libs/netcdf || exit 1
export BATS_JUNIT_CLASS=NetCDF
if [ -n "${SIMPLE_CI}" ]; then
	export OMPI_MCA_btl="self,tcp"
fi

for compiler in ${COMPILER_FAMILIES}; do
	for mpi in ${MPI_FAMILIES}; do
		export PARALLEL_ENABLED=yes
		export ALL_ENABLED=no
		echo " "
		echo " "
		echo "----------------------------------------------------------"
		echo "User Libraries: NetCDF tests: ${compiler}-${mpi}"
		echo "----------------------------------------------------------"

		module purge || exit 1
		module load prun || exit 1
		module load "${compiler}" || exit 1
		module load "${mpi}" || exit 1
		module load netcdf || exit 1

		./bootstrap || exit 1
		./configure || exit 1
		make clean || exit 1
		make -k check || status=1

		save_logs_mpi_family tests "${compiler}" "${mpi}"
		save_logs_mpi_family tests-parallel "${compiler}" "${mpi}"

		make distclean
		unset PARALLEL_ENABLED
		unset ALL_ENABLED
	done

	export PARALLEL_ENABLED=no
	export ALL_ENABLED=no
	echo " "
	echo " "
	echo "----------------------------------------------------------"
	echo "User Libraries: NetCDF tests: ${compiler}"
	echo "----------------------------------------------------------"

	module purge || exit 1
	module load prun || exit 1
	module load "${compiler}" || exit 1
	module load netcdf || exit 1

	./bootstrap || exit 1
	./configure --disable-parallel || exit 1
	make clean || exit 1
	make -k check || status=1

	save_logs_compiler_family tests "${compiler}"

	make distclean
	unset PARALLEL_ENABLED
	unset ALL_ENABLED
done

exit "${status}"
