mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-02-17 16:10:24 +08:00
Bug Fix Description: Regression test for following bug: The H5Gget_objinfo() function was not setting the 'fileno' field in the H5G_stat_t struct passed in. Solution: Added a "file serial number" to each file currently open in the library and put that in the 'fileno' field. If a file is opened twice (with H5Fopen) and the VFL driver detects that it is the same file (i.e. the two file structures have the same "shared file info" in the library's memory structures), they will have the same serial number. This serial number has two drawbacks: - If a VFL driver doesn't/can't detect that two calls to H5Fopen with the same file actually _are_ the same file, each will get a different serial number - If the same file is closed and re-opened, the serial number will be different. It is be possible to fix the second drawback for many VFL drivers, but it would be a lot of effort and probably isn't worth it until we've got a good reason to do it. Dunno if we'll ever be able to fix the first drawback... Platforms tested: FreeBSD 4.5 (sleipnir) VS: ----------------------------------------------------------------------
194 lines
7.4 KiB
Makefile
194 lines
7.4 KiB
Makefile
## HDF5 Library Test Makefile(.in)
|
|
##
|
|
## Copyright (C) 1997, 2002
|
|
## National Center for Supercomputing Applications.
|
|
## All rights reserved.
|
|
##
|
|
##
|
|
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@
|
|
|
|
## These are our main targets. They should be listed in the order to be
|
|
## executed, generally most specific tests to least specific tests.
|
|
RUNTEST=$(LT_RUN)
|
|
|
|
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_extend \
|
|
srb_write srb_append srb_read ttsafe stream_test
|
|
|
|
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
|
|
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 dataset.h5 extend.h5 istore.h5 tfile1.h5 tfile2.h5 \
|
|
tfile3.h5 th5s1.h5 lheap.h5 ohdr.h5 stab1.h5 stab2.h5 \
|
|
extern_1.h5 extern_2.h5 extern_3.h5 extern_1a.raw extern_1b.raw \
|
|
extern_2a.raw extern_2b.raw extern_3a.raw extern_3b.raw \
|
|
extern_4a.raw extern_4b.raw gheap0.h5 gheap1.h5 gheap2.h5 \
|
|
gheap3.h5 gheap4.h5 links.h5 big.data \
|
|
big[0-9][0-9][0-9][0-9][0-9].h5 dtypes1.h5 dtypes2.h5 tattr.h5 \
|
|
tselect.h5 mtime.h5 unlink.h5 fillval_[0-9].h5 fillval.raw \
|
|
mount_[0-9].h5 testmeta.h5 ttime.h5 trefer[12].h5 tvltypes.h5 \
|
|
tvlstr.h5 flush.h5 enum1.h5 titerate.h5 ttsafe.h5 tarray1.h5 \
|
|
tgenprop.h5 tmisc.h5 tmisc2a.h5 tmisc2b.h5 tmisc3.h5 tmisc4a.h5 \
|
|
tmisc4b.h5 set_extend.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 testhdf5.c testmeta.c tfile.c tgenprop.c th5s.c \
|
|
titerate.c tmeta.c trefer.c tselect.c ttime.c ttbbt.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_extend.c
|
|
|
|
TEST_OBJ=$(TEST_SRC:.c=.lo)
|
|
|
|
## 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;
|
|
|
|
## How to build the tests... They all depend on the test and hdf5 libraries.
|
|
$(TEST_PROGS): $(LIB) $(LIBHDF5)
|
|
|
|
TESTHDF5_OBJ=testhdf5.lo tarray.lo tattr.lo tconfig.lo tfile.lo tgenprop.lo \
|
|
th5s.lo titerate.lo tmeta.lo ttime.lo trefer.lo tselect.lo ttbbt.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_extend: set_extend.lo
|
|
@$(LT_LINK_EXE) $(CFLAGS) -o $@ set_extend.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)
|
|
|
|
@CONCLUDE@
|
|
|