summaryrefslogtreecommitdiffstats
path: root/tools/h5diff/ph5diff_main.c
Commit message (Collapse)AuthorAgeFilesLines
* Split tools into src and test - remove foldersAllen Byrne2016-10-271-329/+0
|
* [svn-r25112] Description:Quincey Koziol2014-04-251-1/+4
| | | | | | | | Revert r25081 Tested on: MacOSX/64 10.9.2 (amazon) w/FORTRAN & parallel (h5committest not necessary)
* [svn-r25081] Bug HDFFV-8625, HDFFV-8639, HDFFV-8745:Albert Cheng2014-04-221-4/+1
| | | | | | | | | | | | h5diff issues "unable to read attribute" error message when comparing two files Description: h5diff did not handle attributes of variable length strings correctly. It created the wrong memory type if one but not both compared attributes are of the variable strings type. It ended in H5Aread() failure. Solution: We decided to treat the case when one type is variable length string and the other is not as incomparable. That bypassed the above error. We still need to figure out the proper way, if possible, to compare variable string with non-variable string types. Tested: h5committested plus tested in Swallow (OS X 10.8).
* [svn-r24480] Description:Quincey Koziol2013-11-301-99/+145
| | | | | | | | | | | Bring r24479 from 1.8 branch to trunk: Fix ph5diff worker command handling so it can correctly respond to situations where there's no work to perform. Also, a few minor code cleanups. Tested on: Mac OSX/64 10.9.0 (amazon) w/parallel (too minor to require h5committest)
* [svn-r23469] Description:Quincey Koziol2013-03-271-1/+4
| | | | | | | | | | | | | | | Change h5diff_exit() routine to always return a zero exit code when running in parallel, since returning a non-zero exit code can cause MPI implementations to print output and that can throw off our "expected output" comparisons. Note that this change only changes the exit code for situations where an incorrect command-line parameter was given - ph5diff was already returning a zero exit code for all "normal" executions, including those where a serial h5diff would return a non-zero exit code. Tested on: Mac OSX/64 10.8.3 (amazon) w/parallel (Too minor to require h5committest)
* [svn-r22004] Reduced warnings and fixed conflicts resulting from including ↵Allen Byrne2012-02-281-0/+1
| | | | | | h5tools.h Tested: local linux
* [svn-r21988] Tools must call h5tools_init before command_line parsing or ↵Allen Byrne2012-02-271-0/+3
| | | | | | using tools_mesg functions. Tools library uses alias variables for stdout, stderr and tools library uses HDfprintf() functions.
* [svn-r21195] Correct windows exports for h5diff.Allen Byrne2011-08-081-0/+29
|
* [svn-r20767] Purpose:Jonathan Kim2011-05-061-2/+2
| | | | | | | | | | | | HDFFV-5928 - GMQS: h5diff problem and improvement on comparsing the same objects Description: 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 r20676. Tested: jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), cmake
* [svn-r20119] Description:Quincey Koziol2011-02-171-100/+100
| | | | | | | | | | | | | | | | | | | | Clean up MPI resource leaks in parallel tests, along with a bunch of compiler warnings. 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-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode Mac OS X/32 10.6.6 (amazon) in debug mode Mac OS X/32 10.6.6 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r19400] Purpose:Jonathan Kim2010-09-161-3/+3
| | | | | | | | | | Fix for Bug1975 h5diff - support recursive comparison on group when specified as an object Description: 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, heiwa
* [svn-r19255] Description:Quincey Koziol2010-08-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | Add missing include file from r19252. 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
* [svn-r18759] pull r18757 from 1.8 branchAllen Byrne2010-05-111-3/+6
| | | | | | | | | Enable tools lib to be built as a dll on windows. Added two get/set functions for progname and d_status. Also add windows import/export declarations to functions. Updated error_mesg() and warn_mesg() to remove progname argument and use get functions Tested: Windows, linux
* [svn-r17058] added some "dummy" declarations for d_statusPedro Vicente Nunes2009-06-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | this error home/hdftest/snapshots-hdf5/current/tools/lib/h5tools_ref.c:126: undefined reference to `d_status' happens because the original developer of h5tools_ref.c declared these 2 variables in that source file extern char *progname; extern int d_status; this means that all programs that use this source file (typically all tools) will have to define these 2 variables, even if they are *not* used. examples const char *progname = "h5jam"; int d_status = EXIT_SUCCESS; "progname" is usually used to print the program name in the usage, and "d_status" is just a return value of the tool, usually. I was wondering about removing these 2 declarations from h5tools_ref.c extern char *progname; extern int d_status; and define those variables on each tool if they are only needed (it seems to me that only h5ls and h5dump actually "need" them) tested: smirom parallel
* [svn-r16560] Description:Quincey Koziol2009-03-101-6/+4
| | | | | | | | | | Remove another call to H5E_clear_stack() from within the library. Clean up lots of compiler warnings. Tested on: Mac OS X/32 10.5.6 (amazon) (followup on other platforms forthcoming)
* [svn-r14258] new feature: make h5diff use the same command line parsing code ↵Pedro Vicente Nunes2007-11-131-2/+2
| | | | | | | | | and syntax than h5dump usage is now h5diff [OPTIONS] file1 file2 [obj1[obj2]] tested: windows, linux, solaris
* [svn-r14154] Description:Quincey Koziol2007-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | 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-15/+15
| | | | | | | | | | | | | | | | 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-r13391] code cleaning and formated usage messagePedro Vicente Nunes2007-02-261-113/+113
|
* [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-r12687] reverted back some changes that inadvertedely added some ↵Pedro Vicente Nunes2006-09-261-2/+2
| | | | | | | | output to the parallel part of h5diff tested : heping parallel
* [svn-r12678] bug fixPedro Vicente Nunes2006-09-251-2/+2
| | | | | the number of atribute differences was not added to the total sum of differences
* [svn-r11886] Purpose:Quincey Koziol2006-01-231-2/+2
| | | | | | | | | | | | | Code cleanup Description: Check in some of the code cleanups from working on the external link support. (This doesn't include any of the external link features) Platforms tested: FreeBSD 4.11 (sleipnir) Mac OSX.4 (amazon) Linux 2.4
* [svn-r11259] Purpose:Albert Cheng2005-08-171-1/+0
| | | | | | | | | | | | | | | | | | | | Bug fix Description: ph5diff had been hanging in Tflops. Found out that vsnprintf ph5diff uses was a local coded that did not limit printing according to the size argument. That resulted in buffer overflow and other problems. Solution: Added some sort of size checking in the home-grown vsnprintf and had ph5diff checked for error return of vsnprintf. Leon also revamped the ph5diff manager's way of handling communications with the workers. That eliminated all but the last case of hanging. Platforms tested: Tflops. Misc. update:
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-19/+19
| | | | | | | | | | | | | | | | | | | | Code cleanup Description: Trim trailing whitespace, which is making 'diff'ing the two branches difficult. Solution: Ran this script in each directory: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r10996] Purpose:Leon Arber2005-06-281-8/+5
| | | | | | | | | | | | | | | | | | | | | | | Bug fix for parallel case for new "Some objects were not comparable" patch to h5diff. Description: The parallel h5diff wouldn't print out "Some objects were not comparable" because the worker tasks were not communicating the not_cmp flag of the diff_opt_t struct back to the manager, who ultimately prints everything. Also, some miscellaneous fixes for error printing. Some errors were printed out with printf instead of fprintf(stderr,...). In parallel environments, this can result in output getting lost. Solution: Had the worker tasks pass along the not_cmp flag to the manager when they sent along the number of differences they found. Platforms tested: heping (pp), sol (pp) Misc. update:
* [svn-r10206] Leon Arber2005-03-131-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Purpose: Bug fix. Description: ph5diff fails on modi4 due to the way snprintf works on IRIX. Solution: The C99 standard says that, if there isn't enough room in the string, snprintf should return the number of characters that would have been written to the output string if there were enough room. The snprintf on modi4 would return the number of characters that is was able to write succesfully to the string if space ran out. The ph5diff logic that checks if the output buffer was full did not handle this sort of return value correctly. Used VSNPRINTF_WORKS from configure test to check how snprintf works and do the logic accordingly. Platforms tested: modi4 Misc. update:
* [svn-r10170] Purpose:Leon Arber2005-03-091-9/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug Fixes Description: Fixes for several bugs, including dumping of excess output to a temporary file, fix for printing hsize_t datatype, and the long awaited fix for intermixed output. Solution: Fix 1: Overflow file Previously, any output that a worker task made was buffered locally in memory, up to a point. Any output beyond the size of the buffer (used to be 10k) was discarded. Now, the memory buffer size has been changed to 1k and any output beyond this amount is sent a temporary file. This way, no output is lost and memory usage is kept under control. The temporary file is deleted as soon as a worker task finishes sending its contents to the manager. Fix 2: hsize_t printing Printing of the hsize_t datatype used to be handled by %Hu passed to HDfprintf. However, there is no corresponding HDvsnprintf that is able to print hsize_t types. These are now printed with the aid of H5_PRINTF_LL_WIDTH. Fix 3: Intermixed output fix Intermixed output would occur on some machines (although I haven't seen it happen for a while) due to the unpredictability of the underlying network and the speed at which various message would travel. This has been fixed by having all output send to the manager for printing. The worker tasks no longer print the output themselves upon receipt of a token, but instead send that data to the manager. Platforms tested: heping, eirene, tg-login (the only place that seems to still experience intermixed output every now and then) Misc. update:
* [svn-r10136] Purpose:Albert Cheng2005-03-031-2/+8
| | | | | | | | | | | | | | | | Bug fix. Description: MPI_LONG_LONG, which is not standard yet, was used to pass the nubmer of differences found. This was needed because number of differences is defined as type hsize_t which can be arbitary large such that there is no MPI type that matches it. The value is passed between processes as an array of bytes in order to be portable. But this may not work in non-homogeneous MPI environments. This fix was actually Leon's idea. Platforms tested: Tested in QSC in which this failed.
* [svn-r10017] Purpose:Albert Cheng2005-02-161-0/+213
bug fix/new feature. Description: (committing changes made by Leon.) ph5diff now is a real program by itself. It has its own main (ph5diff_main.c). Codes common to h5diff and ph5diff are in h5diff_common.c. Removed the hack that hide failures from testh5diff.sh. Platforms tested: heping(serial, pp), sol (pp), copper(pp). Misc. update: