diff options
author | Bill Wendling <wendling@ncsa.uiuc.edu> | 2001-01-10 21:56:47 (GMT) |
---|---|---|
committer | Bill Wendling <wendling@ncsa.uiuc.edu> | 2001-01-10 21:56:47 (GMT) |
commit | dc9c387ba2e0279a7e196bfb90637df5d2089aac (patch) | |
tree | 1660bbc87fa57e0d4f98a2049929fa4077f76a8e /tools/testh5toh4 | |
parent | c5c4e70311882501516f8ce15d7c97f0be0ad1d8 (diff) | |
download | hdf5-dc9c387ba2e0279a7e196bfb90637df5d2089aac.zip hdf5-dc9c387ba2e0279a7e196bfb90637df5d2089aac.tar.gz hdf5-dc9c387ba2e0279a7e196bfb90637df5d2089aac.tar.bz2 |
[svn-r3266] Purpose:
Name change
Description:
Changed the names of the testh5toh4 and testh4toh5 scripts to the
"canonical" form -- testh4toh5.sh and testh5toh4.sh.
Platforms tested:
Linux
Diffstat (limited to 'tools/testh5toh4')
-rw-r--r-- | tools/testh5toh4 | 301 |
1 files changed, 0 insertions, 301 deletions
diff --git a/tools/testh5toh4 b/tools/testh5toh4 deleted file mode 100644 index 7e4e0f2..0000000 --- a/tools/testh5toh4 +++ /dev/null @@ -1,301 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 1997 National Center for Supercomputing Applications. -# All rights reserved. -# - -h5toh4=h5toh4 # a relative name -COMMAND=`pwd`/"$h5toh4" # an absolute command path - -cmp='cmp -s' -diff='diff -c' - -RM='rm -f' -SED='sed ' -H4DUMP='hdp' - -# Verify if $H4DUMP is a valid command. -tmpfile=/tmp/testh5toh4.$$ -$H4DUMP -H > $tmpfile -if test -s "$tmpfile"; then - # Find out which version of hdp is being used. Over simplified - # algorithm but will do the job for now. - if ( grep -s 'NCSA HDF Version 4.1 Release [3-9]' $tmpfile > /dev/null ) - then - H4DUMPVER=413 - else - H4DUMPVER=0 - echo " Some tests maybe skipped because your version of $H4DUMP does" - echo " not handle loops in Vgroups correctly. You need version" - echo " 4.1 Release 3 or later. Visit http://hdf.ncsa.uiuc.edu" - echo " or email hdfhelp@ncsa.uiuc.edu for more information." - fi -else - echo " Could not run the '$H4DUMP' command. The test can still proceed" - echo " but it may fail if '$H4DUMP' is needed to verify the output." - echo " You can make sure '$H4DUMP' is among your shell PATH and run" - echo " the test again. You may also visit http://hdf.ncsa.uiuc.edu" - echo " or email hdfhelp@ncsa.uiuc.edu for more information." - H4DUMP=: - H4DUMPVER=0 -fi -$RM $tmpfile - -# The build (current) directory might be different than the source directory. -if test -z "$srcdir"; then - srcdir=. -fi -mkdir testfiles >/dev/null 2>&1 - -SRCDIR="$srcdir/testfiles" -OUTDIR="./testfiles/Results" - -test -d $OUTDIR || mkdir $OUTDIR - -nerrors=0 -verbose=yes - -# Print a line-line message left justified in a field of 70 characters -# beginning with the word "Testing". -TESTING() -{ - SPACES=" " - echo "Testing $* $SPACES" |cut -c1-70 |tr -d '\012' -} - -# Run a test and print PASS or *FAIL*. If a test fails then increment -# the `nerrors' global variable and (if $verbose is set) display the -# difference between the actual and the expected hdf4 files. The -# expected hdf4 files are in testfiles/Expected directory. -# The actual hdf4 file is not removed if $HDF5_NOCLEANUP is to a non-null -# value. -CONVERT() -{ - # Run h5toh4 convert. - TESTING $h5toh4 $@ - - # - # Set up arguments to run the conversion test. - # The converter assumes all hdf5 files has the .h5 suffix as in the form - # of foo.h5. It creates the corresponding hdf4 files with the .hdf suffix - # as in the form of foo.hdf. One exception is that if exactly two file - # names are given, it treats the first argument as an hdf5 file and creates - # the corresponding hdf4 file with the name as the second argument, WITOUT - # any consideration of the suffix. (For this test script, in order to - # match the output hdf4 file with the expected hdf4 file, it expects the - # second file of the two-files tests has the .hdf suffix too.) - # - # If SRCDIR != OUTDIR, need to copy the input hdf5 files from the SRCDIR - # to the OUTDIR and transform the input file pathname because of the suffix - # convention mentioned above. This way, the hdf4 files are always created - # in the OUTDIR directory. - # - - INFILES="" - OUTFILES="" - MULTIRUN="" - - case "$1" in - "-m") # multiple files conversion - MULTIRUN="-m" - shift - for f in $* - do - if test "$SRCDIR" != "$OUTDIR"; then - cp $SRCDIR/$f $OUTDIR/$f - fi - INFILES="$INFILES $f" - OUTFILES="$OUTFILES `basename $f .h5`.hdf" - shift - done - ;; - * ) # Single file conversion - case $# in - 1) if test "$SRCDIR" != "$OUTDIR"; then - cp $SRCDIR/$1 $OUTDIR/$1 - fi - INFILES="$1" - OUTFILES="`basename $1 .h5`.hdf" - ;; - 2) # hdf4 file specified - if test "$SRCDIR" != "$OUTDIR"; then - cp $SRCDIR/$1 $OUTDIR/$1 - fi - INFILES="$1" - OUTFILES="$2" - ;; - *) # Illegal - echo "Illegal arguments" - exit 1 - ;; - esac - ;; - esac - - # run the conversion and remove input files that have been copied over - ( - cd $OUTDIR - $COMMAND $MULTIRUN $INFILES 2>/dev/null - if test "$SRCDIR" != "$OUTDIR"; then - $RM $INFILES - fi - ) - - # Verify results - result="passed" - for f in $OUTFILES - do - if $cmp $SRCDIR/Expected/$f $OUTDIR/$f - then - : - else - # Use hdp to dump the files and verify the output. - # Filter out the output of "reference = ..." because - # reference numbers are immaterial in general. - outfile=`basename $f .hdf` - expect_out=$outfile.expect - actual_out=$outfile.actual - - if [ $outfile = "tloop" -a $H4DUMPVER -lt 413 ] - then - echo " -SKIP-" - result="skipped" - touch $expect_out $actual_out # fake them - else - (cd $SRCDIR/Expected - $H4DUMP dumpvg $outfile.hdf - $H4DUMP dumpvd $outfile.hdf - $H4DUMP dumpsds $outfile.hdf ) | - sed -e 's/reference = [0-9]*;//' > $expect_out - (cd $OUTDIR - $H4DUMP dumpvg $outfile.hdf - $H4DUMP dumpvd $outfile.hdf - $H4DUMP dumpsds $outfile.hdf ) | - sed -e 's/reference = [0-9]*;//' > $actual_out - fi - - if [ "passed" = $result -a ! -s $actual_out ] ; then - echo "*FAILED*" - nerrors="`expr $nerrors + 1`" - result=failed - test yes = "$verbose" && - echo " H4DUMP failed to produce valid output" - elif $cmp $expect_out $actual_out; then - : - else - if test "passed" = $result; then - echo "*FAILED*" - nerrors="`expr $nerrors + 1`" - result=failed - fi - test yes = "$verbose" && - echo " Actual result (*.actual) differs from expected result (*.expect)" && - $diff $expect_out $actual_out |sed 's/^/ /' - fi - fi - - # Clean up output file - if test -z "$HDF5_NOCLEANUP"; then - $RM $expect_out $actual_out - $RM $OUTDIR/$f - fi - done - if test "passed" = "$result"; then - echo " PASSED" - fi -} - - - -############################################################################## -############################################################################## -### T H E T E S T S ### -############################################################################## -############################################################################## - -$RM $OUTDIR/*.hdf $OUTDIR/*.tmp - -# -# The HDF4 filenames are created based upon the HDF5 filenames -# without the extension. -# - -# test for converting H5 groups to H4 Vgroups. -CONVERT tgroup.h5 - -# test for converting H5 datasets to H4 SDS's. -CONVERT tdset.h5 - -# test for converting H5 attributes to H4 attributes. -CONVERT tattr.h5 - -# test for converting H5 soft links. -CONVERT tslink.h5 - -# test for converting H5 hard links. -CONVERT thlink.h5 - -# test for converting H5 compound data type to H4 Vdata. -CONVERT tcompound.h5 - -# test for converting all H5 objects at in same file. -CONVERT tall.h5 - -# tests for converting H5 objects with loops. -CONVERT tloop.h5 - -# test for converting extendable H5 datasets to H4 SDS's. -CONVERT tdset2.h5 - -# test for converting extendable H5 datasets with compound data type to H4 Vdata. -CONVERT tcompound2.h5 - -# tests for converting H5 objects from many different pathways. -CONVERT tmany.h5 - -# tests for converting H5 string objects. -CONVERT tstr.h5 - -# tests for converting more H5 string objects. -CONVERT tstr2.h5 - -# -# The test for conversion are the same as above with the only difference -# being that the HDF4 filenames are given explicitly. -# - -$RM $OUTDIR/*.tmp -CONVERT tgroup.h5 tgroup.hdf -CONVERT tdset.h5 tdset.hdf -CONVERT tattr.h5 tattr.hdf -CONVERT tslink.h5 tslink.hdf -CONVERT thlink.h5 thlink.hdf -CONVERT tcompound.h5 tcompound.hdf -CONVERT tall.h5 tall.hdf -CONVERT tloop.h5 tloop.hdf -CONVERT tdset2.h5 tdset2.hdf -CONVERT tcompound2.h5 tcompound2.hdf -CONVERT tmany.h5 tmany.hdf -CONVERT tstr.h5 tstr.hdf -CONVERT tstr2.h5 tstr2.hdf - -# -# Again, the test for conversion are the same as the first set of test. -# Here, multiple conversion are done on HDF5 files at one time. -# - -$RM $OUTDIR/*.hdf $OUTDIR/*.tmp -CONVERT -m tgroup.h5 tdset.h5 tattr.h5 tslink.h5 thlink.h5 -CONVERT -m tcompound.h5 tall.h5 -CONVERT -m tloop.h5 -CONVERT -m tdset2.h5 tcompound2.h5 tmany.h5 -CONVERT -m tstr.h5 tstr2.h5 - -if test $nerrors -eq 0 ; then - echo "All h5toh4 tests passed." -fi - -if test -z "$HDF5_NOCLEANUP"; then - $RM -r $OUTDIR -fi -exit $nerrors |