summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2010-09-16 20:01:08 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2010-09-16 20:01:08 (GMT)
commitf93f533fd5b1e1c998392d3c1ad95f65970ef5f3 (patch)
tree627c7fdc4e5525771dd4b1d40efc82104b1e583d /test
parentc561dc7183a5496efdbccd25a0fb2b31b6d9772d (diff)
downloadhdf5-f93f533fd5b1e1c998392d3c1ad95f65970ef5f3.zip
hdf5-f93f533fd5b1e1c998392d3c1ad95f65970ef5f3.tar.gz
hdf5-f93f533fd5b1e1c998392d3c1ad95f65970ef5f3.tar.bz2
[svn-r19402] Description:
Correct Bz#1968 (Problem when opening new format file with H5F_LIBVER_EARLIEST) by initializing symbol table leaf information in a more universal way. Also cleaned up other superblock initialization a little bit while I'm here. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, w/threadsafe, in production mode Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode Mac OS X/32 10.6.4 (amazon) in debug mode Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
Diffstat (limited to 'test')
-rw-r--r--test/Makefile.am2
-rw-r--r--test/Makefile.in2
-rw-r--r--test/tfile.c61
3 files changed, 63 insertions, 2 deletions
diff --git a/test/Makefile.am b/test/Makefile.am
index c4eb616..cef0165 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -108,7 +108,7 @@ CHECK_CLEANFILES+=cmpd_dset.h5 compact_dataset.h5 dataset.h5 dset_offset.h5 \
max_compact_dataset.h5 simple.h5 set_local.h5 random_chunks.h5 \
huge_chunks.h5 chunk_cache.h5 big_chunk.h5 chunk_expand.h5 \
copy_dcpl_newfile.h5 extend.h5 istore.h5 extlinks*.h5 frspace.h5 links*.h5 \
- sys_file1 tfile[1-4].h5 th5s[1-3].h5 lheap.h5 fheap.h5 ohdr.h5 \
+ sys_file1 tfile[1-5].h5 th5s[1-3].h5 lheap.h5 fheap.h5 ohdr.h5 \
stab.h5 extern_[1-3].h5 extern_[1-4][ab].raw gheap[0-4].h5 \
dt_arith[1-2] links.h5 links[0-6]*.h5 extlinks[0-15].h5 tmp \
big.data big[0-9][0-9][0-9][0-9][0-9].h5 \
diff --git a/test/Makefile.in b/test/Makefile.in
index 7d7d5bc..8f327dc 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -687,7 +687,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog cmpd_dset.h5 \
max_compact_dataset.h5 simple.h5 set_local.h5 random_chunks.h5 \
huge_chunks.h5 chunk_cache.h5 big_chunk.h5 chunk_expand.h5 \
copy_dcpl_newfile.h5 extend.h5 istore.h5 extlinks*.h5 \
- frspace.h5 links*.h5 sys_file1 tfile[1-4].h5 th5s[1-3].h5 \
+ frspace.h5 links*.h5 sys_file1 tfile[1-5].h5 th5s[1-3].h5 \
lheap.h5 fheap.h5 ohdr.h5 stab.h5 extern_[1-3].h5 \
extern_[1-4][ab].raw gheap[0-4].h5 dt_arith[1-2] links.h5 \
links[0-6]*.h5 extlinks[0-15].h5 tmp big.data \
diff --git a/test/tfile.c b/test/tfile.c
index 3a4674f..7939491 100644
--- a/test/tfile.c
+++ b/test/tfile.c
@@ -3054,6 +3054,66 @@ test_filespace_compatible(void)
/****************************************************************
**
+** test_libver_bounds():
+** Verify that a file created with "LATEST, LATEST" can be
+** opened later, with no setting. (Further testing welcome)
+**
+****************************************************************/
+static void
+test_libver_bounds(void)
+{
+ hid_t file, group; /* Handles */
+ hid_t fapl; /* File access property list */
+ herr_t ret; /* Return value */
+
+ /* Output message about test being performed */
+ MESSAGE(5, ("Testing setting library version bounds\n"));
+
+ /*
+ * Create a new file using the default properties.
+ */
+ fapl = H5Pcreate(H5P_FILE_ACCESS);
+ CHECK(fapl, FAIL, "H5Pcreate");
+
+ ret = H5Pset_libver_bounds(fapl, H5F_LIBVER_LATEST, H5F_LIBVER_LATEST);
+ CHECK(ret, FAIL, "H5Pset_libver_bounds");
+
+ file = H5Fcreate("tfile5.h5", H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
+ CHECK(file, FAIL, "H5Fcreate");
+
+ ret = H5Fclose(file);
+ CHECK(ret, FAIL, "H5Fclose");
+
+ ret = H5Pset_libver_bounds(fapl, H5F_LIBVER_EARLIEST, H5F_LIBVER_LATEST);
+ CHECK(ret, FAIL, "H5Pset_libver_bounds");
+
+ file = H5Fopen("tfile5.h5", H5F_ACC_RDWR, fapl);
+ CHECK(file, FAIL, "H5Fopen");
+
+ /*
+ * Create a group named "G1" in the file.
+ */
+ group = H5Gcreate2(file, "/G1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ CHECK(group, FAIL, "H5Gcreate");
+
+ ret = H5Gclose(group);
+ CHECK(ret, FAIL, "H5Gclose");
+
+ /*
+ * Create a group named "/G1/G3" in the file.
+ */
+ group = H5Gcreate2(file, "/G1/G3", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ CHECK(group, FAIL, "H5Gcreate");
+
+ ret = H5Gclose(group);
+ CHECK(ret, FAIL, "H5Gclose");
+
+ ret = H5Fclose(file);
+ CHECK(ret, FAIL, "H5Fclose");
+} /* test_libver_bounds() */
+
+/****************************************************************
+**
** test_deprec():
** Test deprecated functionality.
**
@@ -3231,6 +3291,7 @@ test_file(void)
test_filespace_sects(); /* Test file free space section information */
test_filespace_info(); /* Test file creation public routines:H5Pget/set_file_space */
test_filespace_compatible();/* Test compatibility for file space management */
+ test_libver_bounds(); /* Test compatibility for file space management */
#ifndef H5_NO_DEPRECATED_SYMBOLS
test_deprec(); /* Test deprecated routines */
#endif /* H5_NO_DEPRECATED_SYMBOLS */