Some minor reformatting.
Replace tabs with spaces.
This commit is contained in:
434
test/external.c
434
test/external.c
@@ -15,7 +15,7 @@
|
||||
* Programmer: Robb Matzke <matzke@llnl.gov>
|
||||
* Tuesday, March 3, 1998
|
||||
*
|
||||
* Purpose: Tests datasets stored in external raw files.
|
||||
* Purpose: Tests datasets stored in external raw files.
|
||||
*/
|
||||
#include "external_common.h"
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
* Purpose: Determines whether two files contain the same data.
|
||||
*
|
||||
* Return: Success: nonzero if same, zero if different.
|
||||
* Failure: zero
|
||||
* Failure: zero
|
||||
*
|
||||
* Programmer: Robb Matzke
|
||||
* Wednesday, March 4, 1998
|
||||
@@ -36,14 +36,19 @@
|
||||
static hbool_t
|
||||
files_have_same_contents(const char *name1, const char *name2)
|
||||
{
|
||||
int fd1 = 0, fd2 = 0;
|
||||
ssize_t n1, n2;
|
||||
char buf1[1024], buf2[1024];
|
||||
int fd1 = 0;
|
||||
int fd2 = 0;
|
||||
ssize_t n1;
|
||||
ssize_t n2;
|
||||
char buf1[1024];
|
||||
char buf2[1024];
|
||||
hbool_t ret = FALSE; /* not equal until proven otherwise */
|
||||
|
||||
if((fd1 = HDopen(name1, O_RDONLY)) < 0)
|
||||
fd1 = HDopen(name1, O_RDONLY);
|
||||
if(fd1 < 0)
|
||||
goto out;
|
||||
if((fd2 = HDopen(name2, O_RDONLY)) < 0)
|
||||
fd2 = HDopen(name2, O_RDONLY);
|
||||
if(fd2 < 0)
|
||||
goto out;
|
||||
|
||||
/* Loop until files are empty or we encounter a problem */
|
||||
@@ -96,28 +101,29 @@ out:
|
||||
static int
|
||||
test_non_extendible(hid_t file)
|
||||
{
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
hsize_t cur_size[1]; /* data space current size */
|
||||
hsize_t max_size[1]; /* data space maximum size */
|
||||
int n; /* number of external files */
|
||||
char name[256]; /* external file name */
|
||||
off_t file_offset; /* external file offset */
|
||||
hsize_t file_size; /* sizeof external file segment */
|
||||
haddr_t dset_addr; /* address of dataset */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
hsize_t cur_size[1] = {100}; /* data space current size */
|
||||
hsize_t max_size[1] = {100}; /* data space maximum size */
|
||||
int n; /* number of external files */
|
||||
off_t file_offset; /* external file offset */
|
||||
hsize_t file_size; /* sizeof external file segment */
|
||||
haddr_t dset_addr; /* address of dataset */
|
||||
|
||||
TESTING("fixed-size data space, exact storage");
|
||||
|
||||
/* Create the dataset */
|
||||
if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0)
|
||||
/* Create the dataset and close */
|
||||
dcpl = H5Pcreate(H5P_DATASET_CREATE);
|
||||
if(dcpl < 0)
|
||||
FAIL_STACK_ERROR
|
||||
cur_size[0] = max_size[0] = 100;
|
||||
if(H5Pset_external(dcpl, "ext1.data", (off_t)0, (hsize_t)(max_size[0] * sizeof(int))) < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if((space = H5Screate_simple(1, cur_size, max_size)) < 0)
|
||||
space = H5Screate_simple(1, cur_size, max_size);
|
||||
if(space < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if((dset = H5Dcreate2(file, "dset1", H5T_NATIVE_INT, space, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0)
|
||||
dset = H5Dcreate2(file, "dset1", H5T_NATIVE_INT, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
|
||||
if(dset < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if(H5Dclose(dset) < 0)
|
||||
FAIL_STACK_ERROR
|
||||
@@ -127,7 +133,8 @@ test_non_extendible(hid_t file)
|
||||
FAIL_STACK_ERROR
|
||||
|
||||
/* Read dataset creation information */
|
||||
if((dset = H5Dopen2(file, "dset1", H5P_DEFAULT)) < 0)
|
||||
dset = H5Dopen2(file, "dset1", H5P_DEFAULT);
|
||||
if(dset < 0)
|
||||
FAIL_STACK_ERROR
|
||||
|
||||
/* Test dataset address. Should be undefined. */
|
||||
@@ -138,36 +145,34 @@ test_non_extendible(hid_t file)
|
||||
FAIL_STACK_ERROR
|
||||
|
||||
/* Check external count */
|
||||
if((dcpl = H5Dget_create_plist(dset)) < 0)
|
||||
dcpl = H5Dget_create_plist(dset);
|
||||
if(dcpl < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if((n = H5Pget_external_count(dcpl)) < 0)
|
||||
n = H5Pget_external_count(dcpl);
|
||||
if(n < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if(1 != n) {
|
||||
H5_FAILED();
|
||||
HDputs(" Returned external count is wrong.");
|
||||
printf(" got: %d\n ans: 1\n", n);
|
||||
goto error;
|
||||
} /* end if */
|
||||
}
|
||||
|
||||
HDstrcpy(name + sizeof(name) - 4, "...");
|
||||
if(H5Pget_external(dcpl, 0, sizeof(name) - 4, name, &file_offset, &file_size) < 0)
|
||||
/* Verify external file settings */
|
||||
if(H5Pget_external(dcpl, 0, 0, NULL, &file_offset, &file_size) < 0)
|
||||
FAIL_STACK_ERROR
|
||||
|
||||
/* Check file offset */
|
||||
if(file_offset != 0) {
|
||||
H5_FAILED();
|
||||
HDputs(" Wrong file offset.");
|
||||
printf(" got: %lu\n ans: 0\n", (unsigned long)file_offset);
|
||||
goto error;
|
||||
} /* end if */
|
||||
|
||||
/* Check file size */
|
||||
}
|
||||
if(file_size != (max_size[0] * sizeof(int))) {
|
||||
H5_FAILED();
|
||||
HDputs(" Wrong file size.");
|
||||
printf(" got: %lu\n ans: %lu\n", (unsigned long)file_size, (unsigned long)max_size[0]*sizeof(int));
|
||||
goto error;
|
||||
} /* end if */
|
||||
}
|
||||
|
||||
/* Done (dataspace was previously closed) */
|
||||
if(H5Pclose(dcpl) < 0) FAIL_STACK_ERROR
|
||||
@@ -194,7 +199,7 @@ test_non_extendible(hid_t file)
|
||||
* Return: Success: 0
|
||||
* Failure: 1
|
||||
*
|
||||
* Programmer: Robb Matzke
|
||||
* Programmer: Robb Matzke
|
||||
* Monday, November 23, 1998
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
@@ -202,20 +207,21 @@ test_non_extendible(hid_t file)
|
||||
static int
|
||||
test_too_small(hid_t file)
|
||||
{
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
hsize_t cur_size[1]; /* current data space size */
|
||||
hsize_t max_size[1]; /* maximum data space size */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
hsize_t cur_size[1] = {100}; /* current data space size */
|
||||
hsize_t max_size[1] = {100}; /* maximum data space size */
|
||||
|
||||
TESTING("external storage is too small");
|
||||
|
||||
if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0)
|
||||
dcpl = H5Pcreate(H5P_DATASET_CREATE);
|
||||
if(dcpl < 0)
|
||||
FAIL_STACK_ERROR
|
||||
cur_size[0] = max_size[0] = 100;
|
||||
if(H5Pset_external(dcpl, "ext1.data", (off_t)0, (hsize_t)(max_size[0] * sizeof(int) - 1)) < 0)
|
||||
if(H5Pset_external(dcpl, "ext1.data", (off_t)0, (hsize_t)(max_size[0] * sizeof(int) - 1)) < 0) /* note -1 */
|
||||
FAIL_STACK_ERROR
|
||||
if((space = H5Screate_simple(1, cur_size, max_size)) < 0)
|
||||
space = H5Screate_simple(1, cur_size, max_size);
|
||||
if(space < 0)
|
||||
FAIL_STACK_ERROR
|
||||
|
||||
H5E_BEGIN_TRY {
|
||||
@@ -248,10 +254,10 @@ test_too_small(hid_t file)
|
||||
* represent the current data and large enough to represent the
|
||||
* eventual size of the data.
|
||||
*
|
||||
* Return: Success: 0
|
||||
* Failure: 1
|
||||
* Return: Success: 0
|
||||
* Failure: 1
|
||||
*
|
||||
* Programmer: Robb Matzke
|
||||
* Programmer: Robb Matzke
|
||||
* Monday, November 23, 1998
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
@@ -259,23 +265,24 @@ test_too_small(hid_t file)
|
||||
static int
|
||||
test_large_enough_current_eventual(hid_t file)
|
||||
{
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
hsize_t cur_size[1]; /* current data space size */
|
||||
hsize_t max_size[1]; /* maximum data space size */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
hsize_t cur_size[1] = {100}; /* current data space size */
|
||||
hsize_t max_size[1] = {200}; /* maximum data space size */
|
||||
|
||||
TESTING("extendible dataspace, exact external size");
|
||||
|
||||
if((dcpl = H5Pcreate (H5P_DATASET_CREATE)) < 0)
|
||||
dcpl = H5Pcreate (H5P_DATASET_CREATE);
|
||||
if(dcpl < 0)
|
||||
FAIL_STACK_ERROR
|
||||
cur_size[0] = 100;
|
||||
max_size[0] = 200;
|
||||
if(H5Pset_external(dcpl, "ext1.data", (off_t)0, (hsize_t)(max_size[0] * sizeof(int))) < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if((space = H5Screate_simple(1, cur_size, max_size)) < 0)
|
||||
space = H5Screate_simple(1, cur_size, max_size);
|
||||
if(space < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if((dset = H5Dcreate2(file, "dset3", H5T_NATIVE_INT, space, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0)
|
||||
dset = H5Dcreate2(file, "dset3", H5T_NATIVE_INT, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
|
||||
if(dset < 0)
|
||||
FAIL_STACK_ERROR
|
||||
|
||||
if(H5Dclose(dset) < 0) FAIL_STACK_ERROR
|
||||
@@ -312,21 +319,21 @@ error:
|
||||
static int
|
||||
test_large_enough_current_not_eventual(hid_t file)
|
||||
{
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
hsize_t cur_size[1]; /* current data space size */
|
||||
hsize_t max_size[1]; /* maximum data space size */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
hsize_t cur_size[1] = {100}; /* current data space size */
|
||||
hsize_t max_size[1] = {200}; /* maximum data space size */
|
||||
|
||||
TESTING("extendible dataspace, external storage is too small");
|
||||
|
||||
if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0)
|
||||
dcpl = H5Pcreate(H5P_DATASET_CREATE);
|
||||
if(dcpl < 0)
|
||||
FAIL_STACK_ERROR
|
||||
cur_size[0] = 100;
|
||||
max_size[0] = 200;
|
||||
if(H5Pset_external(dcpl, "ext1.data", (off_t)0, (hsize_t)(max_size[0] * sizeof(int) - 1)) < 0)
|
||||
if(H5Pset_external(dcpl, "ext1.data", (off_t)0, (hsize_t)(max_size[0] * sizeof(int) - 1)) < 0) /* note -1 */
|
||||
FAIL_STACK_ERROR
|
||||
if((space = H5Screate_simple(1, cur_size, max_size)) < 0)
|
||||
space = H5Screate_simple(1, cur_size, max_size);
|
||||
if(space < 0)
|
||||
FAIL_STACK_ERROR
|
||||
|
||||
H5E_BEGIN_TRY {
|
||||
@@ -368,28 +375,28 @@ test_large_enough_current_not_eventual(hid_t file)
|
||||
static int
|
||||
test_unlimited(hid_t file)
|
||||
{
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
hsize_t cur_size[1]; /* data space current size */
|
||||
hsize_t max_size[1]; /* data space maximum size */
|
||||
int n; /* number of external files */
|
||||
char name[256]; /* external file name */
|
||||
off_t file_offset; /* external file offset */
|
||||
hsize_t file_size; /* sizeof external file segment */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
hsize_t cur_size[1] = {100}; /* data space current size */
|
||||
hsize_t max_size[1] = {H5S_UNLIMITED}; /* data space maximum size */
|
||||
int n; /* number of external files */
|
||||
off_t file_offset; /* external file offset */
|
||||
hsize_t file_size; /* sizeof external file segment */
|
||||
|
||||
TESTING("unlimited dataspace, unlimited external storage");
|
||||
|
||||
/* Create dataset */
|
||||
if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0)
|
||||
dcpl = H5Pcreate(H5P_DATASET_CREATE);
|
||||
if(dcpl < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if(H5Pset_external(dcpl, "ext1.data", (off_t)0, H5F_UNLIMITED) < 0)
|
||||
FAIL_STACK_ERROR
|
||||
cur_size[0] = 100;
|
||||
max_size[0] = H5S_UNLIMITED;
|
||||
if((space = H5Screate_simple(1, cur_size, max_size)) < 0)
|
||||
space = H5Screate_simple(1, cur_size, max_size);
|
||||
if(space < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if((dset = H5Dcreate2(file, "dset5", H5T_NATIVE_INT, space, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0)
|
||||
dset = H5Dcreate2(file, "dset5", H5T_NATIVE_INT, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
|
||||
if(dset < 0)
|
||||
FAIL_STACK_ERROR
|
||||
|
||||
if(H5Dclose(dset) < 0) FAIL_STACK_ERROR
|
||||
@@ -397,11 +404,14 @@ test_unlimited(hid_t file)
|
||||
if(H5Pclose(dcpl) < 0) FAIL_STACK_ERROR
|
||||
|
||||
/* Read dataset creation information */
|
||||
if((dset = H5Dopen2(file, "dset5", H5P_DEFAULT)) < 0)
|
||||
dset = H5Dopen2(file, "dset5", H5P_DEFAULT);
|
||||
if(dset < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if((dcpl = H5Dget_create_plist(dset)) < 0)
|
||||
dcpl = H5Dget_create_plist(dset);
|
||||
if(dcpl < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if((n = H5Pget_external_count(dcpl)) < 0)
|
||||
n = H5Pget_external_count(dcpl);
|
||||
if(n < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if(1 != n) {
|
||||
H5_FAILED();
|
||||
@@ -410,22 +420,20 @@ test_unlimited(hid_t file)
|
||||
goto error;
|
||||
} /* end if */
|
||||
|
||||
HDstrcpy(name + sizeof(name) - 4, "...");
|
||||
if(H5Pget_external(dcpl, 0, sizeof(name) - 4, name, &file_offset, &file_size) < 0)
|
||||
if(H5Pget_external(dcpl, 0, 0, NULL, &file_offset, &file_size) < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if(file_offset != 0) {
|
||||
H5_FAILED();
|
||||
HDputs(" Wrong file offset.");
|
||||
printf(" got: %lu\n ans: 0\n", (unsigned long)file_offset);
|
||||
goto error;
|
||||
} /* end if */
|
||||
|
||||
}
|
||||
if(H5F_UNLIMITED != file_size) {
|
||||
H5_FAILED();
|
||||
HDputs(" Wrong file size.");
|
||||
printf(" got: %lu\n ans: INF\n", (unsigned long)file_size);
|
||||
goto error;
|
||||
} /* end if */
|
||||
}
|
||||
|
||||
if(H5Pclose(dcpl) < 0) FAIL_STACK_ERROR
|
||||
if(H5Dclose(dset) < 0) FAIL_STACK_ERROR
|
||||
@@ -459,35 +467,71 @@ test_unlimited(hid_t file)
|
||||
static int
|
||||
test_multiple_files(hid_t file)
|
||||
{
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* dataspace */
|
||||
hid_t dset = -1; /* dataset */
|
||||
hsize_t cur_size[1]; /* data space current size */
|
||||
hsize_t max_size[1]; /* data space maximum size */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* dataspace */
|
||||
hid_t dset = -1; /* dataset */
|
||||
hsize_t cur_size[1] = {100}; /* data space current size */
|
||||
hsize_t max_size[1] = {100}; /* data space maximum size */
|
||||
hsize_t max_ext_size; /* maximum size of external files */
|
||||
unsigned n_external_files = 4;
|
||||
|
||||
TESTING("multiple external files");
|
||||
|
||||
if((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0)
|
||||
dcpl = H5Pcreate(H5P_DATASET_CREATE);
|
||||
if(dcpl < 0)
|
||||
FAIL_STACK_ERROR
|
||||
|
||||
cur_size[0] = max_size[0] = 100;
|
||||
max_ext_size = (hsize_t)(sizeof(int) * max_size[0] / n_external_files);
|
||||
|
||||
if(H5Pset_external(dcpl, "ext1.data", (off_t)0, (hsize_t)(max_size[0]*sizeof(int)/4)) < 0)
|
||||
for (unsigned i = 0; i < n_external_files; i++) {
|
||||
char exname[9] = "";
|
||||
HDsnprintf(exname, 9, "ext%d.data", i+1);
|
||||
if (H5Pset_external(dcpl, exname, (off_t)0, max_ext_size) < 0) {
|
||||
HDfprintf(stderr, "Problem adding external file %s\n", exname);
|
||||
fflush(stderr);
|
||||
FAIL_STACK_ERROR
|
||||
}
|
||||
}
|
||||
|
||||
space = H5Screate_simple(1, cur_size, max_size);
|
||||
if(space < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if(H5Pset_external(dcpl, "ext2.data", (off_t)0, (hsize_t)(max_size[0]*sizeof(int)/4)) < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if(H5Pset_external(dcpl, "ext3.data", (off_t)0, (hsize_t)(max_size[0]*sizeof(int)/4)) < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if(H5Pset_external(dcpl, "ext4.data", (off_t)0, (hsize_t)(max_size[0]*sizeof(int)/4)) < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if((space = H5Screate_simple(1, cur_size, max_size)) < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if((dset = H5Dcreate2(file, "dset6", H5T_NATIVE_INT, space, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0)
|
||||
|
||||
dset = H5Dcreate2(file, "dset6", H5T_NATIVE_INT, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
|
||||
if(dset < 0)
|
||||
FAIL_STACK_ERROR
|
||||
|
||||
if(H5Dclose(dset) < 0) FAIL_STACK_ERROR
|
||||
if(H5Sclose(space) < 0) FAIL_STACK_ERROR
|
||||
if(H5Pclose(dcpl) < 0) FAIL_STACK_ERROR
|
||||
/* Re-use space below */
|
||||
|
||||
/* ----------------------------------------------
|
||||
* Verify that too-small external files will fail
|
||||
*/
|
||||
dcpl = H5Pcreate(H5P_DATASET_CREATE);
|
||||
if(dcpl < 0)
|
||||
FAIL_STACK_ERROR
|
||||
|
||||
max_ext_size -= 1;
|
||||
|
||||
for (unsigned i = 0; i < n_external_files; i++) {
|
||||
char exname[9] = "";
|
||||
HDsnprintf(exname, 9, "ext%d.data", i+1);
|
||||
if (H5Pset_external(dcpl, exname, (off_t)0, max_ext_size) < 0) {
|
||||
HDfprintf(stderr, "Problem adding external file %s\n", exname);
|
||||
fflush(stderr);
|
||||
FAIL_STACK_ERROR
|
||||
}
|
||||
}
|
||||
|
||||
H5E_BEGIN_TRY {
|
||||
dset = H5Dcreate2(file, "dset7", H5T_NATIVE_INT, space, H5P_DEFAULT, dcpl, H5P_DEFAULT);
|
||||
} H5E_END_TRY;
|
||||
if(dset >= 0)
|
||||
FAIL_PUTS_ERROR(" Small external files succeeded instead of failing.");
|
||||
|
||||
if(H5Pclose(dcpl) < 0) FAIL_STACK_ERROR
|
||||
if(H5Sclose(space) < 0) FAIL_STACK_ERROR
|
||||
|
||||
PASSED();
|
||||
return 0;
|
||||
@@ -519,13 +563,14 @@ error:
|
||||
static int
|
||||
test_add_to_unlimited(void)
|
||||
{
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
herr_t status; /* function return status */
|
||||
int n; /* number of external files */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
herr_t status; /* function return status */
|
||||
int n; /* number of external files */
|
||||
|
||||
TESTING("external file following unlimited file");
|
||||
|
||||
if((dcpl = H5Pcreate (H5P_DATASET_CREATE)) < 0)
|
||||
dcpl = H5Pcreate (H5P_DATASET_CREATE);
|
||||
if(dcpl < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if(H5Pset_external(dcpl, "ext1.data", (off_t)0, H5F_UNLIMITED) < 0)
|
||||
FAIL_STACK_ERROR
|
||||
@@ -536,7 +581,8 @@ test_add_to_unlimited(void)
|
||||
if(status >= 0)
|
||||
FAIL_PUTS_ERROR(" H5Pset_external() succeeded when it should have failed.");
|
||||
|
||||
if((n = H5Pget_external_count(dcpl)) < 0)
|
||||
n = H5Pget_external_count(dcpl);
|
||||
if(n < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if(1 != n)
|
||||
FAIL_PUTS_ERROR(" Wrong external file count returned.");
|
||||
@@ -570,12 +616,13 @@ test_add_to_unlimited(void)
|
||||
static int
|
||||
test_overflow(void)
|
||||
{
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
herr_t status; /* return status */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
herr_t status; /* return status */
|
||||
|
||||
TESTING("address overflow in external files");
|
||||
|
||||
if((dcpl=H5Pcreate(H5P_DATASET_CREATE)) < 0)
|
||||
dcpl = H5Pcreate (H5P_DATASET_CREATE);
|
||||
if(dcpl < 0)
|
||||
FAIL_STACK_ERROR
|
||||
if(H5Pset_external(dcpl, "ext1.data", (off_t)0, H5F_UNLIMITED-1) < 0)
|
||||
FAIL_STACK_ERROR
|
||||
@@ -615,19 +662,19 @@ test_overflow(void)
|
||||
static int
|
||||
test_read_file_set(hid_t fapl)
|
||||
{
|
||||
hid_t file = -1; /* file to write to */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
hid_t grp = -1; /* group to emit diagnostics */
|
||||
size_t i; /* miscellaneous counter */
|
||||
char filename[1024]; /* file names */
|
||||
int part[PART_SIZE]; /* raw data buffer (partial) */
|
||||
hid_t file = -1; /* file to write to */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
hid_t grp = -1; /* group to emit diagnostics */
|
||||
size_t i; /* miscellaneous counter */
|
||||
char filename[1024]; /* file names */
|
||||
int part[PART_SIZE]; /* raw data buffer (partial) */
|
||||
int whole[TOTAL_SIZE]; /* raw data buffer (total) */
|
||||
hsize_t cur_size; /* current data space size */
|
||||
hid_t hs_space = -1; /* hyperslab data space */
|
||||
hsize_t hs_start = 30; /* hyperslab starting offset */
|
||||
hsize_t hs_count = 25; /* hyperslab size */
|
||||
hsize_t cur_size; /* current data space size */
|
||||
hid_t hs_space = -1; /* hyperslab data space */
|
||||
hsize_t hs_start = 30; /* hyperslab starting offset */
|
||||
hsize_t hs_count = 25; /* hyperslab size */
|
||||
|
||||
TESTING("read external dataset");
|
||||
|
||||
@@ -656,7 +703,7 @@ test_read_file_set(hid_t fapl)
|
||||
HDsnprintf(filename, sizeof(filename), "extern_%dr.raw", (int) i + 1);
|
||||
if(H5Pset_external(dcpl, filename, (off_t)(i * GARBAGE_PER_FILE), (hsize_t)sizeof(part)) < 0)
|
||||
FAIL_STACK_ERROR
|
||||
} /* end for */
|
||||
}
|
||||
|
||||
/* Create the dataspace */
|
||||
cur_size = TOTAL_SIZE;
|
||||
@@ -733,19 +780,19 @@ test_read_file_set(hid_t fapl)
|
||||
static int
|
||||
test_write_file_set(hid_t fapl)
|
||||
{
|
||||
hid_t file = -1; /* file to which to write */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t mem_space = -1; /* memory data space */
|
||||
hid_t file_space = -1; /* file data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
unsigned i; /* miscellaneous counter */
|
||||
int part[PART_SIZE]; /* raw data buffer (partial) */
|
||||
int whole[TOTAL_SIZE]; /* raw data buffer (total) */
|
||||
hsize_t cur_size = 100; /* current data space size */
|
||||
hsize_t max_size = 200; /* maximum data space size */
|
||||
hsize_t hs_start = 100; /* hyperslab starting offset */
|
||||
hsize_t hs_count = 100; /* hyperslab size */
|
||||
char filename[1024]; /* file name */
|
||||
hid_t file = -1; /* file to which to write */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t mem_space = -1; /* memory data space */
|
||||
hid_t file_space = -1; /* file data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
unsigned i; /* miscellaneous counter */
|
||||
int part[PART_SIZE]; /* raw data buffer (partial) */
|
||||
int whole[TOTAL_SIZE]; /* raw data buffer (total) */
|
||||
hsize_t cur_size = 100; /* current data space size */
|
||||
hsize_t max_size = 200; /* maximum data space size */
|
||||
hsize_t hs_start = 100; /* hyperslab starting offset */
|
||||
hsize_t hs_count = 100; /* hyperslab size */
|
||||
char filename[1024]; /* file name */
|
||||
|
||||
TESTING("write external dataset");
|
||||
|
||||
@@ -858,16 +905,16 @@ test_write_file_set(hid_t fapl)
|
||||
static int
|
||||
test_path_absolute(hid_t fapl)
|
||||
{
|
||||
hid_t file = -1; /* file to write to */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
size_t i; /* miscellaneous counter */
|
||||
char cwdpath[1024]; /* working directory */
|
||||
char filename[1024]; /* file name */
|
||||
int part[PART_SIZE]; /* raw data buffer (partial) */
|
||||
hid_t file = -1; /* file to write to */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
size_t i; /* miscellaneous counter */
|
||||
char cwdpath[1024]; /* working directory */
|
||||
char filename[1024]; /* file name */
|
||||
int part[PART_SIZE]; /* raw data buffer (partial) */
|
||||
int whole[TOTAL_SIZE]; /* raw data buffer (total) */
|
||||
hsize_t cur_size; /* current data space size */
|
||||
hsize_t cur_size; /* current data space size */
|
||||
|
||||
TESTING("absolute filenames for external file");
|
||||
|
||||
@@ -948,16 +995,16 @@ error:
|
||||
static int
|
||||
test_path_relative(hid_t fapl)
|
||||
{
|
||||
hid_t file = -1; /* file to write to */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
size_t i; /* miscellaneous counters */
|
||||
char cwdpath[1024]; /* working directory */
|
||||
char filename[1024]; /* file name */
|
||||
int part[PART_SIZE]; /* raw data buffer (partial) */
|
||||
hid_t file = -1; /* file to write to */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dset = -1; /* dataset */
|
||||
size_t i; /* miscellaneous counters */
|
||||
char cwdpath[1024]; /* working directory */
|
||||
char filename[1024]; /* file name */
|
||||
int part[PART_SIZE]; /* raw data buffer (partial) */
|
||||
int whole[TOTAL_SIZE]; /* raw data buffer (total) */
|
||||
hsize_t cur_size; /* current data space size */
|
||||
hsize_t cur_size; /* current data space size */
|
||||
|
||||
TESTING("filenames relative to current directory for external file");
|
||||
|
||||
@@ -1038,21 +1085,21 @@ error:
|
||||
static int
|
||||
test_path_relative_cwd(hid_t fapl)
|
||||
{
|
||||
hid_t file = -1; /* file to write to */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dapl = -1; /* dataset access property list */
|
||||
hid_t dapl2 = -1; /* copy of dapl */
|
||||
hid_t dset = -1; /* dataset */
|
||||
hid_t dset2 = -1; /* dataset, opened a second time */
|
||||
hid_t dset3 = -1; /* dataset, opened with different prefix */
|
||||
size_t i; /* miscellaneous counters */
|
||||
char cwdpath[1024]; /* working directory */
|
||||
char filename[1024]; /* file name */
|
||||
int part[PART_SIZE]; /* raw data buffer (partial) */
|
||||
hid_t file = -1; /* file to write to */
|
||||
hid_t dcpl = -1; /* dataset creation properties */
|
||||
hid_t space = -1; /* data space */
|
||||
hid_t dapl = -1; /* dataset access property list */
|
||||
hid_t dapl2 = -1; /* copy of dapl */
|
||||
hid_t dset = -1; /* dataset */
|
||||
hid_t dset2 = -1; /* dataset, opened a second time */
|
||||
hid_t dset3 = -1; /* dataset, opened with different prefix */
|
||||
size_t i; /* miscellaneous counters */
|
||||
char cwdpath[1024]; /* working directory */
|
||||
char filename[1024]; /* file name */
|
||||
int part[PART_SIZE]; /* raw data buffer (partial) */
|
||||
int whole[TOTAL_SIZE]; /* raw data buffer (total) */
|
||||
hsize_t cur_size; /* current data space size */
|
||||
char buffer[1024]; /* buffer to read efile_prefix */
|
||||
hsize_t cur_size; /* current data space size */
|
||||
char buffer[1024]; /* buffer to read efile_prefix */
|
||||
|
||||
TESTING("filenames relative to HDF5 file for external file");
|
||||
|
||||
@@ -1194,14 +1241,14 @@ error:
|
||||
static int
|
||||
test_h5d_get_access_plist(hid_t fapl_id)
|
||||
{
|
||||
hid_t fid = -1; /* file to write to */
|
||||
hid_t dcpl_id = -1; /* dataset creation properties */
|
||||
hid_t dapl_id = -1; /* dataset access properties */
|
||||
hid_t sid = -1; /* data space */
|
||||
hid_t did = -1; /* dataset */
|
||||
hsize_t dims = 0; /* dataset size */
|
||||
char *buffer = NULL; /* saved prefix name from dapl */
|
||||
char filename[1024]; /* file names */
|
||||
hid_t fid = -1; /* file to write to */
|
||||
hid_t dcpl_id = -1; /* dataset creation properties */
|
||||
hid_t dapl_id = -1; /* dataset access properties */
|
||||
hid_t sid = -1; /* data space */
|
||||
hid_t did = -1; /* dataset */
|
||||
hsize_t dims = 0; /* dataset size */
|
||||
char *buffer = NULL; /* saved prefix name from dapl */
|
||||
char filename[1024]; /* file names */
|
||||
|
||||
TESTING("H5Dget_access_plist() returns correct prefix");
|
||||
|
||||
@@ -1284,7 +1331,7 @@ test_h5d_get_access_plist(hid_t fapl_id)
|
||||
*
|
||||
* Return: EXIT_SUCCESS/EXIT_FAILURE
|
||||
*
|
||||
* Programmer: Robb Matzke
|
||||
* Programmer: Robb Matzke
|
||||
* Tuesday, March 3, 1998
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
@@ -1292,13 +1339,13 @@ test_h5d_get_access_plist(hid_t fapl_id)
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
hid_t fapl_id_old = -1; /* file access properties (old format) */
|
||||
hid_t fapl_id_new = -1; /* file access properties (new format) */
|
||||
hid_t fid = -1; /* file for test_1* functions */
|
||||
hid_t gid = -1; /* group to emit diagnostics */
|
||||
char filename[1024]; /* file name for test_1* funcs */
|
||||
unsigned latest_format; /* default or latest file format */
|
||||
int nerrors = 0; /* number of errors */
|
||||
hid_t fapl_id_old = -1; /* file access properties (old format) */
|
||||
hid_t fapl_id_new = -1; /* file access properties (new format) */
|
||||
hid_t fid = -1; /* file for test_1* functions */
|
||||
hid_t gid = -1; /* group to emit diagnostics */
|
||||
char filename[1024]; /* file name for test_1* funcs */
|
||||
unsigned latest_format; /* default or latest file format */
|
||||
int nerrors = 0; /* number of errors */
|
||||
|
||||
h5_reset();
|
||||
|
||||
@@ -1324,11 +1371,11 @@ main(void)
|
||||
if(latest_format) {
|
||||
HDputs("\nTesting with the latest file format:");
|
||||
current_fapl_id = fapl_id_new;
|
||||
} /* end if */
|
||||
}
|
||||
else {
|
||||
HDputs("Testing with the default file format:");
|
||||
current_fapl_id = fapl_id_old;
|
||||
} /* end else */
|
||||
}
|
||||
|
||||
/* Create the common file used by some of the tests */
|
||||
if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, current_fapl_id)) < 0)
|
||||
@@ -1364,7 +1411,7 @@ main(void)
|
||||
/* Close the common file */
|
||||
if(H5Fclose(fid) < 0) FAIL_STACK_ERROR
|
||||
|
||||
} /* end for */
|
||||
} /* end for old and new format */
|
||||
|
||||
if(nerrors > 0) goto error;
|
||||
|
||||
@@ -1386,7 +1433,7 @@ main(void)
|
||||
HDremove("extern_4w.raw");
|
||||
|
||||
HDrmdir("extern_dir");
|
||||
} /* end if */
|
||||
}
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
|
||||
@@ -1401,3 +1448,4 @@ error:
|
||||
printf("%d TEST%s FAILED.\n", nerrors, 1 == nerrors ? "" : "s");
|
||||
return EXIT_FAILURE;
|
||||
} /* end main() */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user