mirror of
https://github.com/Unidata/netcdf-c.git
synced 2024-11-27 07:30:33 +08:00
d538cf38c2
The primary fix is to improve CMake build support. Specific changes include: * CMake: Provide a better soln to locating the AWS SDK libraries; the new way is the preferred method as described in the aws-cpp-sdk documentation. * CMake (and Automake): allow -DENABLE_S3_SDK (default off) to suppress looking for AWS libraries. * CMake: add the complete set of nczarr tests * CMake: add EXTERNL as needed to various .h files. * Improve support for windows drive letters in paths. * Add nczarr and s3 flags to nc-config * For VisualStudio X nczarr, cleanup the NAN+INFINITY handling * Convert _MSC_VER -> _WIN32 and vice versa as needed * NCZarr - support multiple platform paths including windows, cygwin. mingw, etc. * NCZarr - sort the test outputs because different platforms produce directory contents in different orders. One big change concerns netcdf-c/CMakeLists.txt and netcdf-c/configure.ac. In the current versions, it was the case that --disable-hdf5 disabled netcdf-4 (libsrc4). With nczarr, this can no longer be the case because nczarr requires libsrc4 even if libhdf5 is disabled. So, I modified the above files to move the format options (HDF5, NCZarr, HDF4, etc) to a single place near the front of the files. Now it is the case that: * Enabling any of the formats that require libsrc4 also does an implicit --enable-netcdf4. * --disable-netcdf4 | --disable-netcdf-4 now becomes and alias for --disable-hdf5. There are probably some bugs in this change in terms of dependencies between format options. Problems: * CMake S3 support is still not working for Visual Studio * A recent issue points out that there is work to do on handling UTF8 filenames, but that will be addressed in a separate fix. Notes: * Consider converting all of our includes/.h files to use EXTERNL
102 lines
2.2 KiB
Bash
Executable File
102 lines
2.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
if test "x$srcdir" = x ; then srcdir=`pwd`; fi
|
|
. ../test_common.sh
|
|
|
|
. "$srcdir/test_nczarr.sh"
|
|
|
|
set -e
|
|
|
|
# Test those map implementations where
|
|
# it is possible to look at the actual storage.
|
|
# .ncz and .nzf specifically. Note that we
|
|
# cannot easily look inside S3 storage
|
|
# except using the aws-cli, if available
|
|
|
|
|
|
# Common
|
|
CMD="${execdir}/ut_map${ext}"
|
|
|
|
testmapcreate() {
|
|
echo ""; echo "*** Test zmap create -k $1"
|
|
extfor "$1"
|
|
tag="map"
|
|
output="test$tag.$zext"
|
|
|
|
deletemap $1 $output
|
|
|
|
# Create the test file
|
|
$CMD -k$1 -x create -o $output
|
|
cdl="ut_${tag}_create_${zext}.cdl"
|
|
dumpmap $zext $output ./$cdl
|
|
diff -wb ${srcdir}/ref_$cdl ./$cdl
|
|
# delete the test file
|
|
$CMD -k$1 -x delete -f $output
|
|
rm -f $cdl
|
|
if test -f $output; then
|
|
echo "delete did not delete $output"
|
|
exit 1
|
|
fi
|
|
# re-create the test file
|
|
$CMD -k$1 -x create -o $output
|
|
}
|
|
|
|
testmapmeta() {
|
|
echo ""; echo "*** Test zmap read/write meta -k $1"
|
|
extfor "$1"
|
|
tag="map"
|
|
file="test$tag.$zext"
|
|
|
|
$CMD -k$1 -x writemeta -f $file
|
|
cdl="ut_${tag}_writemeta_${zext}.cdl"
|
|
dumpmap $zext $file ./$cdl
|
|
diff -wb ${srcdir}/ref_$cdl ./$cdl
|
|
|
|
$CMD -k$1 -x writemeta2 -o ./$file
|
|
cdl="ut_${tag}_write2meta_${zext}.cdl"
|
|
dumpmap $zext $file ./$cdl
|
|
diff -wb ${srcdir}/ref_$cdl ./$cdl
|
|
|
|
output="ut_${tag}_readmeta_$zext.txt"
|
|
$CMD -k$1 -x readmeta -f $file > ./$output
|
|
diff -wb ${srcdir}/ref_$output ./$output
|
|
}
|
|
|
|
testmapdata() {
|
|
echo ""; echo "*** Test zmap read/write data -k $1"
|
|
extfor "$1"
|
|
tag="map"
|
|
file="test$tag.$zext"
|
|
|
|
$CMD -k$1 -x "writedata" -f $file
|
|
cdl="ut_${tag}_writedata_${zext}.cdl"
|
|
dumpmap $zext $file ./$cdl
|
|
diff -wb ${srcdir}/ref_$cdl ./$cdl
|
|
|
|
# readata is verification only
|
|
$CMD -k$1 -x readdata -f $file
|
|
}
|
|
|
|
testmapsearch() {
|
|
echo ""; echo "*** Test zmap search -k $1"
|
|
extfor "$1"
|
|
tag="map"
|
|
file="test$tag.$zext"
|
|
|
|
txt=ut_${tag}_search_$zext.txt
|
|
rm -f $txt
|
|
$CMD -k$1 -x "search" -f $file > $txt
|
|
diff -wb ${srcdir}/ref_$txt ./$txt
|
|
}
|
|
|
|
echo ""
|
|
|
|
echo "*** Map Unit Testing"
|
|
|
|
echo ""; echo "*** Test zmap_nz4"
|
|
testmapcreate nz4; testmapmeta nz4; testmapdata nz4; testmapsearch nz4
|
|
echo ""; echo "*** Test zmap_nzf"
|
|
testmapcreate nzf; testmapmeta nzf; testmapdata nzf; testmapsearch nzf
|
|
|
|
exit 0
|