summaryrefslogtreecommitdiffstats
path: root/c++/test
Commit message (Collapse)AuthorAgeFilesLines
* Added class DSetAccPropListBinh-Minh Ribler2018-07-261-2/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Description: - Added class DSetAccPropList for the dataset access property list. - Added wrapper for H5Dget_access_plist to class DataSet // Gets the access property list of this dataset. DSetAccPropList getAccessPlist() const; - Added wrappers for H5Pset_chunk_cache and H5Pget_chunk_cache to class DSetAccPropList // Sets the raw data chunk cache parameters. void setChunkCache(size_t rdcc_nslots, size_t rdcc_nbytes, double rdcc_w0) // Retrieves the raw data chunk cache parameters. void getChunkCache(size_t &rdcc_nslots, size_t &rdcc_nbytes, double &rdcc_w0) - Added two more arguments to H5Location::createDataSet: const DSetAccPropList& dapl = DSetAccPropList::DEFAULT const LinkCreatPropList& lcpl = LinkCreatPropList::DEFAULT - Added one more argument to H5Location::openDataSet: const DSetAccPropList& dapl = DSetAccPropList::DEFAULT Platforms tested: Linux/64 (jelly) Linux/32 (jam) Darwin (osx1010test)
* Code improvementBinh-Minh Ribler2018-07-266-35/+34
| | | | | | | | | | | Description: Moved the new H5Object::getInfo member functions to H5Location and made them overloaded with the existing H5Location::getObjinfo. This way is cleaner than the previous approach. Platforms tested: Linux/64 (jelly) Linux/32 (jam) Darwin (osx1010test)
* Fixed EED-319Binh-Minh Ribler2018-07-261-3/+12
| | | | | | | | | Description: - Fixed doc issue Added an html version for the C++ function mapping table and removed the single web page version. Updated cpp_doc_config to use the html file. - Added a couple more minor tests
* Fixed HDFFV-10472Binh-Minh Ribler2018-07-261-0/+81
| | | | | | | | | | Description: Added operator!= to DataType bool operator!=(const DataType& compared_type) Platforms tested: Linux/64 (jelly) Linux/32 (jam) Darwin (osx1010test)
* Fixed HDFFV-10458 partiallyBinh-Minh Ribler2018-07-262-0/+77
| | | | | | | | | | | | | | | | | | | Description: Added wrappers for H5Oget_info_by_idx2. // Returns information about an HDF5 object, given its index. void getInfo(const char* grp_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t idx, H5O_info_t& objinfo, unsigned fields = H5O_INFO_BASIC, const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) void getInfo(const H5std_string& grp_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t idx, H5O_info_t& objinfo, unsigned fields = H5O_INFO_BASIC, const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) Platforms tested: Linux/64 (jelly) Linux/32 (jam) Darwin (osx1010test)
* Fixed HDFFV-10458 partiallyBinh-Minh Ribler2018-07-264-10/+128
| | | | | | | | | | | | | | | | | | | | Description: Added wrappers for H5Oget_info2 and H5Oget_info_by_name2. // Returns information about an HDF5 object. void getInfo(H5O_info_t& objinfo, unsigned fields = H5O_INFO_BASIC) // Returns information about an HDF5 object, given its name. void getInfo(const char* name, H5O_info_t& objinfo, unsigned fields = H5O_INFO_BASIC, const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) void getInfo(const H5std_string& name, H5O_info_t& objinfo, unsigned fields = H5O_INFO_BASIC, const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) Platforms tested: Linux/64 (jelly) Linux/32 (jam) Darwin (osx1010test)
* Fixed HDFFV-10404Binh-Minh Ribler2018-07-262-8/+8
| | | | | | | | | Description: Applied the typo fixes from user's report. The previous pull request couldn't be merged because it was too old, and it was too complicated for me to resolve conflicts. Platform tested: Linux/64 (jelly) - very minor
* HDFFV-9739 and cmake improvements merge from developAllen Byrne2018-05-221-7/+9
|
* Merge pull request #936 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_cpp3:develop ↵Binh-Minh Ribler2018-03-121-9/+119
|\ | | | | | | | | | | | | | | | | | | | | | | | | to develop Modified 43158f3bb352f374c31556a5d0dc463a09e0b32e and additional wrappers. * commit 'b638bbd74b79f935a43aa6a804492e035ec315f6': Code improvement Description: - Removed memory leaks caused by accidentally invoking p_get_member_type - Added the call to test_lcpl, missed previously Platforms tested: Linux/64 (jelly) Linux/ppc64 (ostrich) Darwin (osx1010test) Updated RELEASE.txt Description: - Wrappers for H5Lcreate_soft, H5Lcreate_hard, H5Lcopy, H5Lmove, H5Ldelete, and H5Lget_info - Class LinkCreatPropList - Fixed typo in source file Platforms tested: Linux/64 (jelly) Updated for H5LcreatProp.[h,cpp] Updated MANIFEST for H5LcreatProp.[h,cpp] HDFFV-10149 continued Description: - Moved the new wrappers committed on Mar 9: 43158f3bb352f374c31556a5d0dc463a09e0b32e to H5Location and renamed some of them for overloading. This is because the loc_id in the C APIs can be file, group, dataset, named datatype, and attribute. Previous implementation was wrong following some inaccurate C API reference manual.
| * Code improvementBinh-Minh Ribler2018-03-121-6/+7
| | | | | | | | | | | | | | | | | | | | Description: - Removed memory leaks caused by accidentally invoking p_get_member_type - Added the call to test_lcpl, missed previously Platforms tested: Linux/64 (jelly) Linux/ppc64 (ostrich) Darwin (osx1010test)
| * HDFFV-10149 continuedBinh-Minh Ribler2018-03-121-9/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description: - Moved the new wrappers committed on Mar 9: 43158f3bb352f374c31556a5d0dc463a09e0b32e to H5Location and renamed some of them for overloading. This is because the loc_id in the C APIs can be file, group, dataset, named datatype, and attribute. Previous implementation was wrong following some inaccurate C API reference manual. - Only the following wrappers are modified or added: + H5Lcreate_soft: changed name from newLink to link // Creates a soft link from link_name to target_name. void link(const char *target_name, const char *link_name,...) void link(const H5std_string& target_name,...) + H5Lcreate_hard: changed name from newLink to link // Creates a hard link from new_name to curr_name. void link(const char *curr_name, const Group& new_loc,...) void link(const H5std_string& curr_name, const Group& new_loc,...) // Creates a hard link from new_name to curr_name in same location. void link(const char *curr_name, const hid_t same_loc,...) void link(const H5std_string& curr_name, const hid_t same_loc,...) + H5Ldelete: modified existing functions to add 2nd argument // Removes the specified link from this location. void unlink(const char *link_name, const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) void unlink(const H5std_string& link_name, const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) - copyLink and moveLink were only moved from Group to H5Location, no change - Added class LinkCreatPropList - Added overloaded functions H5Location::createGroup to take a link creation property list Group createGroup(const char* name, const LinkCreatPropList& lcpl) Group createGroup(const H5std_string& name, const LinkCreatPropList& lcpl) - Added wrapper for H5Lget_info() to H5Location H5L_info_t getLinkInfo(const H5std_string& link_name,...) Platforms tested: Linux/64 (jelly) Linux/ppc64 (ostrich) Darwin (osx1010test)
* | Merge pull request #932 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to developAllen Byrne2018-03-121-1/+1
|\ \ | |/ |/| | | | | | | | | * commit '75db73efc514aff2af63618cc7be357fc4e77cb6': Add release note Remove obsolete comments Change CMake min to 3.10
| * Change CMake min to 3.10Allen Byrne2018-03-091-1/+1
| |
* | Merge pull request #833 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_cpp3:develop ↵Binh-Minh Ribler2018-03-101-126/+265
|\ \ | |/ |/| | | | | | | | | | | | | | | | | to develop Update for new support website. * commit '801191b4c374adc462345f2c068f1cfc6f4adf97': Upated cpp doc. Added C++ wrappers - HDFFV-10149 Description: Added the following wrappers to class H5::Group: + H5Lcreate_soft: // Creates a soft link from link_name to target_name. void newLink(const char *target_name, const char *link_name,...) void newLink(const H5std_string& target_name,...) Update for new support website Description: - Replaced external links with text including the C API name - Removed links of copyright at the bottom of each page - Removed logo at top - Removed document name and version number Platforms tested: Linux/32 2.6 (jam) - only documentation
| * Added C++ wrappers - HDFFV-10149Binh-Minh Ribler2018-03-101-126/+265
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description: Added the following wrappers to class H5::Group: + H5Lcreate_soft: // Creates a soft link from link_name to target_name. void newLink(const char *target_name, const char *link_name,...) void newLink(const H5std_string& target_name,...) + H5Lcreate_hard: // Creates a hard link from new_name to curr_name. void newLink(const char *curr_name, const Group& new_loc,...) void newLink(const H5std_string& curr_name, const Group& new_loc,...) // Creates a hard link from new_name to curr_name in same location. void newLink(const char *curr_name, const hid_t same_loc,...) void newLink(const H5std_string& curr_name, const hid_t same_loc,...) + H5Lcopy: // Copy an object from a group of file to another. void copyLink(const char *src_name, const Group& dst,...) void copyLink(const H5std_string& src_name, const Group& dst,...) // Copy an object from a group of file to the same location. void copyLink(const char *src_name, const char *dst_name,...) void copyLink(const H5std_string& src_name,...) + H5Lmove: // Rename an object in a group or file to a new location. void moveLink(const char* src_name, const Group& dst,...) void moveLink(const H5std_string& src_name, const Group& dst,...) // Rename an object in a group or file to the same location. void moveLink(const char* src_name, const char* dst_name,...) void moveLink(const H5std_string& src_name,...) Platforms tested: Linux/64 (jelly) Linux/ppc64 (ostrich) Darwin (osx1010test)
* | Inc CMake min, Add new tests, rework test CMake filesAllen Byrne2018-02-271-1/+1
| |
* | HDFFV-10385 rework java namesAllen Byrne2018-01-171-1/+0
|/
* Fixed typo.Binh-Minh Ribler2017-12-041-1/+1
|
* Various code cleanupBinh-Minh Ribler2017-12-0415-528/+472
| | | | | | | | | | | Description: - Replaced H5Location::exists with H5Location::nameExists and marked H5Location::exists as deprecated. - Miscellaneous test cleanup for consistency. Platforms tested: Linux/32 2.6 (jam) Linux/64 (jelly) Darwin (osx1010test)
* New overloaded functions and testsBinh-Minh Ribler2017-09-122-54/+299
| | | | | | | | | | | | | | | Description: - Added VarLenType::VarLenType(const DataType& base_type) - Marked VarLenType::VarLenType(const DataType* base_type) deprecated - Added a static wrapper for H5Tdetect_class for PredType static bool DataType::detectClass(const PredType& pred_type, ...) - Removed the deprecated function Exception::printError() from code - Miscellaneous improvements in comments - Added test functions test_detect_type_class() and test_vltype() Platforms tested: Linux/32 2.6 (jam) Linux/64 (jelly) Darwin (osx1010test)
* Adding new C++ wrappersBinh-Minh Ribler2017-09-041-18/+234
| | | | | | | | | | | | | | | | | | | | | | | | | Description: Added wrappers for H5Tencode to class DataType and H5Tdecode to classes DataType and its subclasses. // Creates a binary object description of this datatype. void DataType::encode() // Returns the decoded type from the binary object description. virtual DataType* DataType::decode() const; virtual DataType* ArrayType::decode() const; virtual DataType* CompType::decode() const; virtual DataType* DataType::decode() const; virtual DataType* EnumType::decode() const; virtual DataType* FloatType::decode() const; virtual DataType* IntType::decode() const; virtual DataType* StrType::decode() const; virtual DataType* VarLenType::decode() const; Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* Merge pull request #426 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to ↵Larry Knox2017-04-2520-114/+87
| | | | | | | | | | hdf5_1_10 * commit '54957d37f5aa73912763dbb6e308555e863c43f4': Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes. Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh. Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1 Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
* Description:Binh-Minh Ribler2017-03-211-2/+1
| | | | | | | | | Fixed typos and missing items in function headers, that were revealed by Doxygen, and revised various comments. Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* Description:Binh-Minh Ribler2017-03-201-8/+0
| | | | | | | | | Removed "#ifndef H5_NO_DEPRECATED_SYMBOLS" in file space tests, because the wrappers only use the latest functions now. Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* Purpose: Add new C++ wrappersBinh-Minh Ribler2017-03-191-16/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description: Because H5Pset_file_space and H5Pget_file_space are deprecated, changed to make wrappers for the new functions instead: H5Ps/get_file_space_strategy H5Ps/get_file_space_page_size New wrappers in FileCreatPropList: // Sets the strategy and the threshold value that the library will // will employ in managing file space. void setFileSpaceStrategy(H5F_fspace_strategy_t strategy, hbool_t persist, hsize_t threshold) const; // Returns the strategy that the library uses in managing file space. void getFileSpaceStrategy(H5F_fspace_strategy_t& strategy, hbool_t& persist, hsize_t& threshold) const; // Sets the file space page size for paged aggregation. void setFileSpacePagesize(hsize_t fsp_psize) const; // Returns the threshold value that the library uses in tracking free // space sections. hsize_t getFileSpacePagesize() const; Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* Description:Binh-Minh Ribler2017-03-173-34/+37
| | | | | | | Miscellaneous clean-up: format and comments Platforms tested: Linux/64 (jelly) Darwin (osx1010test)
* Merge pull request #334 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_cpp2:develop ↵Binh-Minh Ribler2017-03-164-6/+271
|\ | | | | | | | | | | | | to develop * commit '98090fe3b08a0ff85ae9bc93218a14017a6f37fe': Purpose: Add new C++ wrappers Description: Added wrappers for H5Iis_valid, H5Ps/get_nlinks, H5Tget_create_plist, H5Oopen, H5Oclose and H5Pset_virtual
| * Purpose: Add new C++ wrappersBinh-Minh Ribler2017-03-144-6/+271
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description: Added wrappers for H5Iis_valid, H5Ps/get_nlinks, H5Tget_create_plist, H5Oopen, H5Oclose and H5Pset_virtual // Checks if the given ID is valid. static bool isValid(hid_t an_id); // Sets the number of soft or user-defined links that can be // traversed before a failure occurs. void setNumLinks(size_t nlinks) const; // Gets the number of soft or user-defined link traversals allowed size_t getNumLinks() const; // Returns a copy of the creation property list of a datatype. PropList getCreatePlist() const; // Opens an object within a group or a file, i.e., root group. hid_t getObjId(const char* name,...); hid_t getObjId(const H5std_string& name,...); // Closes an object opened by getObjId(). void closeObjId(hid_t obj_id) const; // Maps elements of a virtual dataset to elements of the source dataset. void setVirtual(const DataSpace& vspace, const char *src_fname,...); void setVirtual(const DataSpace& vspace, const H5std_string src_fname,...); Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* | Final merge of page buffering branch to developQuincey Koziol2017-03-141-0/+14
|/
* Merge branch 'develop' of ↵Binh-Minh Ribler2017-03-031-2/+2
|\ | | | | | | https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_bmr_cpp into develop
| * Update CMake files and formattingAllen Byrne2017-03-011-2/+2
| |
* | Description:Binh-Minh Ribler2017-03-0317-5499/+5498
|/ | | | | | Only format changes: mostly tabs vs. spaces Platforms tested: Linux/64 (jelly) - very minor
* Merge branch 'develop' of ↵Binh-Minh Ribler2017-02-231-2/+1
|\ | | | | | | https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_bmr_cpp into develop
| * Minor fix for duplicated H5Pclose() call in C++ tests.Dana Robinson2017-02-231-2/+1
| |
* | Purpose: Add new C++ wrappersBinh-Minh Ribler2017-02-231-28/+77
|/ | | | | | | | | | | | | | | | | | | Description: Added wrappers for H5Fget_info2, H5Inmembers, and H5Itype_exists // Gets general information about this file. void getFileInfo(H5F_info2_t& file_info) const; // Returns the number of members in a type. static hsize_t getNumMembers(H5I_type_t type); // Determines if an element type exists. static bool typeExists(H5I_type_t type); Platforms tested: Linux/32 2.6 (jam) Linux/64 (jelly) Darwin (osx1010test)
* Purpose: Add new C++ wrappersBinh-Minh Ribler2017-02-151-4/+78
| | | | | | | | | | | | | | | | | | | | | Description: Added wrappers for H5Pset_file_space and H5Pget_file_space // Sets the strategy and the threshold value that the library will // will employ in managing file space. void setFileSpace(H5F_file_space_type_t strategy, hsize_t threshold) const; // Returns the strategy that the library uses in managing file space. H5F_file_space_type_t getFileSpaceStrategy() const; // Returns the threshold value that the library uses in tracking free // space sections. hsize_t getFileSpaceThreshold() const; Platforms tested: Linux/32 2.6 (jam) Linux/64 (jelly) Darwin (osx1010test)
* Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)Allen Byrne2017-01-131-1/+1
|\ | | | | | | | | * commit 'bd85e57904f1f943774bb99ea5e8b0d074db0edb': tools/test/h5diff/testh5diff.sh.in: Add code to delete copies of test .h5 files copied from tools/testfiles/vds to tools/test/h5diff/testfiles when running "make check" for an in-source build.
| * tools/test/h5diff/testh5diff.sh.in:lrknox2017-01-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add code to delete copies of test .h5 files copied from tools/testfiles/vds to tools/test/h5diff/testfiles when running "make check" for an in-source build. tools/test/misc/testh5repart.sh.in: Change the name of the temporary test directory from "testfiles" which is also used for 2 h5mkgrp test files under source control to "testrepart" to avoid deleting source controlled files when running "make check" in the source directory. Fix test scripts that remove source-controlled files during "make check" when run in-source. Fix test scripts that don't remove test files because they add files to test directories but don't remove them if the build directories are the same as the source directory. Fix any test source file or Makefile.am files for tests that leave data files are removed by neither "make check" nor "make distclean".
* | HDFFV-10094: upgrade cmake command conventionsAllen Byrne2017-01-111-1/+14
| | | | | | Also converted tests to use macros
* | Update cmake min version and cmake command conventionAllen Byrne2017-01-102-6/+6
|/
* Purpose: Add more testsBinh-Minh Ribler2017-01-034-23/+45
| | | | | | | | | Description: Added more tests for the new constructors that replaced openXxxType() Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* Purpose: Add new wrappersBinh-Minh Ribler2016-12-283-30/+105
| | | | | | | | | | | | | | Description: Added wrappers H5Location::exists() for H5Lexists. Added wrapper H5Object::objVersion() to return the header version of an HDF5 object. Added new class LinkAccPropList to be used by H5Location::exists() Added new exception: ObjHeaderIException for H5Object::objVersion() Rearranged source files in Makefile.am Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* Purpose: Improvement for HDFFV-10004Binh-Minh Ribler2016-12-192-4/+33
| | | | | | | | | | | | | | | | | | | | | Description: When adding wrappers for H5Lexists, a new class, LinkAccPropList, was added to the C++ API, triggered complicated circular dependencies. Thus, some improvement was made to resolve the problems. - Replaced existing functions openXxxType with individual type constructors + Added individual XxxType constructors to replace the existing functions openXxxType because it's rather awkward to use these functions. + Moved openXxxType from H5Location back to CommonFG + Put back CommonFG as a baseclass of Group for openXxxType functions. + This replacement should improve usability and prevent the problem of circular dependencies. - Removed overloaded constructor that takes an Attribute when there is already one that takes H5Location because Attribute inherits from H5Location now. Platforms tested: Linux/32 2.6 (jam) Darwin (osx1010test) Linux/64 (platypus)
* Bring SWMR support in to the main development branch. (Finally!) More testsQuincey Koziol2016-12-021-1/+1
| | | | and the tool and API wrappers will be coming in over the weekend.
* Description:Binh-Minh Ribler2016-10-1917-271/+89
| | | | | | | | | | | | Removed obsolet macros from C++ API: H5_NO_NAMESPACE, H5_NO_STD, __cplusplus Leave OLD_HEADER_FILENAME because iostream.h might still be in use, until further checking is done. Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test) Jelly
* Purpose: Fix bug HDFFR-9920 cont.Binh-Minh Ribler2016-10-112-0/+3
| | | | | Description: Added new test file titerate.cpp.
* Purpose: Fix bug HDFFR-9920 cont.Binh-Minh Ribler2016-09-215-3/+576
| | | | | | | | | | | | | Description: Adding user's test revealed a flaw in the fix. Moved CommonFG's functions in Group to H5Location, so that they could be called by objects that can be used to specify a location Also, rearranged many "#include" header files to resolve conflicts. Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* Purpose: Code cleanupBinh-Minh Ribler2016-09-022-5/+22
| | | | | | | | | | Description: - Used FP_EPSILON in comparing float values to verify read data - Casted C macro to fix mismatched types in verify_val calls Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
* Add VFD name to test folderAllen Byrne2016-09-011-1/+2
|
* [svn-r30309] Purpose: Fix bug HDFFR-9920Binh-Minh Ribler2016-08-201-3/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | Description: Rearranged the classes to model the relationship of HDF5 objects more accurately. The changes included: - moved CommonFG's methods to Group - removed CommonFG from Group's base class list - removed CommonFG from H5File's base class list and changed "public H5Location" to "public Group" in the base class list - CommonFG became unused - result of the modified partial class diagram: IdComponent | H5Location / H5Object | / / \ DadaType Group DataSet | H5File Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)