summaryrefslogtreecommitdiffstats
path: root/test/mtime.c
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1998-11-23 20:40:35 (GMT)
committerRobb Matzke <matzke@llnl.gov>1998-11-23 20:40:35 (GMT)
commitdedc8c37b4fd21a657313a6ecd43318fa4b0fa5c (patch)
treec7ba6d465bfe7ccf19bbac452d81d40358f9241b /test/mtime.c
parentae8f25bd43666b75275f6cb9e2bf0c084f8cea5e (diff)
downloadhdf5-dedc8c37b4fd21a657313a6ecd43318fa4b0fa5c.zip
hdf5-dedc8c37b4fd21a657313a6ecd43318fa4b0fa5c.tar.gz
hdf5-dedc8c37b4fd21a657313a6ecd43318fa4b0fa5c.tar.bz2
[svn-r944] Changes since 19981120
---------------------- ./MANIFEST ./test/Makefile.in ./test/shtype.c [REMOVED] Removed shtype.c because it was all commented out. Besides, these tests are done in dtypes.c now anyway. ./test/external.c ./test/fillval.c ./test/flush1.c ./test/flush2.c ./test/links.c ./test/mount.c ./test/mtime.c ./test/unlink.c The tests that check the HDF5 API use the h5test support functions. For one thing, that means that you can specify the file driver that thay use by the HDF5_DRIVER environment variable. Possible values are: HDF5_DRIVER='sec2' Use read() and write() HDF5_DRIVER='stdio' Use fread() and fwrite() HDF5_DRIVER='core' Use malloc() and free() HDF5_DRIVER='split' Split meta and raw data HDF5_DRIVER='family N' Use file families with each member being N megabytes (N can be fractional, defaults to one). Some tests might fail for certain drivers: for instance, the mount and link tests fail for the `core' driver because they must be able to close and then reopen a file.
Diffstat (limited to 'test/mtime.c')
-rw-r--r--test/mtime.c112
1 files changed, 34 insertions, 78 deletions
diff --git a/test/mtime.c b/test/mtime.c
index 6fadbfd..54188ca 100644
--- a/test/mtime.c
+++ b/test/mtime.c
@@ -10,61 +10,12 @@
* very OS-dependent and this test tries to figure out if it's
* working properly.
*/
+#include <h5test.h>
-/* See H5private.h for how to include headers */
-#undef NDEBUG
-#include <hdf5.h>
-#include <H5private.h> /*for HDdifftime() and __unused__ */
-
-#define FILE_NAME_1 "mtime.h5"
-
-
-/*-------------------------------------------------------------------------
- * Function: display_error_cb
- *
- * Purpose: Displays the error stack after printing "*FAILED*".
- *
- * Return: Success: 0
- *
- * Failure: -1
- *
- * Programmer: Robb Matzke
- * Wednesday, March 4, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static herr_t
-display_error_cb (void __unused__ *client_data)
-{
- puts ("*FAILED*");
- H5Eprint (stdout);
- return 0;
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: cleanup
- *
- * Purpose: Removes test files
- *
- * Return: void
- *
- * Programmer: Robb Matzke
- * Thursday, June 4, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-static void
-cleanup (void)
-{
- if (!getenv ("HDF5_NOCLEANUP")) {
- remove (FILE_NAME_1);
- }
-}
+const char *FILENAME[] = {
+ "mtime",
+ NULL
+};
/*-------------------------------------------------------------------------
@@ -86,22 +37,25 @@ cleanup (void)
int
main(void)
{
- hid_t file, space, dset;
+ hid_t fapl, file, space, dset;
hsize_t size[1] = {2};
time_t now;
struct tm *tm;
H5G_stat_t sb1, sb2;
- char buf1[32], buf2[32];
+ char buf1[32], buf2[32], filename[1024];
- H5Eset_auto(display_error_cb, NULL);
- printf("%-70s", "Testing modification time messages");
+ h5_reset();
+ fapl = h5_fileaccess();
+
+ TESTING("modification time messages");
/* Create the file, create a dataset, then close the file */
- file = H5Fcreate(FILE_NAME_1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
- if (file<0) return 1;
- if ((space = H5Screate_simple(1, size, NULL))<0) return 1;
- dset = H5Dcreate(file, "dset", H5T_NATIVE_CHAR, space, H5P_DEFAULT);
- if (dset<0) return 1;
+ h5_fixname(FILENAME[0], fapl, filename, sizeof filename);
+ if ((file=H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl))<0)
+ return 1;
+ if ((space=H5Screate_simple(1, size, NULL))<0) return 1;
+ if ((dset=H5Dcreate(file, "dset", H5T_NATIVE_CHAR, space, H5P_DEFAULT))<0)
+ return 1;
now = time(NULL);
if (H5Dclose(dset)<0) return 1;
if (H5Sclose(space)<0) return 1;
@@ -109,10 +63,11 @@ main(void)
/*
* 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.
+ * H5Gget_objinfo() arguments too: being able to stat something without
+ * knowing its name.
*/
- if ((file = H5Fopen(FILE_NAME_1, H5F_ACC_RDONLY, H5P_DEFAULT))<0) return 1;
+ h5_fixname(FILENAME[0], fapl, filename, sizeof filename);
+ if ((file = H5Fopen(filename, H5F_ACC_RDONLY, fapl))<0) return 1;
if (H5Gget_objinfo(file, "dset", TRUE, &sb1)<0) return 1;
if ((dset=H5Dopen(file, "dset"))<0) return 1;
if (H5Gget_objinfo(dset, ".", TRUE, &sb2)<0) return 1;
@@ -122,33 +77,34 @@ main(void)
/* Compare times from the two ways of calling H5Gget_objinfo() */
if (sb1.objno[0]!=sb2.objno[0] || sb1.objno[1]!=sb2.objno[1] ||
sb1.mtime!=sb2.mtime) {
- puts("*FAILED*");
- puts(" Calling H5Gget_objinfo() with the dataset ID returned different");
- puts(" values than calling it with a file and dataset name.");
+ FAILED();
+ puts(" Calling H5Gget_objinfo() with the dataset ID returned");
+ puts(" different values than calling it with a file and dataset");
+ puts(" name.");
return 1;
}
/* Compare times -- they must be within 60 seconds of one another */
if (0==sb1.mtime) {
- puts("--SKIP--");
- puts(" The modification time could not be decoded on this OS.");
- puts(" Modification times will be mantained in the file but cannot");
- puts(" be queried on this system. See H5O_mtime_decode().");
+ 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) {
- puts("*FAILED*");
+ FAILED();
tm = localtime(&(sb1.mtime));
strftime(buf1, sizeof buf1, "%Y-%m-%d %H:%M:%S", tm);
tm = localtime(&now);
strftime(buf2, sizeof buf2, "%Y-%m-%d %H:%M:%S", tm);
- printf(" Got %s instead of %s\n", buf1, buf2);
+ printf(" got: %s\n ans: %s\n", buf1, buf2);
return 1;
}
/* All looks good */
- puts(" PASSED");
- printf("All modification time tests passed.\n");
- cleanup();
+ PASSED();
+ puts("All modification time tests passed.");
+ h5_cleanup(fapl);
return 0;
}