[svn-r23465] I moved dynlib1.c to test/ directory and revised the Makefile.am in test/. I added the condition to skip

plugin.c test when the library is built for static.

Tested on jam, koala, and emu.
This commit is contained in:
Raymond Lu 2013-03-27 10:39:16 -05:00
parent bda2e5da5a
commit 5b12b8e122
9 changed files with 228 additions and 73 deletions

View File

@ -961,6 +961,7 @@
./test/dt_arith.c
./test/dtypes.c
./test/dtransform.c
./test/dynlib1.c
./test/earray.c
./test/efc.c
./test/enc_dec_plist.c
@ -1095,10 +1096,6 @@
./test/gen_filters.c
./test/chunk_info.c
./test/plugin_lib/dynlib1.c
./test/plugin_lib/Makefile.in
./test/plugin_lib/CMakeLists.txt
./test/testfiles/err_compat_1
./test/testfiles/err_compat_2
./test/testfiles/error_test_1

View File

@ -88,10 +88,9 @@ DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
$(top_srcdir)/bin/ltmain.sh $(top_srcdir)/bin/missing \
$(top_srcdir)/bin/mkinstalldirs \
$(top_srcdir)/config/commence.am $(top_srcdir)/configure \
$(top_srcdir)/test/plugin_lib/Makefile.in COPYING bin/COPYING \
bin/README bin/compile bin/config.guess bin/config.sub \
bin/depcomp bin/install-sh bin/ltmain.sh bin/missing \
bin/mkinstalldirs
COPYING bin/COPYING bin/README bin/compile bin/config.guess \
bin/config.sub bin/depcomp bin/install-sh bin/ltmain.sh \
bin/missing bin/mkinstalldirs
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
@ -101,7 +100,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/src/H5config.h
CONFIG_CLEAN_FILES = test/plugin_lib/Makefile
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
@ -520,8 +519,6 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
test/plugin_lib/Makefile: $(top_builddir)/config.status $(top_srcdir)/test/plugin_lib/Makefile.in
cd $(top_builddir) && $(SHELL) ./config.status $@
mostlyclean-libtool:
-rm -f *.lo

28
configure vendored
View File

@ -689,6 +689,8 @@ USE_FILTER_SZIP
USE_FILTER_DEFLATE
AM_MAKEFLAGS
LT_STATIC_EXEC
HAVE_SHARED_CONDITIONAL_FALSE
HAVE_SHARED_CONDITIONAL_TRUE
CPP
OTOOL64
OTOOL
@ -5242,9 +5244,10 @@ if test "X$HDF_FORTRAN" = "Xyes"; then
## --------------------------------------------------------------------
## General Fortran flags
##
AM_FCFLAGS="${AM_FCFLAGS} ${FFLAGS}"
FCFLAGS="${FCFLAGS} ${FFLAGS}"
## Only add FFLAGS to FCFLAGS if it's set.
if test "x$FFLAGS" != "x" ; then
FCFLAGS="${FCFLAGS} ${FFLAGS}"
fi
## --------------------------------------------------------------------
## Fortran source extention
@ -22018,6 +22021,18 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
## ----------------------------------------------------------------------
## Set a macro if shared library is enabled.
##
if test "X$enable_shared" = "Xyes"; then
HAVE_SHARED_CONDITIONAL_TRUE=
HAVE_SHARED_CONDITIONAL_FALSE='#'
else
HAVE_SHARED_CONDITIONAL_TRUE='#'
HAVE_SHARED_CONDITIONAL_FALSE=
fi
## ----------------------------------------------------------------------
## Check if we should install only statically linked executables.
## This check needs to occur after libtool is initialized because
@ -31223,7 +31238,7 @@ if test -n "$TESTPARALLEL"; then
fi
fi
ac_config_files="$ac_config_files src/libhdf5.settings Makefile src/Makefile test/Makefile test/testcheck_version.sh test/testerror.sh test/H5srcdir_str.h test/testlibinfo.sh test/testlinks_env.sh test/test_plugin.sh test/plugin_lib/Makefile testpar/Makefile testpar/testph5.sh perform/Makefile tools/Makefile tools/h5dump/Makefile tools/h5dump/testh5dump.sh tools/h5dump/testh5dumppbits.sh tools/h5dump/testh5dumpxml.sh tools/h5ls/testh5ls.sh tools/h5import/Makefile tools/h5import/h5importtestutil.sh tools/h5diff/Makefile tools/h5diff/testh5diff.sh tools/h5diff/testph5diff.sh tools/h5jam/Makefile tools/h5jam/testh5jam.sh tools/h5repack/Makefile tools/h5repack/h5repack.sh tools/h5ls/Makefile tools/h5copy/Makefile tools/h5copy/testh5copy.sh tools/lib/Makefile tools/misc/Makefile tools/misc/h5cc tools/misc/testh5mkgrp.sh tools/misc/testh5repart.sh tools/h5stat/testh5stat.sh tools/h5stat/Makefile examples/Makefile examples/run-c-ex.sh examples/testh5cc.sh c++/Makefile c++/src/Makefile c++/src/h5c++ c++/test/Makefile c++/test/H5srcdir_str.h c++/examples/Makefile c++/examples/run-c++-ex.sh c++/examples/testh5c++.sh fortran/Makefile fortran/src/h5fc fortran/src/Makefile fortran/test/Makefile fortran/testpar/Makefile fortran/examples/Makefile fortran/examples/run-fortran-ex.sh fortran/examples/testh5fc.sh hl/Makefile hl/src/Makefile hl/test/Makefile hl/test/H5srcdir_str.h hl/tools/Makefile hl/tools/gif2h5/Makefile hl/tools/gif2h5/h52giftest.sh hl/examples/Makefile hl/examples/run-hlc-ex.sh hl/c++/Makefile hl/c++/src/Makefile hl/c++/test/Makefile hl/c++/examples/Makefile hl/c++/examples/run-hlc++-ex.sh hl/fortran/Makefile hl/fortran/src/Makefile hl/fortran/test/Makefile hl/fortran/examples/Makefile hl/fortran/examples/run-hlfortran-ex.sh"
ac_config_files="$ac_config_files src/libhdf5.settings Makefile src/Makefile test/Makefile test/testcheck_version.sh test/testerror.sh test/H5srcdir_str.h test/testlibinfo.sh test/testlinks_env.sh test/test_plugin.sh testpar/Makefile testpar/testph5.sh perform/Makefile tools/Makefile tools/h5dump/Makefile tools/h5dump/testh5dump.sh tools/h5dump/testh5dumppbits.sh tools/h5dump/testh5dumpxml.sh tools/h5ls/testh5ls.sh tools/h5import/Makefile tools/h5import/h5importtestutil.sh tools/h5diff/Makefile tools/h5diff/testh5diff.sh tools/h5diff/testph5diff.sh tools/h5jam/Makefile tools/h5jam/testh5jam.sh tools/h5repack/Makefile tools/h5repack/h5repack.sh tools/h5ls/Makefile tools/h5copy/Makefile tools/h5copy/testh5copy.sh tools/lib/Makefile tools/misc/Makefile tools/misc/h5cc tools/misc/testh5mkgrp.sh tools/misc/testh5repart.sh tools/h5stat/testh5stat.sh tools/h5stat/Makefile examples/Makefile examples/run-c-ex.sh examples/testh5cc.sh c++/Makefile c++/src/Makefile c++/src/h5c++ c++/test/Makefile c++/test/H5srcdir_str.h c++/examples/Makefile c++/examples/run-c++-ex.sh c++/examples/testh5c++.sh fortran/Makefile fortran/src/h5fc fortran/src/Makefile fortran/test/Makefile fortran/testpar/Makefile fortran/examples/Makefile fortran/examples/run-fortran-ex.sh fortran/examples/testh5fc.sh hl/Makefile hl/src/Makefile hl/test/Makefile hl/test/H5srcdir_str.h hl/tools/Makefile hl/tools/gif2h5/Makefile hl/tools/gif2h5/h52giftest.sh hl/examples/Makefile hl/examples/run-hlc-ex.sh hl/c++/Makefile hl/c++/src/Makefile hl/c++/test/Makefile hl/c++/examples/Makefile hl/c++/examples/run-hlc++-ex.sh hl/fortran/Makefile hl/fortran/src/Makefile hl/fortran/test/Makefile hl/fortran/examples/Makefile hl/fortran/examples/run-hlfortran-ex.sh"
cat >confcache <<\_ACEOF
@ -31387,6 +31402,10 @@ if test -z "${CXX_SHARED_CONDITIONAL_TRUE}" && test -z "${CXX_SHARED_CONDITIONAL
as_fn_error $? "conditional \"CXX_SHARED_CONDITIONAL\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${HAVE_SHARED_CONDITIONAL_TRUE}" && test -z "${HAVE_SHARED_CONDITIONAL_FALSE}"; then
as_fn_error $? "conditional \"HAVE_SHARED_CONDITIONAL\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${BUILD_SHARED_SZIP_CONDITIONAL_TRUE}" && test -z "${BUILD_SHARED_SZIP_CONDITIONAL_FALSE}"; then
as_fn_error $? "conditional \"BUILD_SHARED_SZIP_CONDITIONAL\" was never defined.
@ -32485,7 +32504,6 @@ do
"test/testlibinfo.sh") CONFIG_FILES="$CONFIG_FILES test/testlibinfo.sh" ;;
"test/testlinks_env.sh") CONFIG_FILES="$CONFIG_FILES test/testlinks_env.sh" ;;
"test/test_plugin.sh") CONFIG_FILES="$CONFIG_FILES test/test_plugin.sh" ;;
"test/plugin_lib/Makefile") CONFIG_FILES="$CONFIG_FILES test/plugin_lib/Makefile" ;;
"testpar/Makefile") CONFIG_FILES="$CONFIG_FILES testpar/Makefile" ;;
"testpar/testph5.sh") CONFIG_FILES="$CONFIG_FILES testpar/testph5.sh" ;;
"perform/Makefile") CONFIG_FILES="$CONFIG_FILES perform/Makefile" ;;

View File

@ -1036,6 +1036,11 @@ AC_LIBTOOL_WIN32_DLL
LT_PREREQ([2.2])
LT_INIT([dlopen])
## ----------------------------------------------------------------------
## Set a macro if shared library is enabled.
##
AM_CONDITIONAL([HAVE_SHARED_CONDITIONAL], [test "X$enable_shared" = "Xyes"])
## ----------------------------------------------------------------------
## Check if we should install only statically linked executables.
## This check needs to occur after libtool is initialized because
@ -4446,7 +4451,6 @@ AC_CONFIG_FILES([src/libhdf5.settings
test/testlibinfo.sh
test/testlinks_env.sh
test/test_plugin.sh
test/plugin_lib/Makefile
testpar/Makefile
testpar/testph5.sh
perform/Makefile

View File

@ -158,9 +158,9 @@ am_libhdf5_la_OBJECTS = H5.lo H5checksum.lo H5dbg.lo H5system.lo \
H5Orefcount.lo H5Osdspace.lo H5Oshared.lo H5Ostab.lo \
H5Oshmesg.lo H5Otest.lo H5Ounknown.lo H5P.lo H5Pacpl.lo \
H5Pdapl.lo H5Pdcpl.lo H5Pdeprec.lo H5Pdxpl.lo H5Pencdec.lo \
H5Pfapl.lo H5Pfcpl.lo H5Pfmpl.lo H5Pgcpl.lo H5Pint.lo H5PL.lo \
H5Pfapl.lo H5Pfcpl.lo H5Pfmpl.lo H5Pgcpl.lo H5Pint.lo \
H5Plapl.lo H5Plcpl.lo H5Pocpl.lo H5Pocpypl.lo H5Pstrcpl.lo \
H5Ptest.lo H5R.lo H5Rdeprec.lo H5RC.lo H5RS.lo H5S.lo \
H5Ptest.lo H5PL.lo H5R.lo H5Rdeprec.lo H5RC.lo H5RS.lo H5S.lo \
H5Sall.lo H5Sdbg.lo H5Shyper.lo H5Smpio.lo H5Snone.lo \
H5Spoint.lo H5Sselect.lo H5Stest.lo H5SL.lo H5SM.lo \
H5SMbtree2.lo H5SMcache.lo H5SMmessage.lo H5SMtest.lo H5ST.lo \
@ -585,8 +585,9 @@ libhdf5_la_SOURCES = H5.c H5checksum.c H5dbg.c H5system.c H5timer.c H5trace.c \
H5P.c H5Pacpl.c H5Pdapl.c H5Pdcpl.c \
H5Pdeprec.c H5Pdxpl.c H5Pencdec.c \
H5Pfapl.c H5Pfcpl.c H5Pfmpl.c \
H5Pgcpl.c H5Pint.c H5PL.c \
H5Pgcpl.c H5Pint.c \
H5Plapl.c H5Plcpl.c H5Pocpl.c H5Pocpypl.c H5Pstrcpl.c H5Ptest.c \
H5PL.c \
H5R.c H5Rdeprec.c \
H5RC.c \
H5RS.c \
@ -614,7 +615,9 @@ include_HEADERS = hdf5.h H5api_adpt.h H5overflow.h H5pubconf.h H5public.h H5vers
H5FDfamily.h H5FDlog.h H5FDmpi.h H5FDmpio.h H5FDmpiposix.h \
H5FDmulti.h H5FDsec2.h H5FDstdio.h \
H5Gpublic.h H5Ipublic.h H5Lpublic.h \
H5MMpublic.h H5Opublic.h H5PLpublic.h H5Ppublic.h H5Rpublic.h H5Spublic.h \
H5MMpublic.h H5Opublic.h H5Ppublic.h \
H5PLpublic.h \
H5Rpublic.h H5Spublic.h \
H5Tpublic.h H5Zpublic.h

View File

@ -24,10 +24,15 @@ include $(top_srcdir)/config/commence.am
INCLUDES=-I$(top_srcdir)/src -I$(top_builddir)/src
# Test script for error_test and err_compat
TEST_SCRIPT = testerror.sh testlibinfo.sh testcheck_version.sh testlinks_env.sh test_plugin.sh
check_SCRIPTS = $(TEST_SCRIPT)
SCRIPT_DEPEND = error_test$(EXEEXT) err_compat$(EXEEXT) links_env$(EXEEXT) plugin$(EXEEXT)
if HAVE_SHARED_CONDITIONAL
TEST_SCRIPT = testerror.sh testlibinfo.sh testcheck_version.sh testlinks_env.sh test_plugin.sh
SCRIPT_DEPEND = error_test$(EXEEXT) err_compat$(EXEEXT) links_env$(EXEEXT) plugin$(EXEEXT)
else
TEST_SCRIPT = testerror.sh testlibinfo.sh testcheck_version.sh testlinks_env.sh
SCRIPT_DEPEND = error_test$(EXEEXT) err_compat$(EXEEXT) links_env$(EXEEXT)
endif
check_SCRIPTS = $(TEST_SCRIPT)
# These are our main targets. They should be listed in the order to be
# executed, generally most specific tests to least specific tests.
@ -50,8 +55,11 @@ TEST_PROG= testhdf5 lheap ohdr stab gheap cache cache_api cache_tagging \
# 'make check' doesn't run them directly, so they are not included in TEST_PROG.
# Also build testmeta, which is used for timings test. It builds quickly,
# and this lets automake keep all its test programs in one place.
check_PROGRAMS=$(TEST_PROG) error_test err_compat tcheck_version testmeta links_env plugin
if HAVE_SHARED_CONDITIONAL
check_PROGRAMS=$(TEST_PROG) error_test err_compat tcheck_version testmeta links_env plugin
else
check_PROGRAMS=$(TEST_PROG) error_test err_compat tcheck_version testmeta links_env
endif
# These programs generate test files for the tests. They don't need to be
# compiled every time we want to test the library. However, putting
@ -69,8 +77,19 @@ if BUILD_ALL_CONDITIONAL
noinst_PROGRAMS=$(BUILD_ALL_PROGS)
endif
# The libh5test library provides common support code for the tests.
noinst_LTLIBRARIES=libh5test.la
if HAVE_SHARED_CONDITIONAL
# The libh5test library provides common support code for the tests.
noinst_LTLIBRARIES=libh5test.la libdynlib1.la
# The libdynlib1 library for testing plugin module plugin.c.
# Build it as shared library if configure is enabled for shared library.
libdynlib1_la_SOURCES=dynlib1.c
libdynlib1_la_LDFLAGS=-rpath /tmp
else
# The libh5test library provides common support code for the tests.
noinst_LTLIBRARIES=libh5test.la
endif
libh5test_la_SOURCES=h5test.c testframe.c cache_common.c
# Use libhd5test.la to compile all of the tests
@ -120,7 +139,7 @@ CHECK_CLEANFILES+=accum.h5 cmpd_dset.h5 compact_dataset.h5 dataset.h5 dset_offse
tmisc[0-9]*.h5 set_extent[1-5].h5 ext[12].bin \
getname.h5 getname[1-3].h5 sec2_file.h5 direct_file.h5 \
family_file000[0-3][0-9].h5 new_family_v16_000[0-3][0-9].h5 \
multi_file-[rs].h5 core_file \
multi_file-[rs].h5 core_file plugin.h5 \
new_move_[ab].h5 ntypes.h5 dangle.h5 error_test.h5 err_compat.h5 \
dtransform.h5 test_filters.h5 get_file_name.h5 tstint[1-2].h5 \
unlink_chunked.h5 btree2.h5 objcopy_src.h5 objcopy_dst.h5 \
@ -128,7 +147,7 @@ CHECK_CLEANFILES+=accum.h5 cmpd_dset.h5 compact_dataset.h5 dataset.h5 dset_offse
earray.h5 efc[0-5].h5 log_vfd_out.log \
new_multi_file_v16-r.h5 new_multi_file_v16-s.h5 \
split_get_file_image_test-m.h5 split_get_file_image_test-r.h5 \
file_image_core_test.h5.copy plugin.h5
file_image_core_test.h5.copy
# Sources for testhdf5 executable
testhdf5_SOURCES=testhdf5.c tarray.c tattr.c tchecksum.c tconfig.c tfile.c \

View File

@ -75,9 +75,19 @@ DIST_COMMON = $(srcdir)/H5srcdir_str.h.in $(srcdir)/Makefile.am \
$(top_srcdir)/bin/depcomp $(top_srcdir)/bin/mkinstalldirs \
$(top_srcdir)/config/commence.am \
$(top_srcdir)/config/conclude.am COPYING
check_PROGRAMS = $(am__EXEEXT_1) error_test$(EXEEXT) \
err_compat$(EXEEXT) tcheck_version$(EXEEXT) testmeta$(EXEEXT) \
links_env$(EXEEXT) plugin$(EXEEXT)
@HAVE_SHARED_CONDITIONAL_FALSE@check_PROGRAMS = $(am__EXEEXT_1) \
@HAVE_SHARED_CONDITIONAL_FALSE@ error_test$(EXEEXT) \
@HAVE_SHARED_CONDITIONAL_FALSE@ err_compat$(EXEEXT) \
@HAVE_SHARED_CONDITIONAL_FALSE@ tcheck_version$(EXEEXT) \
@HAVE_SHARED_CONDITIONAL_FALSE@ testmeta$(EXEEXT) \
@HAVE_SHARED_CONDITIONAL_FALSE@ links_env$(EXEEXT)
@HAVE_SHARED_CONDITIONAL_TRUE@check_PROGRAMS = $(am__EXEEXT_1) \
@HAVE_SHARED_CONDITIONAL_TRUE@ error_test$(EXEEXT) \
@HAVE_SHARED_CONDITIONAL_TRUE@ err_compat$(EXEEXT) \
@HAVE_SHARED_CONDITIONAL_TRUE@ tcheck_version$(EXEEXT) \
@HAVE_SHARED_CONDITIONAL_TRUE@ testmeta$(EXEEXT) \
@HAVE_SHARED_CONDITIONAL_TRUE@ links_env$(EXEEXT) \
@HAVE_SHARED_CONDITIONAL_TRUE@ plugin$(EXEEXT)
@BUILD_ALL_CONDITIONAL_TRUE@noinst_PROGRAMS = $(am__EXEEXT_2)
TESTS = $(am__EXEEXT_1) $(TEST_SCRIPT)
subdir = test
@ -91,13 +101,23 @@ CONFIG_CLEAN_FILES = testcheck_version.sh testerror.sh H5srcdir_str.h \
testlibinfo.sh testlinks_env.sh test_plugin.sh
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libh5test_la_LIBADD =
am_libh5test_la_OBJECTS = h5test.lo testframe.lo cache_common.lo
libh5test_la_OBJECTS = $(am_libh5test_la_OBJECTS)
libdynlib1_la_LIBADD =
am__libdynlib1_la_SOURCES_DIST = dynlib1.c
@HAVE_SHARED_CONDITIONAL_TRUE@am_libdynlib1_la_OBJECTS = dynlib1.lo
libdynlib1_la_OBJECTS = $(am_libdynlib1_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
libdynlib1_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libdynlib1_la_LDFLAGS) $(LDFLAGS) -o $@
@HAVE_SHARED_CONDITIONAL_TRUE@am_libdynlib1_la_rpath =
libh5test_la_LIBADD =
am_libh5test_la_OBJECTS = h5test.lo testframe.lo cache_common.lo
libh5test_la_OBJECTS = $(am_libh5test_la_OBJECTS)
@HAVE_SHARED_CONDITIONAL_FALSE@am_libh5test_la_rpath =
@HAVE_SHARED_CONDITIONAL_TRUE@am_libh5test_la_rpath =
am__EXEEXT_1 = testhdf5$(EXEEXT) lheap$(EXEEXT) ohdr$(EXEEXT) \
stab$(EXEEXT) gheap$(EXEEXT) cache$(EXEEXT) cache_api$(EXEEXT) \
cache_tagging$(EXEEXT) pool$(EXEEXT) accum$(EXEEXT) \
@ -469,7 +489,25 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(libh5test_la_SOURCES) accum.c app_ref.c big.c bittests.c \
SOURCES = $(libdynlib1_la_SOURCES) $(libh5test_la_SOURCES) accum.c \
app_ref.c big.c bittests.c btree2.c cache.c cache_api.c \
cache_tagging.c cmpd_dset.c cross_read.c dangle.c dsets.c \
dt_arith.c dtransform.c dtypes.c earray.c efc.c \
enc_dec_plist.c enc_dec_plist_with_endianess.c enum.c \
err_compat.c error_test.c extend.c external.c farray.c fheap.c \
file_image.c fillval.c filter_fail.c flush1.c flush2.c \
freespace.c gen_bad_ohdr.c gen_bogus.c gen_cross.c \
gen_deflate.c gen_file_image.c gen_filespace.c gen_filters.c \
gen_new_array.c gen_new_fill.c gen_new_group.c gen_new_mtime.c \
gen_new_super.c gen_noencoder.c gen_nullspace.c gen_plist.c \
gen_sizes_lheap.c gen_specmetaread.c gen_udlinks.c getname.c \
gheap.c hyperslab.c istore.c lheap.c links.c links_env.c mf.c \
mount.c mtime.c ntypes.c objcopy.c ohdr.c plugin.c pool.c \
reserved.c set_extent.c space_overflow.c stab.c \
tcheck_version.c $(testhdf5_SOURCES) testmeta.c \
$(ttsafe_SOURCES) unlink.c vfd.c
DIST_SOURCES = $(am__libdynlib1_la_SOURCES_DIST) \
$(libh5test_la_SOURCES) accum.c app_ref.c big.c bittests.c \
btree2.c cache.c cache_api.c cache_tagging.c cmpd_dset.c \
cross_read.c dangle.c dsets.c dt_arith.c dtransform.c dtypes.c \
earray.c efc.c enc_dec_plist.c enc_dec_plist_with_endianess.c \
@ -485,23 +523,6 @@ SOURCES = $(libh5test_la_SOURCES) accum.c app_ref.c big.c bittests.c \
reserved.c set_extent.c space_overflow.c stab.c \
tcheck_version.c $(testhdf5_SOURCES) testmeta.c \
$(ttsafe_SOURCES) unlink.c vfd.c
DIST_SOURCES = $(libh5test_la_SOURCES) accum.c app_ref.c big.c \
bittests.c btree2.c cache.c cache_api.c cache_tagging.c \
cmpd_dset.c cross_read.c dangle.c dsets.c dt_arith.c \
dtransform.c dtypes.c earray.c efc.c enc_dec_plist.c \
enc_dec_plist_with_endianess.c enum.c err_compat.c \
error_test.c extend.c external.c farray.c fheap.c file_image.c \
fillval.c filter_fail.c flush1.c flush2.c freespace.c \
gen_bad_ohdr.c gen_bogus.c gen_cross.c gen_deflate.c \
gen_file_image.c gen_filespace.c gen_filters.c gen_new_array.c \
gen_new_fill.c gen_new_group.c gen_new_mtime.c gen_new_super.c \
gen_noencoder.c gen_nullspace.c gen_plist.c gen_sizes_lheap.c \
gen_specmetaread.c gen_udlinks.c getname.c gheap.c hyperslab.c \
istore.c lheap.c links.c links_env.c mf.c mount.c mtime.c \
ntypes.c objcopy.c ohdr.c plugin.c pool.c reserved.c \
set_extent.c space_overflow.c stab.c tcheck_version.c \
$(testhdf5_SOURCES) testmeta.c $(ttsafe_SOURCES) unlink.c \
vfd.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@ -815,21 +836,22 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog accum.h5 cmpd_dset.h5 \
tmisc[0-9]*.h5 set_extent[1-5].h5 ext[12].bin getname.h5 \
getname[1-3].h5 sec2_file.h5 direct_file.h5 \
family_file000[0-3][0-9].h5 new_family_v16_000[0-3][0-9].h5 \
multi_file-[rs].h5 core_file new_move_[ab].h5 ntypes.h5 \
dangle.h5 error_test.h5 err_compat.h5 dtransform.h5 \
multi_file-[rs].h5 core_file plugin.h5 new_move_[ab].h5 \
ntypes.h5 dangle.h5 error_test.h5 err_compat.h5 dtransform.h5 \
test_filters.h5 get_file_name.h5 tstint[1-2].h5 \
unlink_chunked.h5 btree2.h5 objcopy_src.h5 objcopy_dst.h5 \
objcopy_ext.dat trefer1.h5 trefer2.h5 app_ref.h5 farray.h5 \
earray.h5 efc[0-5].h5 log_vfd_out.log new_multi_file_v16-r.h5 \
new_multi_file_v16-s.h5 split_get_file_image_test-m.h5 \
split_get_file_image_test-r.h5 file_image_core_test.h5.copy \
plugin.h5
split_get_file_image_test-r.h5 file_image_core_test.h5.copy
INCLUDES = -I$(top_srcdir)/src -I$(top_builddir)/src
@HAVE_SHARED_CONDITIONAL_FALSE@TEST_SCRIPT = testerror.sh testlibinfo.sh testcheck_version.sh testlinks_env.sh
# Test script for error_test and err_compat
TEST_SCRIPT = testerror.sh testlibinfo.sh testcheck_version.sh testlinks_env.sh test_plugin.sh
@HAVE_SHARED_CONDITIONAL_TRUE@TEST_SCRIPT = testerror.sh testlibinfo.sh testcheck_version.sh testlinks_env.sh test_plugin.sh
@HAVE_SHARED_CONDITIONAL_FALSE@SCRIPT_DEPEND = error_test$(EXEEXT) err_compat$(EXEEXT) links_env$(EXEEXT)
@HAVE_SHARED_CONDITIONAL_TRUE@SCRIPT_DEPEND = error_test$(EXEEXT) err_compat$(EXEEXT) links_env$(EXEEXT) plugin$(EXEEXT)
check_SCRIPTS = $(TEST_SCRIPT)
SCRIPT_DEPEND = error_test$(EXEEXT) err_compat$(EXEEXT) links_env$(EXEEXT) plugin$(EXEEXT)
# These are our main targets. They should be listed in the order to be
# executed, generally most specific tests to least specific tests.
@ -859,9 +881,10 @@ BUILD_ALL_PROGS = gen_bad_ohdr gen_bogus gen_cross gen_deflate gen_filters gen_n
gen_nullspace gen_udlinks space_overflow gen_filespace gen_specmetaread \
gen_sizes_lheap gen_file_image gen_plist
# The libh5test library provides common support code for the tests.
noinst_LTLIBRARIES = libh5test.la
@HAVE_SHARED_CONDITIONAL_FALSE@noinst_LTLIBRARIES = libh5test.la
@HAVE_SHARED_CONDITIONAL_TRUE@noinst_LTLIBRARIES = libh5test.la libdynlib1.la
@HAVE_SHARED_CONDITIONAL_TRUE@libdynlib1_la_SOURCES = dynlib1.c
@HAVE_SHARED_CONDITIONAL_TRUE@libdynlib1_la_LDFLAGS = -rpath /tmp
libh5test_la_SOURCES = h5test.c testframe.c cache_common.c
# Use libhd5test.la to compile all of the tests
@ -961,8 +984,10 @@ clean-noinstLTLIBRARIES:
echo rm -f $${locs}; \
rm -f $${locs}; \
}
libdynlib1.la: $(libdynlib1_la_OBJECTS) $(libdynlib1_la_DEPENDENCIES) $(EXTRA_libdynlib1_la_DEPENDENCIES)
$(AM_V_CCLD)$(libdynlib1_la_LINK) $(am_libdynlib1_la_rpath) $(libdynlib1_la_OBJECTS) $(libdynlib1_la_LIBADD) $(LIBS)
libh5test.la: $(libh5test_la_OBJECTS) $(libh5test_la_DEPENDENCIES) $(EXTRA_libh5test_la_DEPENDENCIES)
$(AM_V_CCLD)$(LINK) $(libh5test_la_OBJECTS) $(libh5test_la_LIBADD) $(LIBS)
$(AM_V_CCLD)$(LINK) $(am_libh5test_la_rpath) $(libh5test_la_OBJECTS) $(libh5test_la_LIBADD) $(LIBS)
clean-checkPROGRAMS:
@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
@ -1229,6 +1254,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dt_arith.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dtransform.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dtypes.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynlib1.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earray.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/efc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/enc_dec_plist.Po@am__quote@
@ -1580,6 +1606,12 @@ uninstall-am:
help:
@$(top_srcdir)/bin/makehelp
@HAVE_SHARED_CONDITIONAL_TRUE@ # The libh5test library provides common support code for the tests.
@HAVE_SHARED_CONDITIONAL_TRUE@ # The libdynlib1 library for testing plugin module plugin.c.
@HAVE_SHARED_CONDITIONAL_TRUE@ # Build it as shared library if configure is enabled for shared library.
@HAVE_SHARED_CONDITIONAL_FALSE@ # The libh5test library provides common support code for the tests.
# Additional target for running timing test
timings _timings: testmeta
@for timing in $(TIMINGS) dummy; do \

93
test/dynlib1.c Normal file
View File

@ -0,0 +1,93 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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 files COPYING and Copyright.html. COPYING can be found at the root *
* of the source code distribution tree; Copyright.html can be found at the *
* root level of an installed copy of the electronic HDF5 document set and *
* is linked from the top-level documents page. It can also be found at *
* http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
* Programmer: Raymond Lu
* 13 February 2013
*
* Purpose: Tests the plugin module (H5PL)
*/
#include <stdlib.h>
#include <stdio.h>
#include <hdf5.h>
static size_t H5Z_filter_dynlib1(unsigned int flags, size_t cd_nelmts,
const unsigned int *cd_values, size_t nbytes, size_t *buf_size, void **buf);
/* This message derives from H5Z */
const H5Z_class2_t H5Z_DYNLIB1[1] = {{
H5Z_CLASS_T_VERS, /* H5Z_class_t version */
H5Z_FILTER_DYNLIB1, /* Filter id number */
1, 1, /* Encoding and decoding enabled */
"dynlib1", /* Filter name for debugging */
NULL, /* The "can apply" callback */
NULL, /* The "set local" callback */
(H5Z_func_t)H5Z_filter_dynlib1, /* The actual filter function */
}};
const H5PL_type_t H5PL_get_plugin_type(void) {return H5PL_TYPE_FILTER;}
const H5Z_class2_t* H5PL_get_plugin_info(void) {return H5Z_DYNLIB1;}
/*-------------------------------------------------------------------------
* Function: H5Z_filter_dynlib1
*
* Purpose: A dynlib1 compression method that doesn't do anything.
*
* Return: Success: Data chunk size
*
* Failure: 0
*
* Programmer: Robb Matzke
* Tuesday, April 21, 1998
*
*-------------------------------------------------------------------------
*/
static size_t
H5Z_filter_dynlib1(unsigned int flags, size_t cd_nelmts,
const unsigned int *cd_values, size_t nbytes,
size_t *buf_size, void **buf)
{
int *int_ptr=(int *)*buf; /* Pointer to the data values */
size_t buf_left=*buf_size; /* Amount of data buffer left to process */
int add_on = 0;
/* Check for the correct number of parameters */
if(cd_nelmts==0)
return(0);
/* Check that permanent parameters are set correctly */
if(cd_values[0]<0 || cd_values[0]>9)
return(0);
add_on = cd_values[0];
if(flags & H5Z_FLAG_REVERSE) { /*read*/
/* Substract the "add on" value to all the data values */
while(buf_left>0) {
*int_ptr++ -= add_on;
buf_left -= sizeof(int);
} /* end while */
} /* end if */
else { /*write*/
/* Add the "add on" value to all the data values */
while(buf_left>0) {
*int_ptr++ += add_on;
buf_left -= sizeof(int);
} /* end while */
} /* end else */
return nbytes;
}

View File

@ -30,20 +30,12 @@ DEPRECATED_SYMBOLS="@DEPRECATED_SYMBOLS@"
nerrors=0
verbose=yes
#test -d ./plugin_lib
MAKE_CMD=make
CD=cd
TEST_NAME=plugin
TEST_BIN=`pwd`/$TEST_NAME
ENVCMD="env HDF5_PLUGIN_PATH=`pwd`/plugin_lib"
ENVCMD="env HDF5_PLUGIN_PATH=`pwd`/.libs"
# Run the test
$CD ./plugin_lib
echo "$MAKE_CMD"
$MAKE_CMD
$CD ../
$ENVCMD $TEST_BIN
echo "$HDF5_PLUGIN_PATH"
# Print a line-line message left justified in a field of 70 characters
# beginning with the word "Testing".