#!/bin/sh

DATASET_URL="https://grass.osgeo.org/sampledata/spearfish_grass70data-0.3.tar.gz"
DATASET_FILE="spearfish.tar.gz"

TEMPDIR="$(mktemp -d)"

cd "${TEMPDIR}" || exit 1

wget -q "${DATASET_URL}" -O "${DATASET_FILE}"
RC=$?

if [ "${RC}" -ne 0 ]; then
    cd "${OLDPWD}" || exit 1
    rm -rf "${TEMPDIR}"

    exit "${RC}"
fi

tar xaf "${DATASET_FILE}"
RC=$?

if [ "${RC}" -ne 0 ]; then
    cd "${OLDPWD}" || exit 1
    rm -rf "${TEMPDIR}"

    exit "${RC}"
fi

GISBASE="$(ls -d /usr/lib/grass??)" \
PROJ_NETWORK=ON \
gdalinfo ./spearfish*/PERMANENT/cellhd/geology
RC=$?

if [ "${RC}" -ne 0 ]; then
    cd "${OLDPWD}" || exit 1
    rm -rf "${TEMPDIR}"

    exit "${RC}"
fi

echo

GISBASE="$(ls -d /usr/lib/grass??)" \
PROJ_NETWORK=ON \
ogrinfo -so -al ./spearfish*/PERMANENT/vector/roads/head
RC=$?

cd "${OLDPWD}" || exit 1
rm -rf "${TEMPDIR}"

# ogrinfo fails on 32bit architectures: https://github.com/OSGeo/grass/issues/2631
if [ "${RC}" -ne 0 ] && [ "$(dpkg-architecture -qDEB_HOST_ARCH_BITS 2> /dev/null)" = "32" ]; then
    echo "Ignoring test failures on 32 bit architecture"
    RC=77
fi

exit "${RC}"
