diff options
Diffstat (limited to 'test/mtime.c')
-rw-r--r-- | test/mtime.c | 156 |
1 files changed, 78 insertions, 78 deletions
diff --git a/test/mtime.c b/test/mtime.c index 0d66e12..d49dd5a 100644 --- a/test/mtime.c +++ b/test/mtime.c @@ -63,7 +63,7 @@ main(void) hsize_t size[1] = {2}; time_t now; struct tm *tm; - H5G_stat_t sb1, sb2; + H5O_info_t oi1, oi2; signed char buf1[32], buf2[32]; char filename[1024]; @@ -74,51 +74,51 @@ main(void) /* Create the file, create a dataset, then close the file */ h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0) + if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR; - if ((space=H5Screate_simple(1, size, NULL))<0) TEST_ERROR; - if ((dset=H5Dcreate(file, "dset", H5T_NATIVE_SCHAR, space, H5P_DEFAULT))<0) + if((space = H5Screate_simple(1, size, NULL)) < 0) TEST_ERROR; + if((dset = H5Dcreate(file, "dset", H5T_NATIVE_SCHAR, space, H5P_DEFAULT)) < 0) TEST_ERROR; - now = time(NULL); - if (H5Dclose(dset)<0) TEST_ERROR; - if (H5Sclose(space)<0) TEST_ERROR; - if (H5Fclose(file)<0) TEST_ERROR; + now = HDtime(NULL); + if(H5Dclose(dset) < 0) TEST_ERROR; + if(H5Sclose(space) < 0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR; /* - * Open the file and get the modification time. We'll test the new - * H5Gget_objinfo() arguments too: being able to stat something without - * knowing its name. - */ + * Open the file and get the modification time. We'll test the + * H5Oget_info() arguments too: being able to stat something without + * knowing its name. + */ h5_fixname(FILENAME[0], fapl, filename, sizeof filename); - if ((file = H5Fopen(filename, H5F_ACC_RDONLY, fapl))<0) TEST_ERROR; - if (H5Gget_objinfo(file, "dset", TRUE, &sb1)<0) TEST_ERROR; - if ((dset=H5Dopen(file, "dset"))<0) TEST_ERROR; - if (H5Gget_objinfo(dset, ".", TRUE, &sb2)<0) TEST_ERROR; - if (H5Dclose(dset)<0) TEST_ERROR; - if (H5Fclose(file)<0) TEST_ERROR; - - /* Compare times from the two ways of calling H5Gget_objinfo() */ - if (HDmemcmp(&sb1.objno, &sb2.objno, sizeof(sb1.objno)) || sb1.mtime!=sb2.mtime) { + if((file = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR; + if(H5Oget_info(file, "dset", &oi1, H5P_DEFAULT) < 0) TEST_ERROR; + if((dset = H5Dopen(file, "dset")) < 0) TEST_ERROR; + if(H5Oget_info(dset, ".", &oi2, H5P_DEFAULT) < 0) TEST_ERROR; + if(H5Dclose(dset) < 0) TEST_ERROR; + if(H5Fclose(file) < 0) TEST_ERROR; + + /* Compare addresses & times from the two ways of calling H5Oget_info() */ + if(oi1.addr != oi2.addr || oi1.mtime != oi2.mtime) { H5_FAILED(); - puts(" Calling H5Gget_objinfo() with the dataset ID returned"); + puts(" Calling H5Oget_info() with the dataset ID returned"); puts(" different values than calling it with a file and dataset"); puts(" name."); goto error; } /* Compare times -- they must be within 60 seconds of one another */ - if (0==sb1.mtime) { + if(0 == oi1.mtime) { SKIPPED(); puts(" The modification time could not be decoded on this OS."); puts(" Modification times will be mantained in the file but"); puts(" cannot be queried on this system. See H5O_mtime_decode()."); return 0; - } else if (fabs(HDdifftime(now, sb1.mtime))>60.0) { + } else if(HDfabs(HDdifftime(now, oi1.mtime)) > 60.0) { H5_FAILED(); - tm = localtime(&(sb1.mtime)); - strftime((char*)buf1, sizeof buf1, "%Y-%m-%d %H:%M:%S", tm); - tm = localtime(&now); - strftime((char*)buf2, sizeof buf2, "%Y-%m-%d %H:%M:%S", tm); + tm = HDlocaltime(&(oi1.mtime)); + HDstrftime((char*)buf1, sizeof buf1, "%Y-%m-%d %H:%M:%S", tm); + tm = HDlocaltime(&now); + HDstrftime((char*)buf2, sizeof buf2, "%Y-%m-%d %H:%M:%S", tm); printf(" got: %s\n ans: %s\n", buf1, buf2); goto error; } @@ -131,32 +131,33 @@ main(void) TESTING("accessing old modification time messages"); { - char testfile[512]=""; - char *srcdir = HDgetenv("srcdir"); - if (srcdir && ((HDstrlen(srcdir) + strlen(TESTFILE1) + 1) < sizeof(testfile))){ - HDstrcpy(testfile, srcdir); - HDstrcat(testfile, "/"); - } - HDstrcat(testfile, TESTFILE1); - file = H5Fopen(testfile, H5F_ACC_RDONLY, H5P_DEFAULT); - if (file >= 0){ - if(H5Gget_objinfo(file, "/Dataset1", TRUE, &sb1)<0) - TEST_ERROR; - if(sb1.mtime!=MTIME1) { + char testfile[512]=""; + char *srcdir = HDgetenv("srcdir"); + + if(srcdir && ((HDstrlen(srcdir) + strlen(TESTFILE1) + 1) < sizeof(testfile))){ + HDstrcpy(testfile, srcdir); + HDstrcat(testfile, "/"); + } + HDstrcat(testfile, TESTFILE1); + file = H5Fopen(testfile, H5F_ACC_RDONLY, H5P_DEFAULT); + if(file >= 0){ + if(H5Oget_info(file, "/Dataset1", &oi1, H5P_DEFAULT) < 0) + TEST_ERROR; + if(oi1.mtime != MTIME1) { + H5_FAILED(); + /* If this fails, examine H5Omtime.c. Modification time is very + * system dependant (e.g., on Windows DST must be hardcoded). */ + puts(" Old modification time incorrect"); + goto error; + } + if(H5Fclose(file) < 0) TEST_ERROR; + } + else { H5_FAILED(); - /* If this fails, examine H5Omtime.c. Modification time is very - * system dependant (e.g., on Windows DST must be hardcoded). */ - puts(" Old modification time incorrect"); + printf("***cannot open the pre-created old modification test file (%s)\n", + testfile); goto error; - } - if (H5Fclose(file)<0) TEST_ERROR; - } - else { - H5_FAILED(); - printf("***cannot open the pre-created old modification test file (%s)\n", - testfile); - goto error; - } /* end else */ + } /* end else */ } PASSED(); @@ -166,30 +167,31 @@ main(void) TESTING("accessing new modification time messages"); { - char testfile[512]=""; - char *srcdir = HDgetenv("srcdir"); - if (srcdir && ((HDstrlen(srcdir) + strlen(TESTFILE2) + 1) < sizeof(testfile))){ - HDstrcpy(testfile, srcdir); - HDstrcat(testfile, "/"); - } - HDstrcat(testfile, TESTFILE2); - file = H5Fopen(testfile, H5F_ACC_RDONLY, H5P_DEFAULT); - if (file >= 0){ - if(H5Gget_objinfo(file, "/Dataset1", TRUE, &sb2)<0) - TEST_ERROR; - if(sb2.mtime!=MTIME2) { - H5_FAILED(); - puts(" Modification time incorrect."); - goto error; + char testfile[512]=""; + char *srcdir = HDgetenv("srcdir"); + + if(srcdir && ((HDstrlen(srcdir) + strlen(TESTFILE2) + 1) < sizeof(testfile))){ + HDstrcpy(testfile, srcdir); + HDstrcat(testfile, "/"); } - if (H5Fclose(file)<0) TEST_ERROR; - } - else { - H5_FAILED(); - printf("***cannot open the pre-created old modification test file (%s)\n", - testfile); - goto error; - } /* end else */ + HDstrcat(testfile, TESTFILE2); + file = H5Fopen(testfile, H5F_ACC_RDONLY, H5P_DEFAULT); + if(file >= 0){ + if(H5Oget_info(file, "/Dataset1", &oi2, H5P_DEFAULT) < 0) + TEST_ERROR; + if(oi2.mtime != MTIME2) { + H5_FAILED(); + puts(" Modification time incorrect."); + goto error; + } + if(H5Fclose(file) < 0) TEST_ERROR; + } + else { + H5_FAILED(); + printf("***cannot open the pre-created old modification test file (%s)\n", + testfile); + goto error; + } /* end else */ } PASSED(); @@ -199,9 +201,7 @@ main(void) return 0; /* Something broke */ - error: +error: return 1; } - - |