summaryrefslogtreecommitdiffstats
path: root/tools/lib/h5diff.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r22639] HDFFV-8111: Remove special case shortcut and use normal path ↵Allen Byrne2012-08-071-214/+85
| | | | | | for comparing single objects. Merged from trunk
* [svn-r22619] Jonathan Kim2012-08-021-8/+0
| | | | | | | | | | | | | | | Purpose: HDFFV-8003 - ph5diff (parallel h5diff): daily test failure on ember intermittently during non comparable test file comparison HDFFV-7755 - parallel h5diff : hanging on koala intermittently during non comparable test file comparison Description: non-comparable test intermittently hung on koala and ember, but not on jam. it didn't occur until -np reaches 4 or bigger. it occurred once out of many repeated attempts of the same test. There was a incorrectly (mistakenly?) duplicated code in MPI section which caused such hang in a certain condition. The test used more processes than other tests, which increased chance to trigger more undone processes, and such process could enter the incorrect code section and wait for wrong pair of send. it explains why it occurred intermittently according to machine condition and using a certain feature. Removed incorrect code which blocked correct code. Merged from HDF5 trunk r22618. Tested: jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), some manually repeated test performed in parallel
* [svn-r22320] Purpose:Jonathan Kim2012-04-271-4/+4
| | | | | | | | | | | | | | | Fix for HDFFV-7998-h5diff: incorrect behavior and output for comparing symbolic dangling links without following-symlinks option Description: Fix not to check and display dangling link status without --follow-symlinks option. Berfor the fix, when comparing symbolic link to symbolic link without follow-symlinks option, h5diff followed to check if those links are dangling or not. It caused to display output incorrectly (dangling link instead of symbolic link). The fix also improved performance when comparing lots of symbolic links without the --follow-symlinks option. Test cases were added and tagged with jira#. This merged from HDF5 trunk r22319. Tested: jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Windows (32-LE cmake), cmake (jam)
* [svn-r22188] Purpose:Jonathan Kim2012-03-291-275/+101
| | | | | | | | | | | | | Fix for HDFFV-7644 GMQS: h5diff - incorrect behaviors when comparing HDF5 files with different type of objects (dataset, group, type) as common objects Description: Fixed failure for comparing same named object with different object types in comparing groups. (common object comparison) Prior to the fix, h5diff resulted in error. After the fix, h5diff detects such case as non-comparable and display messages accordingly. Test cases were added and tagged with jira#. Merged from HDF5 trunk 22176. Tested: jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake (jam)
* [svn-r22124] Purpose:Jonathan Kim2012-03-221-7/+12
| | | | | | | | | | | | | | | | Fix for HDFFV-7837 - h5diff: incorrect behavior with exclude-path option when unique object exist only in one file Description: If unique objects exists only in one file and try to exclude the unique objects with --exclude-path option, h5diff missed excluding some objects. Fixed to exclude objects correctly in such case. Test cases were added and tagged with jira#. Merged from HDF5 trunk r22114. Tested: jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Windows (32-LE cmake), Cmake (jam)
* [svn-r22057] Purpose:Jonathan Kim2012-03-121-20/+31
| | | | | | | | | | | | | | Fix for HDFFV-7835 h5diff: incorrect result for comparing the two same type symlinks as dangling links. Description: When two symbolic dangling links are compared with --follow-symlinks option, the result should be same. It works for comparing two files, but didn't work for comparing two objects. Test cases were added and tagged with jira#. Merged from HDF5 trunk r22038. Tested: jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Windows (32-LE cmake), Cmake (jam)
* [svn-r22013] HDFFV-7560:Allen Byrne2012-03-021-40/+40
| | | | | | | | | | Merge 1.8 and h5dump/tools and tests based on tools library from trunk. Reduced warnings. HDFFV-7949: Remove duplicated functions in h5ls Tested: local linux,h5committest
* [svn-r21892] Purpose:Jonathan Kim2012-01-251-11/+13
| | | | | | | | | | | | | | | | Fix for HDFFV-7836 h5diff: displays error stack message for comparing the two dangling symlink with follow-symlinks option Description: While ago, to improve performance, skipping same object checking (h5tools_is_obj_same()) was added. However the checking function doesn't understand about the dangling link and caused the issue. Since handling dangling link code section already implemented, move the checking function after handling dangling-links to address the problem. Test was added and tagged with jira#. Tested: jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Windows (32-LE cmake), Cmake (jam)
* [svn-r21404] Purpose:Jonathan Kim2011-09-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | HDFFV-7693 - h5diff produces different behavior between versions: 1.8.3 and 1.8.6 Description: There were two issues on this. One was not displaying all the comparable objects if non-comparable object/attribute exist and compared before comparables ones. This issue occurred after 1.8.4 release. This is the issue from user. The other issue was not displaying all the comparable attributes, if non-comparable object/attribute exist and compared ahead. This issue were exist even before 1.8.4 release. So it's possible some attribute comparison may have not displayed correctly in the past, if non-comparable data were exist in common object. Fixed h5diff to display all the comparable object and attribute regardless of non-comparables. Merged from HDF5 trunk r21396 and r21397. Tested: jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake (jam, Windows)
* [svn-r20794] Purpose:Jonathan Kim2011-05-101-38/+76
| | | | | | | | | | | | | HDFFV-5928 - GMQS: h5diff problem and improvement on comparsing the same objects Description: Merged from HDF5 trunk r20767. Improved performance by eliminating duplicated action for getting object information in half from the previous fixe when comparing group vs group. This is addition to the previous commit r20706. Tested: jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE)
* [svn-r20706] Purpose:Jonathan Kim2011-05-021-0/+66
| | | | | | | | | | | | | | | | | - HDFFV-5928 - GMQS: h5diff problem and improvement on comparsing the same objects Description: Merged from HDF5 trunk r20676. Fixed: 1) adding h5tools_is_obj_same() function to check if two given IDs or paths point to the same object. This function can be very useful for other tools and applications. 2) using h5tools_is_obj_same() at h5diff() and diff() in h5diff.c. If two paths point to the same object, there is no need to check the details of the object since we know there is no difference. The fix will increase the performance by skipping the content comparison. It also fixed the problem of reporting difference for some cases of comparing the same file, e.g. empty files or files with incomparable objects the same file. Test update: Updat prvious test cases (171, 172, 530) affected by this fix, so they still perfrom originally intended testing without bypassing. Tested: jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), cmake
* [svn-r20299] Purpose:Jonathan Kim2011-03-231-13/+30
| | | | | | | | | | | | | | | | | Fixed CHICAGO: Bug 2121 - h5diff - incorrect and lack of output for the different set of attributes (different number and names) Description: Merged from HDF5 trunk r20294 Previously h5diff compared attributes correctly only when two objects have the same number of attributes and attribute names are identical. Also didn't display useful information about attribute difference. This fix covers all other cases. This fixes both issues. Tested: jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE)
* [svn-r20286] Purpose:Jonathan Kim2011-03-211-7/+6
| | | | | | | | | | | | | | | | | Fixed Bug 2214 - GMQS: h5diff - memory leak when accessing symbolic links with --follow-symlinks option and the target type is UDLink or some error occurs Description: Merged from HDF5 trunk r20274. Memory leaks occurred when accessing symbolic links with --follow-symlink option. Test cases are in testing script. (400 - 456, 501 - 518) An example test : valgrind --leak-check=full h5diff --follow-symlinks -v h5diff_softlinks.h5 h5diff_softlinks.h5 Tested: jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), Cmake - jam
* [svn-r20066] Description:Quincey Koziol2011-02-081-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r20065 from trunk to 1.8 branch: Bring changes from Coverity branch to trunk: r19975: Fixed potential mem leak at H5O_attr_open_by_name r19980: Fix coverity issue 792. Free tmp_env_prefix in H5Lexternal.c line 365 if it is not NULL but its contents are 0 when it goes out of scope. r20039: Eliminate warnings about nested extern and implicit declarations of parallel_print and address Coverity defects 712-781 by #including h5tools_utils.h in h5diff_array.c, h5diff_attr.c, h5diff_dset.c and h5diff_util.c. r20046: Purpose: Address TOCTOU warnings in h5jam and h5unjam Description: Coverity is afraid that the state of the input file could change between the call to stat() and the call to open(). This is called a time-of- check time-of-use (TOCTOU) vulnerability. Modified stat calls to fstat which uses an open file pointer so it (hopefully) won't complain any more. r20047: Addressed coverity issues 135-137, 462-464. Local pointers that needed to be freed in case of error were moved out of a switch statement in src/H5Tnative.c, set to NULL, and checked before freeing. Tested on: Mac OS X/32 10.6.6 (amazon) w/debug & production (h5committested on Coverity branch)
* [svn-r19444] Purpose:Jonathan Kim2010-09-201-10/+14
| | | | | | | | | | | Fix for group comparison with exclude-path case. Use relative path. Description: Merge from hdf5 trunk (r19443) Related to "1890: h5diff excluding object for file comparison via command line" checkins. (r19407) Tested: jam, amani
* [svn-r19419] On windows, an include bypassed the WIN32_LEAN_AND_MEAN define. ↵Allen Byrne2010-09-171-1/+1
| | | | | | Moved the define up. Moved the h5dif.h to after the h5private include Tested: Windows
* [svn-r19407] Purpose:Jonathan Kim2010-09-161-17/+130
| | | | | | | | | | | | Add --exclude-path option Description: Merged from hdf5 trunk (r19406). Specified path to an object will be excluded from comparing the two files or two groups. If group is specified all the member objects will be excluded. Related to "1890: h5diff excluding object for file comparison via command line" Tested: jam, amani
* [svn-r19401] Purpose:Jonathan Kim2010-09-161-288/+707
| | | | | | | | | | | Fix for Bug1975 h5diff - support recursive comparison on group when specified as an object Description: Merged from hdf5 trunk (r19400). Compare member objects and groups recursively when two files or groups are specified to be compared. Support parallel diff and handling symbolic links accordingly. Tested: jam, amani
* [svn-r19291] Description:Quincey Koziol2010-08-241-8/+8
| | | | | | | | | Avoid getting object information for soft/external links if we aren't going to traverse across the link itself. Tested on: Linux/64 2.6 (chicago) w/debug & production (h5committest coming up)
* [svn-r18874] Purpose:Jonathan Kim2010-05-211-2/+2
| | | | | | | | | | | | Rename '--follow-links' to '--follow-symlinks' Description: The '--follow-links' option is to follow symbolic links (soft and external). Make the name more intuitive and specific to the feature. Merged from hdf5 trunk r18873. Tested: jam
* [svn-r18615] Purpose:Jonathan Kim2010-04-221-145/+0
| | | | | | | | | | | Fix for bug 1817 : h5copy fail to copy dangling link by specifying link path directly Description: Merged from hdf5 trunk r18614. Tested: jam, amani
* [svn-r18279] Purpose:Jonathan Kim2010-02-191-138/+697
| | | | | | | | | | Work for bugzilla 1754: h5diff: support comparing through links. Description: merged from hdf5 trunk (18164, 18165, 18166, 18167, 18170, 18266, 18273) Tested: h5committest (jam, amani and linew)
* [svn-r18198] Description:Quincey Koziol2010-01-301-8/+8
| | | | | | | | | Trim trailing whitespace from source code files, with following command: find . \( -name "*.[ch]" -or -name "*.cpp" -or -name "*.f90" \) -print |xargs -n 1 sed -i "" 's/[[:blank:]]*$//' Tested on: None - eyeballed only
* [svn-r18135] Purpose:Jonathan Kim2010-01-211-2/+4
| | | | | | | | | | | | Additional fix relted to the fix of bug1672. Description: The fix of bug1672 caused some changes of output which required modifying some test cases. After some discussion, restoring the changes of the test cases was decided. After many experiments for the solution, this fix was made so the code which improved performance can stay. Tested on Jam.
* [svn-r18127] Purpose:Jonathan Kim2010-01-201-12/+2
| | | | | | | | | | | | | Fix for bug1749: Incorrect code in diff() function for links compare Also removed duplicated redundant code, which improves performance. Description: When comparing file1 to file2 and both files contain same soft-links and/or external-links, if file2's target object path name is longer than file1's target object path name, the current code allocates memory buffer incorrectly, so it could end up buffer overflow or wrong result. Tested on Jam.
* [svn-r17921] Purpose:Jonathan Kim2009-11-201-35/+22
| | | | | | | | | | | | | | | | Fix Bug1672 - Display garbage value on LE machine for BE data. Description: Casuing by calling diff_dataset twice when -r or no option was given. Change to call it once which fix the problem. It also improves the performance. (diffing time in half) According further test, it also occurred on BE machine as well and it seems occruing only with the BE data attached to Bugzilla. Don't know how the file was created. Anyway this fix will prevent from diffing with garbage values in similiar potential case. Tested on: linux32 (jam) , linux64 (almani), solaris (linew)
* [svn-r17053] merge 17052 from trunkPedro Vicente Nunes2009-06-151-3/+12
| | | | | | | | | | Add a run to the h5repack shell script to read a family file The file used for input is located in the common source tools for testfiles, in tools/testfiles Modified the h5repack shell script to read files from this location (h5repack reads its input files from a dedicated testfiles location in h5repack/testfiles) Changed the h5diff open file call to use h5tools_fopen, so that it can open all file drivers Tested: linux
* [svn-r16375] merge 16373Pedro Vicente Nunes2009-01-291-10/+10
| | | | | | | replaced some printf statements with parallel_print tested: linux serial (parallel tested in trunk)
* [svn-r16351] merge 16348Pedro Vicente Nunes2009-01-261-2/+4
| | | | | | | | #1368 (E1) h5diff: implement "not comparable" messages. Implemented RFC. The new option is <-c, --compare List objects that are not comparable> added some test cases tested: windows, linux
* [svn-r15967] regarding the return value of h5diff (0, no difference in ↵Pedro Vicente Nunes2008-10-271-4/+18
| | | | | | | | | files, 1 difference ) objects with the same name must be of the same type tested: windows, linux
* [svn-r15900] Make the h5copy test that renames a group to return 1 on the ↵Pedro Vicente Nunes2008-10-171-4/+0
| | | | | | | | h5diff call and assume 1 is the correct result Drop the -c flag for h5diff Tested: linux
* [svn-r15899] Extend the -c flag for ignore graph differences to ignore ↵Pedro Vicente Nunes2008-10-171-0/+4
| | | | | | | | different group names This is used in the h5copy test that compares renaming of groups Tested: linux
* [svn-r15889] When comparing individual objects the file graph is not ↵Pedro Vicente Nunes2008-10-161-4/+1
| | | | | | currently compared, so make h5diff return 0 (no diffrences) Tested: windows, linux
* [svn-r15871] Eliminate -c option and make that behavior the default and ↵Pedro Vicente Nunes2008-10-151-17/+15
| | | | | | return 2 instead of -1 on error status Tested: windows, linux
* [svn-r15629] Description:Quincey Koziol2008-09-161-117/+117
| | | | | | | | | | | | | Remove trailing whitespace from C/C++ source files, with the following script: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Tested on: Mac OS X/32 10.5.5 (amazon) No need for h5committest, just whitespace changes...
* [svn-r15433] http://bugzilla.hdfgroup.uiuc.edu/show_bug.cgi?id=1170Pedro Vicente Nunes2008-08-051-127/+225
| | | | | | | | | | | | | Summary: when using h5diff to compare the results of h5repack (or other tools that copy one HDF5 file to another), a new option is needed to allow h5diff to make an "absolute" comparison of the 2 files. This is the "contents" mode explained in the usage below. If this mode is present, objects in both files must match (must be exactly the same). If this does not happen, the tool returns an error code of 1 (instead of the success code of 0) Changes to the h5repack test script: the call to h5diff was changed to include -c (maintaining the previous -q). tested: windows, linux
* [svn-r14381] comment typo fixPedro Vicente Nunes2008-01-071-1/+1
|
* [svn-r14160] Description:Quincey Koziol2007-09-271-2/+2
| | | | | | | | | | | | | | | | Make H5Topen versioned, and add regression test for H5Topen1. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64 2.6 (smirom) 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, in production mode AIX/32 5.3 (copper) w/FORTRAN, w/parallel, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode
* [svn-r14154] Description:Quincey Koziol2007-09-251-10/+9
| | | | | | | | | | | | | | | | | | | | Finish deprecating last H5G symbol (H5G_obj_t) - yay! Lots of misc. library fixes to remove confusion between links and objects. The tools could still use another pass, to remove h5trav_type_t type and make the correct distinction between links & objects. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64 2.6 (smirom) 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, in production mode AIX/32 5.3 (copper) w/FORTRAN, w/parallel, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode
* [svn-r14144] Description:Quincey Koziol2007-09-131-659/+554
| | | | | | | | | | | | | | | | Move H5Gget_objinfo() to deprecated symbols section and retarget internal usage to H5Lget_info()/H5Oget_info(). Misc. other code cleanups... Tested on: FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty) Linux/32 2.6 (kagiso) Linux/64 2.6 (smirom) AIX/32 5.3 (copper) Solaris/32 2.10 (linew) Mac OS X/32 10.4.10 (amazon)
* [svn-r14136] Description:Quincey Koziol2007-09-061-178/+138
| | | | | | | | | | | | | | Move H5Gget_num_objs() and several minor macros, etc. to deprecated symbols section, replacing it with H5Gget_info(). Tested on: FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty) Linux/32 2.6 (kagiso) Linux/64 2.6 (smirom) AIX/32 5.3 (copper) Solaris/32 5.10 (linew) Mac OS X/32 10.4.10 (amazon)
* [svn-r14132] Description:Quincey Koziol2007-08-301-1/+1
| | | | | | | | | | Regenerate the h5diff_types.h5 file, which had somehow gotten mangled in some earlier checkin (prior to ~2-3 days ago, at least). Clean up formatting a bit also.. Tested on: Mac OS X/32 10.4.10 (amazon)
* [svn-r14127] Description:Quincey Koziol2007-08-291-12/+12
| | | | | | | | | | | | | Move H5Gget_linkval to deprecated symbol section and replace with H5Lget_val for internal calls. Tested on: FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty) Linux/32 2.6 (kagiso) Linux/64 2.6 (smirom) Solaris/32 5.10 (linew) Mac OS X/32 10.4.10 (amazon)
* [svn-r14115] Description:Quincey Koziol2007-08-281-11/+12
| | | | | | | | | | | | | | | | | Remove all plain calls to H5Gopen() from source, replacing them with either H5Gopen2(). Add test for H5Gopen1(). Reformatted several pieces of code, to clean them up. Tested on: FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty) Linux/32 2.6 (kagiso) Linux/64 2.6 (smirom) Solaris/32 5.10 (linew) Mac OS X/32 10.4.10 (amazon)
* [svn-r13648] Description:Quincey Koziol2007-04-121-1/+2
| | | | | | | | | | Rename new error handling API routines from H5E<foo>_stack() to H5E<foo>2(). Tested on: Mac OS X/32 10.4.9 (amazon) FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty)
* [svn-r13451] Pedro Vicente Nunes2007-03-051-286/+285
| | | | | | | h5diff bug fix, attributes differences were not being count for total differences Revision of H5Ocopy call in h5repack
* [svn-r13368] Pedro Vicente Nunes2007-02-211-6/+5
| | | | Added a little format alignment to the printing of dimensions
* [svn-r13334] Added a new function to print the dimensions sizesPedro Vicente Nunes2007-02-191-16/+32
|
* [svn-r13253] Updated all C and C++ style source code files with the THG ↵Albert Cheng2007-02-071-2/+3
| | | | | | | | | copyright notice. Tested platform: Kagiso only since it is only a comment block change. If it works in one machine, it should work in all, I hope. Still need to check the parallel build on copper.
* [svn-r12932] Description:Quincey Koziol2006-11-171-9/+9
| | | | | | | | | | | | Basic support for H5Literate() routine. Still needs to be fleshed out and refactored to simplify. Also, needs tests. :-) Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) AIX/32 5.? (copper) Mac OS X/32 10.4.8 (amazon)