#!/bin/bash
set -ex

pkg=corrosion
PARENT_DIR=`pwd`

export LC_ALL=C.UTF-8
if [ "${AUTOPKGTEST_TMP}" = "" ] ; then
  AUTOPKGTEST_TMP=$(mktemp -d /tmp/${pkg}-test.XXXXXX)
  trap "rm -rf ${AUTOPKGTEST_TMP}" 0 INT QUIT ABRT PIPE TERM
fi

cp -a ${PARENT_DIR}/test "${AUTOPKGTEST_TMP}"
cp -a ${PARENT_DIR}/debian/tests/CMakeLists.txt "${AUTOPKGTEST_TMP}"

# Use a writable CARGO_HOME (do not use make's CURDIR — it is empty in shell).
export CARGO_HOME="${AUTOPKGTEST_TMP}/cargo_home"
mkdir -p "${CARGO_HOME}"
printf '[source.crates-io]\nreplace-with = "debian"\n\n[source.debian]\ndirectory = "/usr/share/cargo/registry"\n' > "${CARGO_HOME}/config.toml"

unset RUSTFLAGS RUSTFLAGS_FOR_BUILD
# Match debian/rules
CTEST_EXCLUDE='custom_target|parse_target_triple'

cd "${AUTOPKGTEST_TMP}"/test
sed -i -e \
	's|set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../../../cmake" ${CMAKE_MODULE_PATH})|set(CMAKE_MODULE_PATH "/usr/share/cmake" ${CMAKE_MODULE_PATH})|g' find_rust/rustup_proxy/CMakeLists.txt find_rust/find_rust/CMakeLists.txt

cmake ..
ctest --verbose -E "${CTEST_EXCLUDE}"

cd ${PARENT_DIR}
rm -rf .pc/

echo "All tests passed!"
