mirror of
https://github.com/Unidata/netcdf-c.git
synced 2024-11-27 07:30:33 +08:00
44d0dcaad2
re: https://github.com/Unidata/netcdf-c/issues/1584 Support has been added for multiple filters per variable. This affects a number of components in netcdf. The new APIs are documented in NUG/filters.md. The primary changes are: * A set of new functions are provided (see __include/netcdf_filter.h__). - Obtain a list of the filters associated with a variable - Obtain the parameters for a specific filter. * The existing __nc_inq_var_filter__ function now returns info about the first defined filter. * The utilities (ncgen, ncdump, and nccopy) now support an extended format for specifying a sequence of filters. The general form is __<filter>|<filter>..._. * The ncdump **_Filter** attribute now dumps a list of all the filters associated with a variable using the above new format. * Filter specifications can now use a filter name instead of number for filters known to the netcdf library, which in turn is taken from the HDF5 filter registration page. * New errors are defined: NC_EFILTER and NC_ENOFILTER. The latter is returned if an attempt is made to access an unknown filter. * Internally, the dispatch table has been extended to add a function to handle all of the filter functions. * New, filter-related, tests were added to nc_test4. * A new plugin was added to the plugins directory to help with testing. Notes: 1. The shuffle and fletcher32 filters are not part of the multifilter system. Misc. changes: 1. A debug module was added to libhdf5 to help catch error locations.
115 lines
4.2 KiB
Makefile
115 lines
4.2 KiB
Makefile
# This is part of the netCDF package. Copyright 2005-2019 University
|
|
# Corporation for Atmospheric Research/Unidata See COPYRIGHT file for
|
|
# conditions of use.
|
|
#
|
|
# This directory holds tests for netCDF-4. It is skipped if netCDF-4
|
|
# is not enabled.
|
|
#
|
|
# Ed Hartnett, Ward Fisher
|
|
|
|
# Put together AM_CPPFLAGS and AM_LDFLAGS.
|
|
include $(top_srcdir)/lib_flags.am
|
|
|
|
# Un comment to use a more verbose test driver
|
|
#SH_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver-verbose
|
|
#sh_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver-verbose
|
|
#LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver-verbose
|
|
#TESTS_ENVIRONMENT = export SETX=1;
|
|
|
|
TEST_EXTENSIONS = .sh
|
|
|
|
# Link to our assembled library.
|
|
LDADD = ${top_builddir}/liblib/libnetcdf.la
|
|
|
|
# These are netCDF-4 C test programs which are built and run.
|
|
NC4_TESTS = tst_dims tst_dims2 tst_dims3 tst_files tst_files4 \
|
|
tst_vars tst_varms tst_unlim_vars tst_converts tst_converts2 tst_grps \
|
|
tst_grps2 tst_compounds tst_compounds2 tst_compounds3 tst_opaques \
|
|
tst_strings tst_strings2 tst_interops tst_interops4 tst_interops5 \
|
|
tst_interops6 tst_interops_dims tst_enums tst_coords tst_coords2 \
|
|
tst_coords3 tst_vars3 tst_vars4 tst_chunks tst_chunks2 tst_utf8 \
|
|
tst_fills tst_fills2 tst_fillbug tst_xplatform tst_xplatform2 \
|
|
tst_endian_fill tst_atts t_type cdm_sea_soundings tst_camrun tst_vl \
|
|
tst_atts1 tst_atts2 tst_vars2 tst_files5 tst_files6 tst_sync \
|
|
tst_h_scalar tst_rename tst_rename2 tst_rename3 tst_h5_endians \
|
|
tst_atts_string_rewrite tst_hdf5_file_compat tst_fill_attr_vanish \
|
|
tst_rehash tst_filterparser tst_bug324 tst_types tst_atts3 \
|
|
tst_put_vars tst_elatefill tst_udf tst_put_vars_two_unlim_dim \
|
|
tst_bug1442
|
|
|
|
# Temporary I hoped, but hoped in vain.
|
|
if !ISCYGWIN
|
|
NC4_TESTS += tst_h_strbug tst_h_refs
|
|
endif
|
|
|
|
# Build test programs plus programs used in test scripts.
|
|
check_PROGRAMS = $(NC4_TESTS) tst_empty_vlen_unlim
|
|
TESTS = $(NC4_TESTS) run_empty_vlen_test.sh
|
|
|
|
# Add these if large file tests are turned on.
|
|
if LARGE_FILE_TESTS
|
|
check_PROGRAMS += tst_large tst_large2
|
|
TESTS += tst_large tst_large2
|
|
endif
|
|
|
|
# If the v2 API was built, add its test program.
|
|
if BUILD_V2
|
|
check_PROGRAMS += tst_v2
|
|
TESTS += tst_v2
|
|
endif # BUILD_V2
|
|
|
|
# The rest of the tests require ncgen/ncdump.
|
|
if BUILD_UTILITIES
|
|
check_PROGRAMS += renamegroup
|
|
TESTS += run_grp_rename.sh tst_misc.sh
|
|
|
|
# Szip Tests (requires ncdump)
|
|
if USE_SZIP
|
|
check_PROGRAMS += test_szip h5testszip
|
|
TESTS += tst_szip.sh
|
|
endif
|
|
|
|
# Filter Tests (requires ncdump and ncgen)
|
|
if ENABLE_FILTER_TESTING
|
|
extradir =
|
|
extra_PROGRAMS = test_filter test_filter_misc test_filter_order
|
|
check_PROGRAMS += test_filter_reg
|
|
check_PROGRAMS += tst_multifilter
|
|
TESTS += tst_filter.sh test_filter_reg
|
|
endif
|
|
endif # BUILD_UTILITIES
|
|
|
|
# This are extra tests that will only be run if netcdf-4 is configured
|
|
# with --enable-parallel-tests.
|
|
if TEST_PARALLEL4
|
|
check_PROGRAMS += tst_mpi_parallel tst_parallel tst_parallel3 \
|
|
tst_parallel4 tst_parallel5 tst_nc4perf tst_mode tst_simplerw_coll_r \
|
|
tst_mode tst_parallel_zlib tst_parallel_compress
|
|
TESTS += run_par_test.sh
|
|
endif # TEST_PARALLEL4
|
|
|
|
EXTRA_DIST = run_par_test.sh.in ref_tst_compounds.nc \
|
|
ref_tst_xplatform2_1.nc ref_tst_xplatform2_2.nc ref_tst_dims.nc \
|
|
ref_tst_interops4.nc CMakeLists.txt run_grp_rename.sh \
|
|
run_empty_vlen_test.sh ref_hdf5_compat1.nc ref_hdf5_compat2.nc \
|
|
ref_hdf5_compat3.nc tst_misc.sh tdset.h5 tst_szip.sh ref_szip.h5 \
|
|
ref_szip.cdl tst_filter.sh bzip2.cdl ref_filtered.cdl \
|
|
ref_unfiltered.cdl ref_bzip2.c findplugin.in ref_unfilteredvv.cdl \
|
|
ref_filteredvv.cdl ref_multi.cdl ref_filter_order.txt \
|
|
ref_ncgenF.cdl ref_nccopyF.cdl
|
|
|
|
CLEANFILES = tst_mpi_parallel.bin cdm_sea_soundings.nc bm_chunking.nc \
|
|
tst_floats_1D.cdl floats_1D_3.nc floats_1D.cdl tst_*.nc \
|
|
tst_floats2_*.cdl tst_ints2_*.cdl tst_shorts2_*.cdl tst_elena_*.cdl \
|
|
tst_simple*.cdl tst_chunks.cdl pr_A1.* tauu_A1.* usi_01.* thetau_01.* \
|
|
tst_*.h5 tst_grp_rename.cdl tst_grp_rename.dmp ref_grp_rename.cdl \
|
|
foo1.nc tst_*.h4 test.nc testszip.nc test.h5 szip_dump.cdl \
|
|
perftest.txt bigmeta.nc bigvars.nc *.gz MSGCPP_*.nc \
|
|
floats*.nc floats*.cdl shorts*.nc shorts*.cdl ints*.nc ints*.cdl \
|
|
testfilter_reg.nc
|
|
|
|
DISTCLEANFILES = findplugin.sh run_par_test.sh
|
|
|
|
# If valgrind is present, add valgrind targets.
|
|
@VALGRIND_CHECK_RULES@
|