mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-01 16:28:09 +08:00
Bug fix Description: Correct two problems with variable-length datatypes in datasets: - When overwriting an entire dataset, writing the fill value to the file would be skipped, causing problems for VL datatypes when objects in the file had been unlinked (and thus the space in the file was not all zeros) - When an application has set a fill-value for a dataset and the dataset's datatype contained a VL datatype, the library was filling space on disk with the memory form of the VL information, instead of the disk form. Platforms tested: FreeBSD 4.9 (sleipnir) h5committest
234 lines
9.1 KiB
Makefile
234 lines
9.1 KiB
Makefile
##
|
|
## 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://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have
|
|
## access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu.
|
|
##
|
|
## HDF5 Library Test Makefile(.in)
|
|
##
|
|
top_srcdir=@top_srcdir@
|
|
top_builddir=..
|
|
srcdir=@srcdir@
|
|
@COMMENCE@
|
|
|
|
## Add include directory to the C preprocessor flags and the h5test and hdf5
|
|
## libraries to the library list.
|
|
CPPFLAGS=-I. -I$(srcdir) -I../src -I$(top_srcdir)/src @CPPFLAGS@
|
|
|
|
## Test script for error_test and err_compat
|
|
TEST_SCRIPTS=$(srcdir)/testerror.sh
|
|
|
|
## These are our main targets. They should be listed in the order to be
|
|
## executed, generally most specific tests to least specific tests.
|
|
TEST_PROGS=testhdf5 lheap ohdr stab gheap hyperslab istore bittests dtypes \
|
|
dsets cmpd_dset extend external links unlink big mtime fillval mount \
|
|
flush1 flush2 enum gass_write gass_read gass_append set_extent \
|
|
srb_write srb_append srb_read ttsafe stream_test getname file_handle \
|
|
ntypes dangle
|
|
|
|
## Test programs for Error API
|
|
ERR_PROGS=error_test err_compat
|
|
|
|
PROGS=$(ERR_PROGS) $(TEST_PROGS)
|
|
TIMINGS=testmeta
|
|
|
|
## The libh5test.a library provides common support code for the tests. We link
|
|
## this library statically because some systems can only link executables to
|
|
## a single shared library and libhdf5 is much bigger than libh5test.
|
|
LIBHDF5=../src/libhdf5.la
|
|
LIB=libh5test.la
|
|
LIB_SRC=h5test.c testframe.c
|
|
LIB_OBJ=$(LIB_SRC:.c=.lo)
|
|
PUB_LIB=
|
|
|
|
## Temporary files. These files are the ones created by setting the
|
|
## HDF5_NOCLEANUP environment variable and running `make test' without
|
|
## specifying a file prefix or low-level driver. Changing the file
|
|
## prefix or low-level driver with environment variables will influence
|
|
## the temporary file name in ways that the makefile is not aware of.
|
|
MOSTLYCLEAN=cmpd_dset.h5 compact_dataset.h5 dataset.h5 extend.h5 istore.h5 \
|
|
tfile[1-4].h5 th5s1.h5 lheap.h5 ohdr.h5 stab1.h5 \
|
|
stab2.h5 extern_[1-3].h5 extern_[1-4][ab].raw gheap[0-4].h5 \
|
|
links.h5 links[1-3].h5 big.data big[0-9][0-9][0-9][0-9][0-9].h5 \
|
|
dtypes[1-3].h5 tattr.h5 tselect.h5 mtime.h5 unlink.h5 \
|
|
fillval_[0-9].h5 fillval.raw mount_[0-9].h5 testmeta.h5 ttime.h5 \
|
|
trefer[1-3].h5 tvltypes.h5 tvlstr.h5 tvlstr2.h5 flush.h5 \
|
|
enum1.h5 titerate.h5 ttsafe.h5 tarray1.h5 tgenprop.h5 \
|
|
tmisc[0-9]*.h5 set_extent_read.h5 set_extent_create.h5 \
|
|
getname.h5 getname[1-3].h5 sec2_file.h5 \
|
|
family_file000[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
|
|
|
|
CLEAN=$(TIMINGS)
|
|
|
|
## Source and object files for programs... The TEST_SRC list contains all the
|
|
## source files and is used for things like dependencies, archiving, etc. The
|
|
## other source lists are for the individual tests, the files of which may
|
|
## overlap with other tests.
|
|
|
|
TEST_SRC=big.c bittests.c cmpd_dset.c dsets.c dtypes.c extend.c \
|
|
external.c fillval.c flush1.c flush2.c gheap.c h5test.c hyperslab.c \
|
|
istore.c lheap.c links.c mount.c mtime.c ohdr.c stab.c tarray.c \
|
|
tattr.c tconfig.c testframe.c testhdf5.c testmeta.c tfile.c \
|
|
tgenprop.c th5s.c theap.c titerate.c tmeta.c trefer.c trefstr.c \
|
|
tselect.c ttime.c ttbbt.c ttst.c tvltypes.c tvlstr.c tmisc.c \
|
|
unlink.c enum.c ttsafe.c ttsafe_dcreate.c ttsafe_error.c \
|
|
ttsafe_cancel.c ttsafe_acreate.c gass_write.c gass_read.c \
|
|
gass_append.c srb_read.c srb_write.c srb_append.c stream_test.c \
|
|
set_extent.c getname.c file_handle.c ntypes.c dangle.c error_test.c \
|
|
err_compat.c
|
|
|
|
TEST_OBJ=$(TEST_SRC:.c=.lo)
|
|
|
|
VFD_LIST=sec2 stdio core split multi family
|
|
|
|
## Private header files (not to be installed)...
|
|
PRIVATE_HDR=testhdf5.h ttsafe.h
|
|
|
|
## Additional targets
|
|
.PHONY: timings _timings
|
|
timings _timings: $(TIMINGS)
|
|
@for timing in $(TIMINGS) dummy; do \
|
|
if test $$timing != dummy; then \
|
|
echo "Running $$timing $(TEST_FLAGS)"; \
|
|
$(RUNTEST) ./$$timing $(TEST_FLAGS) || exit 1; \
|
|
fi; \
|
|
done;
|
|
|
|
## Programs have to be built before they can be tested!
|
|
##
|
|
check test _test: $(PROGS)
|
|
|
|
## How to build the tests... They all depend on the test and hdf5 libraries.
|
|
$(PROGS): $(LIB) $(LIBHDF5)
|
|
|
|
TESTHDF5_OBJ=testhdf5.lo tarray.lo tattr.lo tconfig.lo tfile.lo \
|
|
tgenprop.lo th5s.lo theap.lo titerate.lo tmeta.lo ttime.lo trefer.lo \
|
|
trefstr.lo tselect.lo ttbbt.lo ttst.lo tvltypes.lo tvlstr.lo tmisc.lo
|
|
|
|
TTS_OBJ=ttsafe.lo ttsafe_dcreate.lo ttsafe_error.lo \
|
|
ttsafe_cancel.lo ttsafe_acreate.lo
|
|
|
|
testhdf5: $(TESTHDF5_OBJ)
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ $(TESTHDF5_OBJ) $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
lheap: lheap.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ lheap.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
ohdr: ohdr.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ ohdr.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
stab: stab.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ stab.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
gheap: gheap.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ gheap.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
dsets: dsets.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ dsets.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
bittests: bittests.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ bittests.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
dtypes: dtypes.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ dtypes.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
hyperslab: hyperslab.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ hyperslab.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
istore: istore.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ istore.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
cmpd_dset: cmpd_dset.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ cmpd_dset.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
extend: extend.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ extend.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
external: external.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ external.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
big: big.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ big.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
links: links.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ links.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
mtime: mtime.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ mtime.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
unlink: unlink.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ unlink.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
fillval: fillval.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ fillval.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
mount: mount.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ mount.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
flush1: flush1.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ flush1.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
flush2: flush2.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ flush2.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
enum: enum.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ enum.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
ttsafe: $(TTS_OBJ)
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ $(TTS_OBJ) $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
gass_write: gass_write.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ gass_write.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
gass_read: gass_read.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ gass_read.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
gass_append: gass_append.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ gass_append.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
set_extent: set_extent.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ set_extent.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
srb_read: srb_read.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ srb_read.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
srb_write: srb_write.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ srb_write.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
srb_append: srb_append.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ srb_append.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
stream_test: stream_test.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ stream_test.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
testmeta: testmeta.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ testmeta.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
getname: getname.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ getname.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
file_handle: file_handle.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ file_handle.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
ntypes: ntypes.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ ntypes.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
dangle: dangle.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ dangle.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
error_test: error_test.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ error_test.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
err_compat: err_compat.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ err_compat.lo $(LIB) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
|
|
|
@CONCLUDE@
|