Merge pull request #264 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop

* commit 'c4c1ce8cc32aa9428dfb8a0d73bb4bffb7ae682d':
  HDFFV-10046 Fix windows parse error
  Disable SHARED cache test on windows
This commit is contained in:
Allen Byrne 2017-01-26 11:12:02 -06:00
commit 768636dbd7
3 changed files with 180 additions and 179 deletions

View File

@ -819,7 +819,7 @@ add_test (NAME H5TEST-testlibinfo
if (BUILD_SHARED_LIBS)
#-- Adding test for cache
if (NOT CYGWIN)
if (NOT CYGWIN AND NOT WIN32)
add_test (NAME H5TEST-shared-clear-cache-objects
COMMAND ${CMAKE_COMMAND}
-E remove
@ -1022,7 +1022,7 @@ if (HDF5_TEST_VFD)
# links_env
unregister
)
if (NOT CYGWIN)
if (NOT CYGWIN AND NOT WIN32)
set (H5_VFD_TESTS ${H5_VFD_TESTS} big cache)
endif ()
@ -1185,7 +1185,7 @@ if (HDF5_TEST_VFD)
set_tests_properties (VFD-${vfdname}-flush1-shared PROPERTIES TIMEOUT 10)
set_tests_properties (VFD-${vfdname}-flush2-shared PROPERTIES TIMEOUT 10)
set_tests_properties (VFD-${vfdname}-istore-shared PROPERTIES TIMEOUT 1800)
if (NOT CYGWIN)
if (NOT CYGWIN AND NOT WIN32)
set_tests_properties (VFD-${vfdname}-cache-shared PROPERTIES TIMEOUT 1800)
endif ()
endif ()

View File

@ -213,9 +213,9 @@ static void usage(const char *prog) {
*-------------------------------------------------------------------------
*/
static void leave(int ret) {
h5tools_close();
h5tools_close();
HDexit(ret);
HDexit(ret);
}
/*-------------------------------------------------------------------------
@ -235,7 +235,7 @@ static void leave(int ret) {
static
int read_info(const char *filename, pack_opt_t *options) {
char stype[10];
char stype[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
char comp_info[1024];
FILE *fp = NULL;
char c;
@ -372,183 +372,183 @@ done:
static
int parse_command_line(int argc, const char **argv, pack_opt_t* options) {
int opt;
int ret_value = 0;
int opt;
int ret_value = 0;
/* parse command line options */
while ((opt = get_option(argc, argv, s_opts, l_opts)) != EOF) {
switch ((char) opt) {
/* parse command line options */
while ((opt = get_option(argc, argv, s_opts, l_opts)) != EOF) {
switch ((char) opt) {
/* -i for backward compability */
case 'i':
infile = opt_arg;
has_i_o = 1;
break;
/* -i for backward compability */
case 'i':
infile = opt_arg;
has_i_o = 1;
break;
/* -o for backward compability */
case 'o':
outfile = opt_arg;
has_i_o = 1;
break;
/* -o for backward compability */
case 'o':
outfile = opt_arg;
has_i_o = 1;
break;
case 'h':
usage(h5tools_getprogname());
h5tools_setstatus(EXIT_SUCCESS);
ret_value = -1;
goto done;
case 'h':
usage(h5tools_getprogname());
h5tools_setstatus(EXIT_SUCCESS);
ret_value = -1;
goto done;
case 'V':
print_version(h5tools_getprogname());
h5tools_setstatus(EXIT_SUCCESS);
ret_value = -1;
goto done;
case 'V':
print_version(h5tools_getprogname());
h5tools_setstatus(EXIT_SUCCESS);
ret_value = -1;
goto done;
case 'v':
options->verbose = 1;
break;
case 'v':
options->verbose = 1;
break;
case 'f':
/* parse the -f filter option */
if (h5repack_addfilter(opt_arg, options) < 0) {
error_msg("in parsing filter\n");
h5tools_setstatus(EXIT_FAILURE);
ret_value = -1;
goto done;
}
break;
case 'f':
/* parse the -f filter option */
if (h5repack_addfilter(opt_arg, options) < 0) {
error_msg("in parsing filter\n");
h5tools_setstatus(EXIT_FAILURE);
ret_value = -1;
goto done;
}
break;
case 'l':
/* parse the -l layout option */
if (h5repack_addlayout(opt_arg, options) < 0) {
error_msg("in parsing layout\n");
h5tools_setstatus(EXIT_FAILURE);
ret_value = -1;
goto done;
}
break;
case 'l':
/* parse the -l layout option */
if (h5repack_addlayout(opt_arg, options) < 0) {
error_msg("in parsing layout\n");
h5tools_setstatus(EXIT_FAILURE);
ret_value = -1;
goto done;
}
break;
case 'm':
options->min_comp = HDstrtoull(opt_arg , NULL, 0);
if ((int) options->min_comp <= 0) {
error_msg("invalid minimum compress size <%s>\n", opt_arg);
h5tools_setstatus(EXIT_FAILURE);
ret_value = -1;
goto done;
}
break;
case 'm':
options->min_comp = HDstrtoull(opt_arg , NULL, 0);
if ((int) options->min_comp <= 0) {
error_msg("invalid minimum compress size <%s>\n", opt_arg);
h5tools_setstatus(EXIT_FAILURE);
ret_value = -1;
goto done;
}
break;
case 'e':
ret_value = read_info(opt_arg, options);
if (ret_value < 0)
goto done;
break;
case 'e':
ret_value = read_info(opt_arg, options);
if (ret_value < 0)
goto done;
break;
case 'n':
options->use_native = 1;
break;
case 'n':
options->use_native = 1;
break;
case 'L':
options->latest = TRUE;
break;
case 'L':
options->latest = TRUE;
break;
case 'c':
options->grp_compact = HDatoi( opt_arg );
if (options->grp_compact > 0)
options->latest = TRUE; /* must use latest format */
break;
case 'c':
options->grp_compact = HDatoi( opt_arg );
if (options->grp_compact > 0)
options->latest = TRUE; /* must use latest format */
break;
case 'd':
options->grp_indexed = HDatoi( opt_arg );
if (options->grp_indexed > 0)
options->latest = TRUE; /* must use latest format */
break;
case 'd':
options->grp_indexed = HDatoi( opt_arg );
if (options->grp_indexed > 0)
options->latest = TRUE; /* must use latest format */
break;
case 's':
{
int idx = 0;
int ssize = 0;
char *msgPtr = HDstrchr( opt_arg, ':');
options->latest = TRUE; /* must use latest format */
if (msgPtr == NULL) {
ssize = HDatoi( opt_arg );
for (idx = 0; idx < 5; idx++)
options->msg_size[idx] = ssize;
}
else {
char msgType[10];
HDstrcpy(msgType, msgPtr + 1);
msgPtr[0] = '\0';
ssize = HDatoi( opt_arg );
if (HDstrncmp(msgType, "dspace",6) == 0) {
options->msg_size[0] = ssize;
}
else if (HDstrncmp(msgType, "dtype", 5) == 0) {
options->msg_size[1] = ssize;
}
else if (HDstrncmp(msgType, "fill", 4) == 0) {
options->msg_size[2] = ssize;
}
else if (HDstrncmp(msgType, "pline", 5) == 0) {
options->msg_size[3] = ssize;
}
else if (HDstrncmp(msgType, "attr", 4) == 0) {
options->msg_size[4] = ssize;
}
}
}
break;
case 's':
{
int idx = 0;
int ssize = 0;
char *msgPtr = HDstrchr( opt_arg, ':');
options->latest = TRUE; /* must use latest format */
if (msgPtr == NULL) {
ssize = HDatoi( opt_arg );
for (idx = 0; idx < 5; idx++)
options->msg_size[idx] = ssize;
}
else {
char msgType[10];
HDstrcpy(msgType, msgPtr + 1);
msgPtr[0] = '\0';
ssize = HDatoi( opt_arg );
if (HDstrncmp(msgType, "dspace",6) == 0) {
options->msg_size[0] = ssize;
}
else if (HDstrncmp(msgType, "dtype", 5) == 0) {
options->msg_size[1] = ssize;
}
else if (HDstrncmp(msgType, "fill", 4) == 0) {
options->msg_size[2] = ssize;
}
else if (HDstrncmp(msgType, "pline", 5) == 0) {
options->msg_size[3] = ssize;
}
else if (HDstrncmp(msgType, "attr", 4) == 0) {
options->msg_size[4] = ssize;
}
}
}
break;
case 'u':
options->ublock_filename = opt_arg;
break;
case 'u':
options->ublock_filename = opt_arg;
break;
case 'b':
options->ublock_size = (hsize_t) HDatol( opt_arg );
break;
case 'b':
options->ublock_size = (hsize_t) HDatol( opt_arg );
break;
case 'M':
options->meta_block_size = (hsize_t) HDatol( opt_arg );
break;
case 'M':
options->meta_block_size = (hsize_t) HDatol( opt_arg );
break;
case 't':
options->threshold = (hsize_t) HDatol( opt_arg );
break;
case 't':
options->threshold = (hsize_t) HDatol( opt_arg );
break;
case 'a':
options->alignment = HDstrtoull(opt_arg , NULL, 0);
if (options->alignment < 1) {
error_msg("invalid alignment size\n", opt_arg);
h5tools_setstatus(EXIT_FAILURE);
ret_value = -1;
goto done;
}
break;
case 'a':
options->alignment = HDstrtoull(opt_arg , NULL, 0);
if (options->alignment < 1) {
error_msg("invalid alignment size\n", opt_arg);
h5tools_setstatus(EXIT_FAILURE);
ret_value = -1;
goto done;
}
break;
case 'S':
{
char strategy[MAX_NC_NAME];
case 'S':
{
char strategy[MAX_NC_NAME];
HDstrcpy(strategy, opt_arg);
if (!HDstrcmp(strategy, "ALL_PERSIST"))
options->fs_strategy = H5F_FILE_SPACE_ALL_PERSIST;
else if (!HDstrcmp(strategy, "ALL"))
options->fs_strategy = H5F_FILE_SPACE_ALL;
else if (!HDstrcmp(strategy, "AGGR_VFD"))
options->fs_strategy = H5F_FILE_SPACE_AGGR_VFD;
else if (!HDstrcmp(strategy, "VFD"))
options->fs_strategy = H5F_FILE_SPACE_VFD;
else {
error_msg("invalid file space management strategy\n", opt_arg);
h5tools_setstatus(EXIT_FAILURE);
ret_value = -1;
goto done;
}
}
break;
HDstrcpy(strategy, opt_arg);
if (!HDstrcmp(strategy, "ALL_PERSIST"))
options->fs_strategy = H5F_FILE_SPACE_ALL_PERSIST;
else if (!HDstrcmp(strategy, "ALL"))
options->fs_strategy = H5F_FILE_SPACE_ALL;
else if (!HDstrcmp(strategy, "AGGR_VFD"))
options->fs_strategy = H5F_FILE_SPACE_AGGR_VFD;
else if (!HDstrcmp(strategy, "VFD"))
options->fs_strategy = H5F_FILE_SPACE_VFD;
else {
error_msg("invalid file space management strategy\n", opt_arg);
h5tools_setstatus(EXIT_FAILURE);
ret_value = -1;
goto done;
}
}
break;
case 'T':
options->fs_threshold = (hsize_t) HDatol( opt_arg );
break;
case 'T':
options->fs_threshold = (hsize_t) HDatol( opt_arg );
break;
case 'E':
enable_error_stack = TRUE;
@ -561,17 +561,17 @@ int parse_command_line(int argc, const char **argv, pack_opt_t* options) {
} /* while */
if (has_i_o == 0) {
/* check for file names to be processed */
if (argc <= opt_ind || argv[opt_ind + 1] == NULL) {
error_msg("missing file names\n");
usage(h5tools_getprogname());
h5tools_setstatus(EXIT_FAILURE);
ret_value = -1;
}
}
/* check for file names to be processed */
if (argc <= opt_ind || argv[opt_ind + 1] == NULL) {
error_msg("missing file names\n");
usage(h5tools_getprogname());
h5tools_setstatus(EXIT_FAILURE);
ret_value = -1;
}
}
done:
return ret_value;
return ret_value;
}
/*-------------------------------------------------------------------------
@ -597,10 +597,10 @@ int main(int argc, const char **argv) {
void *edata;
void *tools_edata;
pack_opt_t options; /*the global options */
pack_opt_t options; /*the global options */
h5tools_setprogname(PROGRAMNAME);
h5tools_setstatus(EXIT_SUCCESS);
h5tools_setprogname(PROGRAMNAME);
h5tools_setstatus(EXIT_SUCCESS);
/* Disable error reporting */
H5Eget_auto2(H5E_DEFAULT, &func, &edata);
@ -653,12 +653,12 @@ int main(int argc, const char **argv) {
}
/* pack it */
h5tools_setstatus(h5repack(infile, outfile, &options));
h5tools_setstatus(h5repack(infile, outfile, &options));
done:
/* free tables */
h5repack_end(&options);
/* free tables */
h5repack_end(&options);
leave(h5tools_getstatus());
leave(h5tools_getstatus());
}

View File

@ -47,9 +47,9 @@ obj_list_t* parse_filter(const char *str, unsigned *n_objs, filter_info_t *filt,
int k, l, p, q, end_obj = -1, no_param = 0;
unsigned j, n;
char sobj[MAX_NC_NAME];
char scomp[10];
char stype[6];
char smask[3];
char scomp[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
char stype[6] = {0, 0, 0, 0, 0, 0};
char smask[3] = {0, 0, 0};
obj_list_t* obj_list = NULL;
unsigned pixels_per_block;
@ -396,6 +396,7 @@ obj_list_t* parse_filter(const char *str, unsigned *n_objs, filter_info_t *filt,
error_msg("invalid filter type in <%s>\n", str);
HDexit(EXIT_FAILURE);
}
break;
}
} /*i*/