diff options
author | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2017-05-18 18:40:20 (GMT) |
---|---|---|
committer | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2017-05-18 18:40:20 (GMT) |
commit | f323a72861467a6f503b06946194b3576aa0fc7b (patch) | |
tree | cea664a28c5206dd0bcbac87823104c0400e5f71 /c++/test/tlinks.cpp | |
parent | 6cecb1352220daa248bed247ffd613c92c6c9f03 (diff) | |
download | hdf5-f323a72861467a6f503b06946194b3576aa0fc7b.zip hdf5-f323a72861467a6f503b06946194b3576aa0fc7b.tar.gz hdf5-f323a72861467a6f503b06946194b3576aa0fc7b.tar.bz2 |
Purpose: Add new C++ wrappers (HDFFV-10156)
Description:
Added wrappers for H5Iis_valid, H5Ps/get_nlinks, H5Tget_create_plist,
H5Oopen, and H5Oclose
// 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 openObjId(const char* name,...);
hid_t openObjId(const H5std_string& name,...);
// Closes an object opened by getObjId().
void closeObjId(hid_t obj_id) const;
// Gets general information about this file.
void getFileInfo(H5F_info2_t& file_info) const;
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Diffstat (limited to 'c++/test/tlinks.cpp')
-rw-r--r-- | c++/test/tlinks.cpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/c++/test/tlinks.cpp b/c++/test/tlinks.cpp index 0786bb5..58dd63a 100644 --- a/c++/test/tlinks.cpp +++ b/c++/test/tlinks.cpp @@ -441,7 +441,55 @@ static void test_basic_links(hid_t fapl_id, hbool_t new_format) issue_fail_msg("test_basic_links()", __LINE__, __FILE__, E.getCDetailMsg()); } } + +/*------------------------------------------------------------------------- + * Function: test_num_links + * + * Purpose Test setting and getting limit of number of links + * + * Return Success: 0 + * + * Failure: -1 + * + * Programmer Binh-Minh Ribler + * Mar, 2017 + * + * Modifications: + * + *------------------------------------------------------------------------- + */ +static void test_num_links(hid_t fapl_id, hbool_t new_format) +{ + char filename[NAME_BUF_SIZE]; + + if(new_format) + SUBTEST("Setting number of links (w/new group format)") + else + SUBTEST("Setting number of links") + try + { + // Use the file access template id to create a file access prop. list. + FileAccPropList fapl(fapl_id); + + h5_fixname(FILENAME[0], fapl_id, filename, sizeof filename); + H5File file(filename, H5F_ACC_RDWR, FileCreatPropList::DEFAULT, fapl); + + LinkAccPropList lapl; + size_t nlinks = 5; + lapl.setNumLinks(nlinks); + + // Read it back and verify + size_t read_nlinks = lapl.getNumLinks(); + verify_val(read_nlinks, nlinks, "LinkAccPropList::setNumLinks", __LINE__, __FILE__); + + PASSED(); + } // end of try block + catch (Exception& E) + { + issue_fail_msg("test_num_links()", __LINE__, __FILE__, E.getCDetailMsg()); + } +} // test_num_links /*------------------------------------------------------------------------- * Function: test_links @@ -494,6 +542,7 @@ void test_links() /* General tests... (on both old & new format groups */ // FileAccPropList may be passed in instead of fapl id test_basic_links(my_fapl_id, new_format); + test_num_links(my_fapl_id, new_format); #if 0 // these tests are from the C test links.c and left here for future // implementation of H5L API |