mirror of
https://github.com/HDFGroup/hdf5.git
synced 2026-09-25 04:09:44 +03:00
This is where most people will expect to find license information. The COPYING_LBNL_HDF5 file has also been renamed to LICENSE_LBNL_HDF5. The licenses are unchanged.
202 lines
4.7 KiB
Bash
Executable File
202 lines
4.7 KiB
Bash
Executable File
#! /bin/sh
|
|
#
|
|
# Copyright by The HDF Group.
|
|
# Copyright by the Board of Trustees of the University of Illinois.
|
|
# All rights reserved.
|
|
#
|
|
# This file is part of HDF5. The full HDF5 copyright notice, including
|
|
# terms governing use, modification, and redistribution, is contained in
|
|
# the LICENSE file, which can be found at the root of the source code
|
|
# distribution tree, or in https://www.hdfgroup.org/licenses.
|
|
# If you do not have access to either file, you may request a copy from
|
|
# help@hdfgroup.org.
|
|
|
|
srcdir=@srcdir@
|
|
|
|
|
|
case $CC in
|
|
*/*) H5DUMP=`echo $CC | sed -e 's/\/[^/]*$/\/h5dump/'`;
|
|
test -x $H5DUMP || H5DUMP=h5dump;;
|
|
*) H5DUMP=h5dump;;
|
|
esac
|
|
|
|
|
|
case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
|
|
*c*,-n*) ECHO_N= ECHO_C='
|
|
' ;;
|
|
*c*,* ) ECHO_N=-n ECHO_C= ;;
|
|
*) ECHO_N= ECHO_C='\c' ;;
|
|
esac
|
|
ECHO_N="echo $ECHO_N"
|
|
|
|
|
|
exout() {
|
|
$*
|
|
}
|
|
|
|
dumpout() {
|
|
$H5DUMP $*
|
|
}
|
|
|
|
# compare current version, required version.
|
|
# returns if cur_ver < req_ver is true.
|
|
version_compare() {
|
|
version_lt=0
|
|
if [ ! "$(printf '%s\n' "$1" "$2" | sort -V | head -n1)" = "$2" ]; then
|
|
version_lt=1
|
|
fi
|
|
}
|
|
|
|
H5_LIBVER=@H5_LIBVER@
|
|
H5_LIBVER_DIR=@H5_LIBVER_DIR@
|
|
|
|
topics="array arrayatt bit bitatt cmpd cmpdatt cpxcmpd cpxcmpdatt enum enumatt float floatatt \
|
|
int intatt opaque opaqueatt string stringatt vlstring vlstringatt \
|
|
commit"
|
|
|
|
return_val=0
|
|
|
|
for topic in $topics
|
|
do
|
|
fname=h5ex_t_$topic
|
|
$ECHO_N "Testing C/H5T/$fname...$ECHO_C"
|
|
exout ./$fname >tmp.test
|
|
cmp -s tmp.test $srcdir/tfiles/16/$fname.tst
|
|
status=$?
|
|
if test $status -ne 0
|
|
then
|
|
echo " FAILED!"
|
|
else
|
|
if [[ $fname == "h5ex_t_cpxcmpd" || $fname == "h5ex_t_cpxcmpdatt" ]]
|
|
then
|
|
targ="-n"
|
|
else
|
|
targ=""
|
|
fi
|
|
dumpout $targ $fname.h5 >tmp.test
|
|
rm -f $fname.h5
|
|
cmp -s tmp.test $srcdir/tfiles/18/$fname.ddl
|
|
status=$?
|
|
if test $status -ne 0
|
|
then
|
|
echo " FAILED!"
|
|
else
|
|
echo " Passed"
|
|
fi
|
|
fi
|
|
return_val=`expr $status + $return_val`
|
|
done
|
|
|
|
|
|
#######Non-standard tests#######
|
|
|
|
USE_ALT=""
|
|
if [ "$H5_LIBVER_DIR" = "110" ]; then
|
|
# check if HDF5 version is < 1.10.7
|
|
version_compare "$H5_LIBVER" "1.10.7"
|
|
if [ "$version_lt" = 1 ]; then
|
|
USE_ALT="06"
|
|
fi
|
|
else
|
|
if [ "$H5_LIBVER_DIR" = "18" ]; then
|
|
# check if HDF5 version is < 1.8.22
|
|
version_compare "$H5_LIBVER" "1.8.22"
|
|
if [ "$version_lt" = 1 ]; then
|
|
USE_ALT="21"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
topics="objref objrefatt regref regrefatt"
|
|
|
|
for topic in $topics
|
|
do
|
|
fname=h5ex_t_$topic
|
|
$ECHO_N "Testing C/H5T/$fname...$ECHO_C"
|
|
exout ./$fname >tmp.test
|
|
cmp -s tmp.test $srcdir/tfiles/16/$fname.tst
|
|
status=$?
|
|
if test $status -ne 0
|
|
then
|
|
echo " FAILED!"
|
|
else
|
|
dumpout $fname.h5 >tmp.test
|
|
rm -f $fname.h5
|
|
version_compare "$H5_LIBVER" "1.10.0"
|
|
if [ "$version_lt" = 1 ]; then
|
|
cmp -s tmp.test $srcdir/tfiles/18/$fname$USE_ALT.ddl
|
|
else
|
|
version_compare "$H5_LIBVER" "1.12.0"
|
|
if [ "$version_lt" = 1 ]; then
|
|
version_compare "$H5_LIBVER" "1.10.7"
|
|
if [ "$version_lt" = 1 ]; then
|
|
cmp -s tmp.test $srcdir/tfiles/110/$fname$USE_ALT.ddl
|
|
else
|
|
cmp -s tmp.test $srcdir/tfiles/18/$fname.ddl
|
|
fi
|
|
else
|
|
cmp -s tmp.test $srcdir/tfiles/112/$fname.ddl
|
|
fi
|
|
fi
|
|
status=$?
|
|
if test $status -ne 0
|
|
then
|
|
echo " FAILED!"
|
|
else
|
|
echo " Passed"
|
|
fi
|
|
fi
|
|
return_val=`expr $status + $return_val`
|
|
done
|
|
|
|
topics="vlen vlenatt"
|
|
|
|
for topic in $topics
|
|
do
|
|
fname=h5ex_t_$topic
|
|
$ECHO_N "Testing C/H5T/$fname...$ECHO_C"
|
|
exout ./$fname >tmp.test
|
|
cmp -s tmp.test $srcdir/tfiles/16/$fname.tst
|
|
status=$?
|
|
if test $status -ne 0
|
|
then
|
|
echo " FAILED!"
|
|
else
|
|
dumpout $fname.h5 >tmp.test
|
|
rm -f $fname.h5
|
|
version_compare "$H5_LIBVER" "1.14.3"
|
|
if [ "$version_lt" = 1 ]; then
|
|
cmp -s tmp.test $srcdir/tfiles/18/$fname.ddl
|
|
else
|
|
cmp -s tmp.test $srcdir/tfiles/114/$fname.ddl
|
|
fi
|
|
status=$?
|
|
if test $status -ne 0
|
|
then
|
|
echo " FAILED!"
|
|
else
|
|
echo " Passed"
|
|
fi
|
|
fi
|
|
return_val=`expr $status + $return_val`
|
|
done
|
|
|
|
|
|
fname=h5ex_t_convert
|
|
$ECHO_N "Testing C/H5T/$fname...$ECHO_C"
|
|
exout ./$fname >tmp.test
|
|
cmp -s tmp.test $srcdir/tfiles/16/$fname.tst
|
|
status=$?
|
|
if test $status -ne 0
|
|
then
|
|
echo " FAILED!"
|
|
else
|
|
echo " Passed"
|
|
fi
|
|
return_val=`expr $status + $return_val`
|
|
|
|
|
|
rm -f tmp.test
|
|
echo "$return_val tests failed in C/H5T/"
|
|
exit $return_val
|