Add some additional tests for reading non-contiguous selections from
datasets which haven't had any data written to them (both non-VL and VL
datatype fill values covered)
Tested on:
Mac OS X/32 10.4.9 (amazon)
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
company. The I/O is optimized when the source and destination
members are a subset of each other one way or another, and
the order is the same, and no conversion is needed. For example:
struct source { struct destination {
TYPE1 A; --> TYPE1 A;
TYPE2 B; --> TYPE2 B;
TYPE3 C; --> TYPE3 C;
}; TYPE4 D;
TYPE5 E;
};
or
struct destination { struct source {
TYPE1 A; --> TYPE1 A;
TYPE2 B; --> TYPE2 B;
TYPE3 C; --> TYPE3 C;
}; TYPE4 D;
TYPE5 E;
};
The optimization is simply moving data from the source to the
appropriate places in the buffer and bypass the reading of
the background data and data conversion.
Tested on smirom, liberty, sol, and copper.
Description:
Bring the expected output for the C++ examples up-to-date. This file is used in the Windows test script. It is also used by ./c++/examples/testexamples.sh, although this script is never run by hand. 'make check' runs the script generated by testh5c++.sh.in, which doesn't use expected.out.
Tested:
VS6 on WinXP
kagiso
Bug fix.
Description:
Test test_misc25b() open an existing test data file with RDWR unnecessarily.
(This was discovered during read-only test.)
Changed file open mode to RDONLY.
Tested platform:
Kagiso (readonly) only since it is a trivial change.
Description:
Removed sys/uio.h dependency, which was originally added to clean up compiler warnings. It is no longer needed, and needs to be removed to compile on mingw, which doesn't have this header.
Tested:
kagiso, duty, mingw
Changed macro names, conflict with new compiler
-- changed DATASET to H5_TOOLS_DATASET
-- changed DATATYPE to H5_TOOLS _DATATYPE
-- changed GROUP to H5_TOOLS_GROUP
In mingw's version of winsock2.h they define:
typedef unsigned int GROUP;
remove STORAGELAYOUT macro, it was not used
tested: linux
Description:
Changed a macro in H5FDwindows.c from IO_BUF_SIZE to a more specific WINDOWS_MAX_BUF, and moved it to our H5pubconf.h, where users can customize it to their own preference.
This value is needed because of a bug in the Windows _write function, it is unsafe to write buffers larger than 2GB-1 bytes in one write.
Tested:
VS2005 on WinXP.
Fix problems with 'check-vfd' target, that were [mostly] introduced with
the recent "unique, but sharable" ISOHM optimization.
The problems were mostly with using the 'core' VFD, so the
H5Pset_fapl_core() API call was changed to re-open existing files (therefore
operating more list the sec2, stdio, etc. VFDs). This allows many more of
the tests to run using the 'core' VFD, so those were enabled also.
Tested on:
Linux/64 2.6 (chicago2) w/check-vfd
Fix writing variable-length datatype fill values for contiguous dataset
storage
Tested on:
Mac OS X/32 10.4.9 (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
I've also updated our Windows documentation file to include 64-bit instructions. The process is fairly tedious right now, but we hope to make it more straight-forward when we depreciate 6.0 and re-work our project files.
Tested:
32-bit WinXP: VS6, VS.NET, and VS 2005
64-bit WinXP: VS.NET and VS 2005
Description: When the compiler has the __offsetof__ extension, the
H5_HAVE_OFFSETOF macro will be defined. When the compiler
does not have the extension, the macro will remain undefined.
Tested: kagiso
Also added a Windows-specific macro, WINDOWS_USE_STDIO, which users can define if they'd like the Windows VFD to use the buffered low-level I/O functions. This is instead of splitting our Windows driver into two separate drivers. By default, this macro is undefined.
Tested:
VS6 on WinXP
der /src. So when gmake check-install is run for HDF5 examples, it will fail. Th
e fix is to include a macro #ifdef H5_HAVE_WINDOW around #include H5FDwindows.h
so that H5FDwindows.h will only be included on windows, not on other platforms.
We've fixed with the same way for other source code that includes H5FDwindows.h.
This has been tested with h5committest. However, it takes a few hours to test all tests and except kagiso. Tests on linew and smirom cannot finish. It takes forever for the fheap test.
And for parallel test at kagiso, ph5diff test seems to be hanged. I think all of our changes will only affect windows. So in order not to block other developers to check in their code, we just go ahead to check our changes.
Kent Yang
Hook "default VFD" configure macros into library.
Also, make "default VFD" default to sec2 instead of nothing.
Tested on:
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Mac OS X/32 10.4.9 (amazon)
Description: this flag will define the macro H5_DEFAULT_VFD in src/pubconf.h
and set it to be either H5FD_SEC2 or H5FD_STDIO, depending on the
value set with the configuration flag (either sec2 or stdio).
Tested: kagiso, smirom, linew
Fix compact dataset storage to initialize VL datatype fill values
correctly.
Also, fix bug in global heap code when the fix action on a global
heap is to delete an object in a heap with no free space.
Tested on:
Mac OS X/32 10.4.9 (amazon)
FreeBSD/32 6.2 (duty)
Add a little more information to the debugging routine, for VL datatypes.
Minor code cleanups
Tested on:
Mac OS X/32 10.4.9 (duty)
Too minor to require h5committest
Description: a new configure flag has been created that will now set a macro
in the test/Makefile. The flag is with-default-vfd=. When set to
a virtual file driver (e.g. "--with-default-vfd=sec2"), the macro
DEFAULT_VFD will hold this value.
Tested: kagiso, smirom, linew
file size from MPI_File_get_size. Bypass this problem by replacing it with
stat. Add an option --disable-mpi-size in configure to indicate this function
doesn't work properly. Add a test in testpar/t_mpi.c, too. If it returns wrong
file size, print out a warning.
Tested on kagiso (parallel) because already tested the same change to v1.6 on
several platforms (kagiso, cobalt, copper, and sol).
Close another memory leak for VL fill values, and clean up some
temporary data structures on error.
Tested on:
FreeBSD/32 6.2 (duty)
Mac OS X/32 10.4.9 (amazon)
Incremental step forward in fixing problems with fill values that have
a variable-length daattype. This set of changes fixes problems with the copying
the property list values.
tested Tn:
Mac OS X/32 10.4.9 (amazon)
Fixed a bug at copying shared reg_ref attribute. The ref values of an attribute
was not writen in file. The post_copy_file() at H5Oattr.c only updates the value
in memory.
To fix the problem, we added H5O_shared_post_copy_file(), which delete the attribute
in file (with the incorrect value) and create an new attribute with the correct values.
I added the following functions:
H5Oshared.c:H5O_shared_post_copy_file(H5F_t *f, hid_t dxpl_id, H5O_t *oh, void *mesg);
H5Oshared.h: H5O_SHARED_POST_COPY_FILE
and modified the following files to include shared_post_copy_file()
H5Oattr.c
H5Odtype.c
H5Ofill.c
H5Opline.c
H5Osdspace.c
1) Back out last check in (forget to include the memory leak fix in compare_datasets())
2) Break the infinite loop when the ref_object points to itself at compare_data()
The test scripts did not take in account that the binary has been installed
somewhere other than the original prefix. Added a provision to allow
explicit definition of $prefix to work.
Tested:
kagiso.