netcdf-c/dap4_test/test_meta.sh
Dennis Heimbigner 4d8fbbf501 If DAP (2 or 4) is enabled, but diskless is disabled, then the
dap code will create a real temporary file in which to store the
converted metadata for the DAP .dds or .dmr.

It was assumed that the nc_close code would reclaim the
temporary file. For DAP2, reclamation occurs in the ncio
code. For DAP4, it was assumed that the libsrc4 code would do
the reclamation, but for whatever reason, this is not happening.
Thus, in this situation, a temporary file is left in the file
system. Aside from being irritating to users, this screws up
'make distcheck'.

So the DAP4 code is fixed to ensure that the temporary file is
properly reclaimed independent of the libsrc4 code.
2017-08-05 22:41:31 -06:00

56 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
if test "x$srcdir" = x ; then srcdir=`pwd`; fi
. ../test_common.sh
. ${srcdir}/d4test_common.sh
cd ${DMRTESTFILES}
F=`ls -1 *.dmr | sed -e 's/[.]dmr//g' | tr '\r\n' ' '`
cd $WD
CDL=
for f in ${F} ; do
STEM=`echo $f | cut -d. -f 1`
if test -e ${CDLTESTFILES}/${STEM}.cdl ; then
CDL="${CDL} ${STEM}"
else
echo "Not found: ${CDLTESTFILES}/${STEM}.cdl; ignored"
fi
done
if test "x${RESET}" = x1 ; then rm -fr ${BASELINE}/*.d4m ; fi
for f in ${F} ; do
echo "checking: $f"
if ! ${VG} ${execdir}/test_meta ${DMRTESTFILES}/${f}.dmr ./results/${f} ; then
failure "${execdir}/test_meta ${DMRTESTFILES}/${f}.dmr ./results/${f}"
fi
${NCDUMP} -h ./results/${f} > ./results/${f}.d4m
if test "x${TEST}" = x1 ; then
if ! diff -wBb ${BASELINE}/${f}.d4m ./results/${f}.d4m ; then
failure "diff -wBb ${BASELINE}/${f}.ncdump ./results/${f}.d4m"
fi
elif test "x${RESET}" = x1 ; then
echo "${f}:"
cp ./results/${f}.d4m ${BASELINE}/${f}.d4m
fi
done
if test "x${CDLDIFF}" = x1 ; then
for f in $CDL ; do
echo "diff -wBb ${CDLTESTFILES}/${f}.cdl ./results/${f}.d4m"
rm -f ./tmp
cat ${CDLTESTFILES}/${f}.cdl \
cat >./tmp
echo diff -wBbu ./tmp ./results/${f}.d4m
if ! diff -wBbu ./tmp ./results/${f}.d4m ; then
failure "${f}"
fi
done
fi
finish