diff options
Diffstat (limited to 'test/testmeta.c')
| -rw-r--r-- | test/testmeta.c | 173 |
1 files changed, 79 insertions, 94 deletions
diff --git a/test/testmeta.c b/test/testmeta.c index e1d12e6..d844c2e 100644 --- a/test/testmeta.c +++ b/test/testmeta.c @@ -1,58 +1,55 @@ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 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. * + * the COPYING file, which can be found at the root of the source code * + * distribution tree, or in https://www.hdfgroup.org/licenses. * + * If you do not have access to either file, you may request a copy from * + * help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* * This program illustrates assertion errors when linked * to HDF5 1.4.1-post2 or 1.4.2-pre3 debug library. * - * If the assertion errors are ignored, the program eventially causes + * If the assertion errors are ignored, the program eventually causes * an error in H5Gcreate2 when writing object 83381. * * When writing in single file mode, the assertion errors still occur * but the H5Gcreate2 error does not. */ +#include "h5test.h" -#include "hdf5.h" +#define FILEN "testmeta.h5" -#define FILEN "testmeta.h5" +#define CHUNK_SIZE 512 -#define CHUNK_SIZE 512 +#define NDATAARRAYS 3 +/*#define NPOINTS 2048*/ +#define NPOINTS 20 +#define NEXTARRAYS 10 +#define NDATAOBJECTS 100000 -#define NDATAARRAYS 3 -/*#define NPOINTS 2048*/ -#define NPOINTS 20 -#define NEXTARRAYS 10 -#define NDATAOBJECTS 100000 - -int main(void) +int +main(void) { - hid_t file_id, prop_id, memspace_id, type_id; - hid_t group_id; - hid_t dataset_id, dataspace_id; - herr_t status; - hsize_t dims[1]; - hsize_t maxdims[1]; - float data[NPOINTS]; - float floatval; - unsigned numdataobj = 0; - unsigned i, j; - char name[80]; - hsize_t start[1] = {0}; - hsize_t stride[1] = {1}; - hsize_t count[1] = {1}; + hid_t file_id, prop_id, memspace_id, type_id; + hid_t group_id; + hid_t dataset_id, dataspace_id; + herr_t status; + hsize_t dims[1]; + hsize_t maxdims[1]; + float data[NPOINTS]; + float floatval; + unsigned numdataobj = 0; + unsigned i, j; + char name[80]; + hsize_t start[1] = {0}; + hsize_t stride[1] = {1}; + hsize_t count[1] = {1}; /* Create a file */ file_id = H5Fcreate(FILEN, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); @@ -62,12 +59,11 @@ int main(void) dataspace_id = H5Screate(H5S_SCALAR); /* Create dataset */ - dataset_id = H5Dcreate2(file_id, "/NumDataObj", - H5T_NATIVE_UINT, dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + dataset_id = H5Dcreate2(file_id, "/NumDataObj", H5T_NATIVE_UINT, dataspace_id, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT); /* Write value to NumDataObj dataset */ - status = H5Dwrite(dataset_id, H5T_NATIVE_UINT, H5S_ALL, - H5S_ALL, H5P_DEFAULT, &numdataobj); + status = H5Dwrite(dataset_id, H5T_NATIVE_UINT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &numdataobj); /* Close the identifiers */ status = H5Dclose(dataset_id); @@ -77,19 +73,18 @@ int main(void) /* Set up for extendible dataset */ prop_id = H5Pcreate(H5P_DATASET_CREATE); dims[0] = CHUNK_SIZE; - status = H5Pset_chunk(prop_id, 1, dims); + status = H5Pset_chunk(prop_id, 1, dims); /* Create dataspace */ - dims[0]=1; - maxdims[0]=H5S_UNLIMITED; + dims[0] = 1; + maxdims[0] = H5S_UNLIMITED; dataspace_id = H5Screate_simple(1, dims, maxdims); - for(i=0; i<NEXTARRAYS; i++) - { + for (i = 0; i < NEXTARRAYS; i++) { /* Create dataset */ - sprintf(name, "/ExtArray%06d", i); - dataset_id = H5Dcreate2(file_id, name, - H5T_NATIVE_FLOAT, dataspace_id, H5P_DEFAULT, prop_id, H5P_DEFAULT); + HDsnprintf(name, sizeof(name), "/ExtArray%06d", i); + dataset_id = + H5Dcreate2(file_id, name, H5T_NATIVE_FLOAT, dataspace_id, H5P_DEFAULT, prop_id, H5P_DEFAULT); /* Close the identifier */ status = H5Dclose(dataset_id); @@ -103,47 +98,44 @@ int main(void) group_id = H5Gcreate2(file_id, "/DataArray", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); H5Gclose(group_id); - for(j=0; j<NDATAOBJECTS; j++) - { + for (j = 0; j < NDATAOBJECTS; j++) { /* Removed print statement as it would lock system resources on Windows */ /* - * printf("\rWriting Object #%d of %d", j+1, NDATAOBJECTS); - * fflush(stdout); + * HDprintf("\rWriting Object #%d of %d", j+1, NDATAOBJECTS); + * HDfflush(stdout); */ floatval = (float)j; /* Create group to hold data arrays for this object */ - sprintf(name, "/DataArray/%06d", j); + HDsnprintf(name, sizeof(name), "/DataArray/%06d", j); group_id = H5Gcreate2(file_id, name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if(group_id < 0) { - fprintf(stderr, "Failed to create DataArray group.\n"); + if (group_id < 0) { + HDfprintf(stderr, "Failed to create DataArray group.\n"); status = H5Fclose(file_id); return -1; } /* Loop over data arrays */ - for(i=0; i<NDATAARRAYS; i++) - { + for (i = 0; i < NDATAARRAYS; i++) { /* Create dataspace */ - dims[0]=NPOINTS; - maxdims[0]=NPOINTS; - dataspace_id = H5Screate_simple(1 ,dims, maxdims); + dims[0] = NPOINTS; + maxdims[0] = NPOINTS; + dataspace_id = H5Screate_simple(1, dims, maxdims); /* Create dataset */ - sprintf(name, "DataArray%06d", i); - dataset_id = H5Dcreate2(group_id, name, - H5T_NATIVE_FLOAT, dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); - if(dataset_id < 0) { - fprintf(stderr, "Failed to create DataArray dataset.\n"); + HDsnprintf(name, sizeof(name), "DataArray%06d", i); + dataset_id = H5Dcreate2(group_id, name, H5T_NATIVE_FLOAT, dataspace_id, H5P_DEFAULT, H5P_DEFAULT, + H5P_DEFAULT); + if (dataset_id < 0) { + HDfprintf(stderr, "Failed to create DataArray dataset.\n"); status = H5Fclose(file_id); return -1; } /* Write the data array data */ - status = H5Dwrite(dataset_id, H5T_NATIVE_FLOAT, H5S_ALL, - H5S_ALL, H5P_DEFAULT, data); - if(status < 0) { - fprintf(stderr, "Failed to write DataArray dataset.\n"); + status = H5Dwrite(dataset_id, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data); + if (status < 0) { + HDfprintf(stderr, "Failed to write DataArray dataset.\n"); status = H5Fclose(file_id); return -1; } @@ -155,18 +147,17 @@ int main(void) /* Open NumDataObj dataset */ dataset_id = H5Dopen2(file_id, "/NumDataObj", H5P_DEFAULT); - if(dataset_id < 0) { - fprintf(stderr, "Failed to open NumDataObj dataset.\n"); + if (dataset_id < 0) { + HDfprintf(stderr, "Failed to open NumDataObj dataset.\n"); status = H5Fclose(file_id); return -1; } /* Write value to NumDataObj dataset */ numdataobj = j + 1; - status = H5Dwrite(dataset_id, H5T_NATIVE_UINT, H5S_ALL, - H5S_ALL, H5P_DEFAULT, &numdataobj); - if(status < 0) { - fprintf(stderr, "Failed to write NumDataObj dataset.\n"); + status = H5Dwrite(dataset_id, H5T_NATIVE_UINT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &numdataobj); + if (status < 0) { + HDfprintf(stderr, "Failed to write NumDataObj dataset.\n"); status = H5Fclose(file_id); return -1; } @@ -176,42 +167,38 @@ int main(void) status = H5Gclose(group_id); /* Extend attribute arrays */ - for(i = 0; i < NEXTARRAYS; i++) { + for (i = 0; i < NEXTARRAYS; i++) { /* Open extendable dataset */ - sprintf(name, "/ExtArray%06d", i); + HDsnprintf(name, sizeof(name), "/ExtArray%06d", i); dataset_id = H5Dopen2(file_id, name, H5P_DEFAULT); - if(dataset_id < 0) { - fprintf(stderr, "Failed to open ExtArray dataset.\n"); + if (dataset_id < 0) { + HDfprintf(stderr, "Failed to open ExtArray dataset.\n"); status = H5Fclose(file_id); return -1; } /* end if */ /* Extend attribute dataset */ dims[0] = (hsize_t)j + 1; - status = H5Dset_extent(dataset_id, dims); - if(status < 0) { - fprintf(stderr, "Failed to extend DataArray dataset.\n"); + status = H5Dset_extent(dataset_id, dims); + if (status < 0) { + HDfprintf(stderr, "Failed to extend DataArray dataset.\n"); status = H5Fclose(file_id); return -1; } /* end if */ /* Select element and write value to attribute dataset */ - dims[0] = 1; - memspace_id = H5Screate_simple(1, dims, dims); + dims[0] = 1; + memspace_id = H5Screate_simple(1, dims, dims); dataspace_id = H5Dget_space(dataset_id); - type_id = H5Dget_type(dataset_id); + type_id = H5Dget_type(dataset_id); start[0] = 0; - status = H5Sselect_hyperslab(memspace_id, H5S_SELECT_SET, - start, stride, count, NULL); - start[0] = (hssize_t)j; - status = H5Sselect_hyperslab(dataspace_id, H5S_SELECT_SET, - start, stride, count, NULL); - status = H5Dwrite(dataset_id, type_id, memspace_id, - dataspace_id, H5P_DEFAULT, &floatval); - if(status < 0) - { - fprintf(stderr, "Failed to write DataArray dataset.\n"); + status = H5Sselect_hyperslab(memspace_id, H5S_SELECT_SET, start, stride, count, NULL); + start[0] = (hsize_t)j; + status = H5Sselect_hyperslab(dataspace_id, H5S_SELECT_SET, start, stride, count, NULL); + status = H5Dwrite(dataset_id, type_id, memspace_id, dataspace_id, H5P_DEFAULT, &floatval); + if (status < 0) { + HDfprintf(stderr, "Failed to write DataArray dataset.\n"); status = H5Fclose(file_id); return -1; } @@ -224,12 +211,10 @@ int main(void) } } - /* Close the file */ status = H5Fclose(file_id); - printf("\n"); + HDprintf("\n"); return 0; } - |
