diff options
author | Robb Matzke <matzke@llnl.gov> | 1998-10-16 15:40:37 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1998-10-16 15:40:37 (GMT) |
commit | 80f20333264434b449ba014161899a6d7b522b98 (patch) | |
tree | 0188b179ec625f3aeea1ee349e7dc53b1598c283 /test | |
parent | 194c45d07d5fd876e6ada1e27148035f223a0e29 (diff) | |
download | hdf5-80f20333264434b449ba014161899a6d7b522b98.zip hdf5-80f20333264434b449ba014161899a6d7b522b98.tar.gz hdf5-80f20333264434b449ba014161899a6d7b522b98.tar.bz2 |
[svn-r764] Changes since 19981014
----------------------
./bin/trace
./src/H5.c
./src/H5F.c
./src/H5Fprivate.h
./src/H5Fpublic.h
Added a `scope' argument to H5Fflush() which should be either
H5F_SCOPE_LOCAL or H5F_SCOPE_GLOBAL and determines which files
are flushed (just the specified file or the entire virtual
file).
./src/H5F.c
Added reference counts to the H5F_t struct so we get the
correct behavior between H5Funmount() and H5Fclose().
./src/H5O.c
Fixed a memory leak that happens during error handling.
./test/cmpd_dset.c
./test/unlink.c
Fixed a memory leak.
./test/mount.c
Enabled the H5Fclose() test.
Diffstat (limited to 'test')
-rw-r--r-- | test/.distdep | 154 | ||||
-rw-r--r-- | test/cmpd_dset.c | 1 | ||||
-rw-r--r-- | test/mount.c | 29 | ||||
-rw-r--r-- | test/unlink.c | 1 |
4 files changed, 110 insertions, 75 deletions
diff --git a/test/.distdep b/test/.distdep index 915513d..25cfd63 100644 --- a/test/.distdep +++ b/test/.distdep @@ -103,6 +103,32 @@ tohdr.o: \ ../src/H5Tprivate.h \ ../src/H5Tpublic.h \ ../src/H5Sprivate.h +trefer.o: \ + trefer.c \ + testhdf5.h \ + ../src/H5private.h \ + ../src/H5public.h \ + ../src/H5config.h \ + ../src/H5Eprivate.h \ + ../src/H5Epublic.h \ + ../src/H5Ipublic.h \ + ../src/hdf5.h \ + ../src/H5Apublic.h \ + ../src/H5ACpublic.h \ + ../src/H5Bpublic.h \ + ../src/H5Dpublic.h \ + ../src/H5Fpublic.h \ + ../src/H5Gpublic.h \ + ../src/H5HGpublic.h \ + ../src/H5HLpublic.h \ + ../src/H5MFpublic.h \ + ../src/H5MMpublic.h \ + ../src/H5Opublic.h \ + ../src/H5Ppublic.h \ + ../src/H5Zpublic.h \ + ../src/H5Rpublic.h \ + ../src/H5RApublic.h \ + ../src/H5Spublic.h tselect.o: \ tselect.c \ testhdf5.h \ @@ -129,6 +155,35 @@ tselect.o: \ ../src/H5Rpublic.h \ ../src/H5RApublic.h \ ../src/H5Spublic.h +tstab.o: \ + tstab.c \ + testhdf5.h \ + ../src/H5private.h \ + ../src/H5public.h \ + ../src/H5config.h \ + ../src/H5Eprivate.h \ + ../src/H5Epublic.h \ + ../src/H5Ipublic.h \ + ../src/H5Iprivate.h \ + ../src/H5ACprivate.h \ + ../src/H5ACpublic.h \ + ../src/H5Fprivate.h \ + ../src/H5Fpublic.h \ + ../src/H5Dpublic.h \ + ../src/H5Pprivate.h \ + ../src/H5Ppublic.h \ + ../src/H5Zpublic.h \ + ../src/H5Gprivate.h \ + ../src/H5Gpublic.h \ + ../src/H5Bprivate.h \ + ../src/H5Bpublic.h \ + ../src/H5Oprivate.h \ + ../src/H5Opublic.h \ + ../src/H5HGprivate.h \ + ../src/H5HGpublic.h \ + ../src/H5Tprivate.h \ + ../src/H5Tpublic.h \ + ../src/H5Sprivate.h th5s.o: \ th5s.c \ testhdf5.h \ @@ -191,6 +246,34 @@ hyperslab.o: \ ../src/H5config.h \ ../src/H5MMprivate.h \ ../src/H5MMpublic.h +istore.o: \ + istore.c \ + ../src/H5private.h \ + ../src/H5public.h \ + ../src/H5config.h \ + ../src/H5Dprivate.h \ + ../src/H5Dpublic.h \ + ../src/H5Ipublic.h \ + ../src/H5Fprivate.h \ + ../src/H5Fpublic.h \ + ../src/H5Gprivate.h \ + ../src/H5Gpublic.h \ + ../src/H5Bprivate.h \ + ../src/H5Bpublic.h \ + ../src/H5Oprivate.h \ + ../src/H5Opublic.h \ + ../src/H5HGprivate.h \ + ../src/H5HGpublic.h \ + ../src/H5Tprivate.h \ + ../src/H5Tpublic.h \ + ../src/H5Sprivate.h \ + ../src/H5Spublic.h \ + ../src/H5Zprivate.h \ + ../src/H5Zpublic.h \ + ../src/H5Iprivate.h \ + ../src/H5Pprivate.h \ + ../src/H5Ppublic.h \ + ../src/H5MMprivate.h dsets.o: \ dsets.c \ ../src/hdf5.h \ @@ -563,77 +646,17 @@ fillval.o: \ ../src/H5RApublic.h \ ../src/H5Spublic.h \ ../src/H5Tpublic.h -tstab.o: \ - tstab.c \ - testhdf5.h \ - ../src/H5private.h \ - ../src/H5public.h \ - ../src/H5config.h \ - ../src/H5Eprivate.h \ - ../src/H5Epublic.h \ - ../src/H5Ipublic.h \ - ../src/H5Iprivate.h \ - ../src/H5ACprivate.h \ - ../src/H5ACpublic.h \ - ../src/H5Fprivate.h \ - ../src/H5Fpublic.h \ - ../src/H5Dpublic.h \ - ../src/H5Pprivate.h \ - ../src/H5Ppublic.h \ - ../src/H5Zpublic.h \ - ../src/H5Gprivate.h \ - ../src/H5Gpublic.h \ - ../src/H5Bprivate.h \ - ../src/H5Bpublic.h \ - ../src/H5Oprivate.h \ - ../src/H5Opublic.h \ - ../src/H5HGprivate.h \ - ../src/H5HGpublic.h \ - ../src/H5Tprivate.h \ - ../src/H5Tpublic.h \ - ../src/H5Sprivate.h -istore.o: \ - istore.c \ - ../src/H5private.h \ - ../src/H5public.h \ - ../src/H5config.h \ - ../src/H5Dprivate.h \ - ../src/H5Dpublic.h \ - ../src/H5Ipublic.h \ - ../src/H5Fprivate.h \ - ../src/H5Fpublic.h \ - ../src/H5Gprivate.h \ - ../src/H5Gpublic.h \ - ../src/H5Bprivate.h \ - ../src/H5Bpublic.h \ - ../src/H5Oprivate.h \ - ../src/H5Opublic.h \ - ../src/H5HGprivate.h \ - ../src/H5HGpublic.h \ - ../src/H5Tprivate.h \ - ../src/H5Tpublic.h \ - ../src/H5Sprivate.h \ - ../src/H5Spublic.h \ - ../src/H5Zprivate.h \ - ../src/H5Zpublic.h \ - ../src/H5Iprivate.h \ - ../src/H5Pprivate.h \ - ../src/H5Ppublic.h \ - ../src/H5MMprivate.h -trefer.o: \ - trefer.c \ - testhdf5.h \ - ../src/H5private.h \ +mount.o: \ + mount.c \ + ../src/hdf5.h \ ../src/H5public.h \ ../src/H5config.h \ - ../src/H5Eprivate.h \ - ../src/H5Epublic.h \ ../src/H5Ipublic.h \ - ../src/hdf5.h \ ../src/H5Apublic.h \ ../src/H5ACpublic.h \ ../src/H5Bpublic.h \ ../src/H5Dpublic.h \ + ../src/H5Epublic.h \ ../src/H5Fpublic.h \ ../src/H5Gpublic.h \ ../src/H5HGpublic.h \ @@ -644,5 +667,4 @@ trefer.o: \ ../src/H5Ppublic.h \ ../src/H5Zpublic.h \ ../src/H5Rpublic.h \ - ../src/H5RApublic.h \ - ../src/H5Spublic.h + ../src/H5RApublic.h diff --git a/test/cmpd_dset.c b/test/cmpd_dset.c index 94255a4..534f3d6 100644 --- a/test/cmpd_dset.c +++ b/test/cmpd_dset.c @@ -742,7 +742,6 @@ main (void) } } } - free(s11); puts(" PASSED"); diff --git a/test/mount.c b/test/mount.c index 516eba8..e5d37ad 100644 --- a/test/mount.c +++ b/test/mount.c @@ -986,11 +986,6 @@ test_close(void) printf("%-70s", "Testing file handle close"); fflush(stdout); -#if 1 - puts(" SKIP"); - puts(" Skipped for now (until H5F_t refcounts are implemented)..."); - return 0; -#endif /* Build the virtual file */ if ((file1=H5Fopen(FILE_NAME_1, H5F_ACC_RDWR, H5P_DEFAULT))<0 || @@ -998,16 +993,34 @@ test_close(void) goto error; if (H5Fmount(file1, "/mnt1", file2, H5P_DEFAULT)<0) goto error; - /* Close by file1 */ + /* + * Close file1 unmounting it from the virtual file. Objects in file2 are + * still accessible through the file2 handle, but nothing in file1 is + * accessible. + */ if (H5Fclose(file1)<0) goto error; H5E_BEGIN_TRY { - status = H5Fclose(file2); + status = H5Gget_objinfo(file2, "/mnt1", TRUE, NULL); } H5E_END_TRY; if (status>=0) { puts("*FAILED*"); - puts(" File close should have closed all virtual file members!"); + puts(" File1 contents are still accessible!"); goto error; } + if (H5Fclose(file2)<0) goto error; + + /* Build the virtual file again */ + if ((file1=H5Fopen(FILE_NAME_1, H5F_ACC_RDWR, H5P_DEFAULT))<0 || + (file2=H5Fopen(FILE_NAME_2, H5F_ACC_RDWR, H5P_DEFAULT))<0) + goto error; + if (H5Fmount(file1, "/mnt1", file2, H5P_DEFAULT)<0) goto error; + + /* + * Close file2. It is not actually closed because it's a child of file1. + */ + if (H5Fclose(file2)<0) goto error; + if (H5Gget_objinfo(file1, "/mnt1/file2", TRUE, NULL)<0) goto error; + if (H5Fclose(file1)<0) goto error; /* Shut down */ puts(" PASSED"); diff --git a/test/unlink.c b/test/unlink.c index 2340777..a3ec4a2 100644 --- a/test/unlink.c +++ b/test/unlink.c @@ -165,6 +165,7 @@ test_many(hid_t file) /* Create a test group */ if ((work=H5Gcreate(file, "/test_many", 0))<0) goto error; if ((grp = H5Gcreate(work, "/test_many_foo", 0))<0) goto error; + if (H5Gclose(grp)<0) goto error; /* Create a bunch of names and unlink them in order */ printf("%-70s", "Testing forward unlink"); |