diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/vds.c | 226 |
1 files changed, 0 insertions, 226 deletions
@@ -224,229 +224,3 @@ error: return 1; } -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Copyright by The HDF Group. * - * Copyright by the Board of Trustees of the University of Illinois. * - * All rights reserved. * - * * - * This file is part of HDF5. The full HDF5 copyright notice, including * - * terms governing use, modification, and redistribution, is contained in * - * the files COPYING and Copyright.html. COPYING can be found at the root * - * of the source code distribution tree; Copyright.html can be found at the * - * root level of an installed copy of the electronic HDF5 document set and * - * is linked from the top-level documents page. It can also be found at * - * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * - * access to either file, you may request a copy from help@hdfgroup.org. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/* - * Programmer: Neil Fortner <nfortne2@hdfgroup.org> - * Monday, February 16, 2015 - * - * Purpose: Tests datasets with virtual layout. - */ -#include "h5test.h" -#include "H5srcdir.h" - -const char *FILENAME[] = { - "vds_1", - "vds_2", - "vds_3", - "vds_4", - NULL -}; - - -/*------------------------------------------------------------------------- - * Function: test_api - * - * Purpose: Tests API functions related to virtual datasets. - * - * Return: Success: 0 - * - * Failure: number of errors - * - * Programmer: Neil Fortner - * Monday, February 16, 2015 - * - * Modifications: - * - *------------------------------------------------------------------------- - */ -static int -test_api(void) -{ - hid_t dcpl = -1; /* Dataset creation property list */ - hid_t src_space[4] = {-1, -1, -1, -1}; /* Source dataspaces */ - hid_t vspace[4] = {-1, -1, -1, -1}; /* Virtual dset dataspaces */ - char *src_file[4] = {"src_file1", "src_file2.", "src_file3..", "src_file4..."}; /* Source file names (different lengths) */ - char *src_dset[4] = {"src_dset1....", "src_dset2.....", "src_dset3......", "src_dset4......."}; /* Source dataset names (different lengths) */ - hsize_t dims[2] = {10, 20}; /* Data space current size */ - hsize_t start[2]; /* Hyperslab start */ - hsize_t stride[2]; /* Hyperslab stride */ - hsize_t count[2]; /* Hyperslab count */ - hsize_t block[2]; /* Hyperslab block */ - size_t size_out; - ssize_t ssize_out; - hid_t space_out = -1; - char name_out[32]; - unsigned i; - - TESTING("virtual dataset API functions"); - - /* Create DCPL */ - if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) - TEST_ERROR - - /* - * Test 1: All - all selection - */ - /* Create source dataspace */ - if((src_space[0] = H5Screate_simple(2, dims, NULL)) < 0) - TEST_ERROR - - /* Create virtual dataspace */ - if((vspace[0] = H5Screate_simple(2, dims, NULL)) < 0) - TEST_ERROR - - /* Select all (should not be necessary, but just to be sure) */ - if(H5Sselect_all(src_space[0]) < 0) - TEST_ERROR - if(H5Sselect_all(vspace[0]) < 0) - TEST_ERROR - - /* Add virtual layout mapping */ - if(H5Pset_virtual(dcpl, vspace[0], src_file[0], src_dset[0], src_space[0]) < 0) - TEST_ERROR - - /* Test H5Pget_virtual_count */ - if(H5Pget_virtual_count(dcpl, &size_out) < 0) - TEST_ERROR - if(size_out != 1) - TEST_ERROR - - /* Test H5Pget_virtual_vspace */ - if((space_out = H5Pget_virtual_vspace(dcpl, 0)) < 0) - TEST_ERROR - if(H5Sget_select_type(space_out) != H5S_SEL_ALL) - TEST_ERROR - if(H5Sclose(space_out) < 0) - TEST_ERROR - space_out = -1; - - /* Test H5Pget_virtual_srcspace */ - if((space_out = H5Pget_virtual_srcspace(dcpl, 0)) < 0) - TEST_ERROR - if(H5Sget_select_type(space_out) != H5S_SEL_ALL) - TEST_ERROR - if(H5Sclose(space_out) < 0) - TEST_ERROR - space_out = -1; - - /* Test H5Pget_virtual_filename */ - if((ssize_out = H5Pget_virtual_filename(dcpl, 0, NULL, 0)) < 0) - TEST_ERROR - if((size_t)ssize_out != HDstrlen(src_file[0])) - TEST_ERROR - HDassert((size_t)ssize_out < sizeof(name_out)); - if((ssize_out = H5Pget_virtual_filename(dcpl, 0, name_out, sizeof(name_out))) < 0) - TEST_ERROR - if((size_t)ssize_out != HDstrlen(src_file[0])) - TEST_ERROR - if(HDstrncmp(name_out, src_file[0], (size_t)ssize_out + 1) != 0) - TEST_ERROR - - /* Test H5Pget_virtual_dsetname */ - if((ssize_out = H5Pget_virtual_dsetname(dcpl, 0, NULL, 0)) < 0) - TEST_ERROR - if((size_t)ssize_out != HDstrlen(src_dset[0])) - TEST_ERROR - HDassert((size_t)ssize_out < sizeof(name_out)); - if((ssize_out = H5Pget_virtual_dsetname(dcpl, 0, name_out, sizeof(name_out))) < 0) - TEST_ERROR - if((size_t)ssize_out != HDstrlen(src_dset[0])) - TEST_ERROR - if(HDstrncmp(name_out, src_dset[0], (size_t)ssize_out + 1) != 0) - TEST_ERROR - - /* Close */ - if(H5Sclose(src_space[0]) < 0) - TEST_ERROR - src_space[0] = -1; - if(H5Sclose(vspace[0]) < 0) - TEST_ERROR - vspace[0] = -1; - - - /* Close */ - if(H5Pclose(dcpl) < 0) - TEST_ERROR - dcpl = -1; - - PASSED(); - return 0; - -error: - H5E_BEGIN_TRY { - for(i = 0; i < (sizeof(src_space) / sizeof(src_space[0])); i++) { - if(src_space[i] >= 0) - (void)H5Sclose(src_space[i]); - if(vspace[i] >= 0) - (void)H5Sclose(vspace[i]); - } /* end for */ - if(space_out >= 0) - (void)H5Sclose(space_out); - if(dcpl >= 0) - (void)H5Pclose(dcpl); - } H5E_END_TRY; - - return 1; -} /* end test_api() */ - - -/*------------------------------------------------------------------------- - * Function: main - * - * Purpose: Tests datasets with virtual layout - * - * Return: Success: exit(0) - * - * Failure: exit(1) - * - * Programmer: Neil Fortner - * Tuesday, February 17, 2015 - * - *------------------------------------------------------------------------- - */ -int -main(void) -{ - char filename[FILENAME_BUF_SIZE]; - hid_t file, grp, fapl; - int nerrors = 0; - - /* Testing setup */ - h5_reset(); - fapl = h5_fileaccess(); - - h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - - nerrors += test_api(); - - /* Verify symbol table messages are cached */ - //nerrors += (h5_verify_cached_stabs(FILENAME, fapl) < 0 ? 1 : 0); VDSINC - - if(nerrors) - goto error; - printf("All virtual dataset tests passed.\n"); - //h5_cleanup(FILENAME, fapl); VDSINC - - return 0; - -error: - nerrors = MAX(1, nerrors); - printf("***** %d VIRTUAL DATASET TEST%s FAILED! *****\n", - nerrors, 1 == nerrors ? "" : "S"); - return 1; -} - |