summaryrefslogtreecommitdiffstats
path: root/tools/misc/testh5repart.sh.in
diff options
context:
space:
mode:
authorLarry Knox <lrknox@hdfgroup.org>2017-12-01 18:41:26 (GMT)
committerLarry Knox <lrknox@hdfgroup.org>2017-12-01 18:41:26 (GMT)
commitb8c6b68c35fa2be23ef488a1d81097ff3ed55000 (patch)
treec3429ee577e454526c8704d66a84f0c45b7959a1 /tools/misc/testh5repart.sh.in
parent23a702e7bad93fc4f14eab07678c75d276e2d0ad (diff)
parent60f76980aab92f0e0730170b99a2363acd3c97fa (diff)
downloadhdf5-b8c6b68c35fa2be23ef488a1d81097ff3ed55000.zip
hdf5-b8c6b68c35fa2be23ef488a1d81097ff3ed55000.tar.gz
hdf5-b8c6b68c35fa2be23ef488a1d81097ff3ed55000.tar.bz2
Merge pull request #811 in HDFFV/hdf5 from hdf5_1_8_20 to 1.8/masterhdf5-1_8_20
* commit '60f76980aab92f0e0730170b99a2363acd3c97fa': (108 commits) Update version numbers and remove empty sections in RELEASE.txt. Restore line 1154: C2Cppfunction_map.mht to HTML_EXTRA_FILES. Update version for 1.8.20 release. Fixed documentation warnings HDFFV-10329 Correct LINK INTERFACE and VS20013 compile Switch default build mode from development to production. Increment version string to pre2. Add RELEASE.txt note for HDFFV-10274. (cherry picked from commit f7a7d0a00613cba997212fa8032091629a678797) Initialize hid_t variables in test_Attr_bug9. (cherry picked from commit 97bc393449f3fe02c5992872ab2842e12f611ef0) Fix HDFFV-10274. When deleting all (or almost all) of the messages in an object header chunk, where the total amount deleted was greater than 64K, an error would occur due to an off by one error in the code that handled that case. Fixed this and added a test case. (cherry picked from commit 1b2c2ca9a6a7d7e1fcd5c3302e203f2e2dabf0af) Fix linking of libs Changed file path to relative. iAdd NAG to supported compilers in RELEASE.txt. Add description to RELEASE.txt for HDFFV-10323 Correct issue number Set version to 1.8.20-pre1 Update supported and tested platforms in RELEASE.txt. HDFFV-10321 Merge from 1.8 Incremented lib file .so numbers: revision for all except c++ for code change; current incremented, revision and age set to 0 for c++ due to symbols added and removed. updated issues related to Fortran Incremented lib file .so numbers: revision for all except c++ for dcode change; current incremented, revision and age set to 0 for c++ due to symbols added and removed. ...
Diffstat (limited to 'tools/misc/testh5repart.sh.in')
-rw-r--r--tools/misc/testh5repart.sh.in97
1 files changed, 89 insertions, 8 deletions
diff --git a/tools/misc/testh5repart.sh.in b/tools/misc/testh5repart.sh.in
index e33a905..8e6fb8f 100644
--- a/tools/misc/testh5repart.sh.in
+++ b/tools/misc/testh5repart.sh.in
@@ -19,18 +19,95 @@ TESTNAME=h5repart
EXIT_SUCCESS=0
EXIT_FAILURE=1
-REPART=h5repart # The tool name
+REPART=./h5repart # The tool name
REPART_BIN=`pwd`/$REPART # The path of the tool binary
REPARTED_FAM=repart_test # The test name
REPARTED_FAM_BIN=`pwd`/$REPARTED_FAM # The path of the test binary
+RM='rm -rf'
+CMP='cmp -s'
+DIFF='diff -c'
+CP='cp'
+DIRNAME='dirname'
+LS='ls'
+AWK='awk'
+
nerrors=0
verbose=yes
-test -d ../testfiles || mkdir ../testfiles
+# source dirs
+SRC_TOOLS="$srcdir/.."
+
+SRC_TOOLS_TESTFILES="$SRC_TOOLS/testfiles"
-actual_dir=`pwd`/../testfiles
+TESTDIR=./testrepart
+test -d $TESTDIR || mkdir -p $TESTDIR
+
+#
+# copy test files and expected output files from source dirs to test dir
+#
+COPY_TESTFILES="
+$SRC_TOOLS_TESTFILES/family_file00000.h5
+$SRC_TOOLS_TESTFILES/family_file00001.h5
+$SRC_TOOLS_TESTFILES/family_file00002.h5
+$SRC_TOOLS_TESTFILES/family_file00003.h5
+$SRC_TOOLS_TESTFILES/family_file00004.h5
+$SRC_TOOLS_TESTFILES/family_file00005.h5
+$SRC_TOOLS_TESTFILES/family_file00006.h5
+$SRC_TOOLS_TESTFILES/family_file00007.h5
+$SRC_TOOLS_TESTFILES/family_file00008.h5
+$SRC_TOOLS_TESTFILES/family_file00009.h5
+$SRC_TOOLS_TESTFILES/family_file00010.h5
+$SRC_TOOLS_TESTFILES/family_file00011.h5
+$SRC_TOOLS_TESTFILES/family_file00012.h5
+$SRC_TOOLS_TESTFILES/family_file00013.h5
+$SRC_TOOLS_TESTFILES/family_file00014.h5
+$SRC_TOOLS_TESTFILES/family_file00015.h5
+$SRC_TOOLS_TESTFILES/family_file00016.h5
+$SRC_TOOLS_TESTFILES/family_file00017.h5
+"
+
+COPY_TESTFILES_TO_TESTDIR()
+{
+ # copy test files. Used -f to make sure get a new copy
+ for tstfile in $COPY_TESTFILES
+ do
+ # ignore '#' comment
+ echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
+ RET=$?
+ if [ $RET -eq 1 ]; then
+ # skip cp if srcdir is same as destdir
+ # this occurs when build/test performed in source dir and
+ # make cp fail
+ SDIR=`$DIRNAME $tstfile`
+ INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+ INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
+ if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+ $CP -f $tstfile $TESTDIR
+ if [ $? -ne 0 ]; then
+ echo "Error: FAILED to copy $tstfile ."
+
+ # Comment out this to CREATE expected file
+ exit $EXIT_FAILURE
+ fi
+ fi
+ fi
+ done
+}
+
+CLEAN_TESTFILES_AND_TESTDIR()
+{
+ # skip rm if srcdir is same as destdir
+ # this occurs when build/test performed in source dir and
+ # make cp fail
+ SDIR=$SRC_TOOLS_TESTFILES
+ INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+ INODE_DDIR=`$LS -i -d $TESTDIR | $AWK -F' ' '{print $1}'`
+ if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+ $RM $TESTDIR
+ fi
+}
# Print a line-line message left justified in a field of 70 characters
# beginning with the word "Testing".
@@ -48,7 +125,7 @@ TOOLTEST() {
TESTING $REPART $@
(
# echo
- cd $srcdir/../testfiles
+ cd $TESTDIR
$RUNSERIAL $REPART_BIN $@
)
@@ -64,7 +141,7 @@ OUTPUTTEST() {
# Run test program.
TESTING $REPARTED_FAM $@
(
- cd $actual_dir
+ cd $TESTDIR
$RUNSERIAL $REPARTED_FAM_BIN $@
)
@@ -87,19 +164,23 @@ SKIP() {
### T H E T E S T S ###
##############################################################################
##############################################################################
+# prepare for test
+COPY_TESTFILES_TO_TESTDIR
# repartition family member size to 20,000 bytes.
-TOOLTEST -m 20000 family_file%05d.h5 $actual_dir/fst_family%05d.h5
+TOOLTEST -m 20000 family_file%05d.h5 fst_family%05d.h5
# repartition family member size to 5 KB.
-TOOLTEST -m 5k family_file%05d.h5 $actual_dir/scd_family%05d.h5
+TOOLTEST -m 5k family_file%05d.h5 scd_family%05d.h5
# convert family file to sec2 file of 20,000 bytes
-TOOLTEST -m 20000 -family_to_sec2 family_file%05d.h5 $actual_dir/family_to_sec2.h5
+TOOLTEST -m 20000 -family_to_sec2 family_file%05d.h5 family_to_sec2.h5
# test the output files repartitioned above.
OUTPUTTEST
echo
# Clean up output file
+CLEAN_TESTFILES_AND_TESTDIR
+
if test -z "$HDF5_NOCLEANUP"; then
cd $actual_dir
rm -f fst_family*.h5 scd_family*.h5 family_to_sec2.h5