summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVishwanath Venkatesan <vish@hdfgroup.org>2013-08-02 23:31:22 (GMT)
committerVishwanath Venkatesan <vish@hdfgroup.org>2013-08-02 23:31:22 (GMT)
commit9f774224276a4ee012e7b76f14151ed98e3639b9 (patch)
tree9c02de6305afea6ac0dea78d8691b4a91e8d083b
parent738b1dfed505356f889e773cbe87ddd07965ace8 (diff)
downloadhdf5-9f774224276a4ee012e7b76f14151ed98e3639b9.zip
hdf5-9f774224276a4ee012e7b76f14151ed98e3639b9.tar.gz
hdf5-9f774224276a4ee012e7b76f14151ed98e3639b9.tar.bz2
[svn-r23967] Adding the read_tests.. and the modification the Makefile accordingly.
-rw-r--r--test/compactor_write_tests/Makefile10
-rw-r--r--test/compactor_write_tests/multiple-writes-test1.c1
-rw-r--r--test/compactor_write_tests/read_test_1.c139
-rw-r--r--test/compactor_write_tests/read_test_2.c235
4 files changed, 383 insertions, 2 deletions
diff --git a/test/compactor_write_tests/Makefile b/test/compactor_write_tests/Makefile
index 7c9ebf8..f9bed45 100644
--- a/test/compactor_write_tests/Makefile
+++ b/test/compactor_write_tests/Makefile
@@ -1,4 +1,4 @@
-all: multiple-writes parallel-writes native-writes server
+all: multiple-writes parallel-writes native-writes read-tests server
multiple-writes:
h5pcc -o multiple-writes-test1 multiple-writes-test1.c
@@ -19,9 +19,15 @@ native-writes:
h5pcc -o native-write-test2 native_write_test2.c
h5pcc -o native-write-test3 native_write_test3.c
h5pcc -o native-parallel-write native-parallel-write.c
+read-tests:
+ h5pcc -o read_test_1 read_test_1.c
+ h5pcc -o read_test_2 read_test_2.c
+
clean:
- rm -rf multiple-writes-test1 multiple-writes-test2
+ rm -rf multiple-writes-test1 multiple-writes-test2 read_test_1
rm -rf multiple-writes-test3 multiple-writes-test4 multiple-writes-test5
rm -rf server *.o *~
rm -rf parallel_write native-write-basic *.cfg
rm -rf native-write-test1 native-write-test2
+ rm -rf native-write-basic native-write-test3 native-parallel-write
+ rm -rf read_test_1 read_test_2
diff --git a/test/compactor_write_tests/multiple-writes-test1.c b/test/compactor_write_tests/multiple-writes-test1.c
index 3648bd7..754de5b 100644
--- a/test/compactor_write_tests/multiple-writes-test1.c
+++ b/test/compactor_write_tests/multiple-writes-test1.c
@@ -50,6 +50,7 @@ int main (int argc, char **argv){
if (my_size > 1){
fprintf(stderr, "APP processes = %d cannot be greater than 1 \n", my_size);
+ EFF_finalize();
MPI_Finalize();
}
diff --git a/test/compactor_write_tests/read_test_1.c b/test/compactor_write_tests/read_test_1.c
new file mode 100644
index 0000000..0ef3edc
--- /dev/null
+++ b/test/compactor_write_tests/read_test_1.c
@@ -0,0 +1,139 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+#include "mpi.h"
+#include "hdf5.h"
+
+#define NX 16
+#define NY 8
+#define RANK 2
+
+
+
+int main (int argc, char **argv){
+
+ const char filename[] = "eff_file.h5";
+ hid_t file_id;
+ hid_t dataspace1, dataspace2;
+ hid_t dset_id;
+ hid_t fapl_id, dxpl_id;
+
+ const unsigned int nelem = 60;
+ int *data = NULL, *data1 = NULL;
+ unsigned int i = 0;
+ hsize_t dimsf[2];
+ hsize_t count[2], offset[2];
+ int my_rank, my_size, ret;
+ int provided;
+ hid_t event_q, int_id;
+ int num_requests = 0;
+ H5_status_t *status = NULL;
+ MPI_Comm comm;
+ MPI_Info info;
+
+
+ MPI_Init_thread(&argc, &argv, MPI_THREAD_MULTIPLE, &provided);
+ if(MPI_THREAD_MULTIPLE != provided) {
+ fprintf(stderr, "MPI does not have MPI_THREAD_MULTIPLE support\n");
+ exit(1);
+ }
+
+ comm = MPI_COMM_WORLD;
+ info = MPI_INFO_NULL;
+
+ EFF_init (comm, info);
+ MPI_Comm_rank (comm, &my_rank);
+ MPI_Comm_size (comm, &my_size);
+
+ if (my_size > 1){
+ fprintf(stderr, "APP processes = %d cannot be greater than 1 \n", my_size);
+ EFF_finalize();
+ MPI_Finalize();
+ }
+
+ fapl_id = H5Pcreate (H5P_FILE_ACCESS);
+ H5Pset_fapl_iod(fapl_id, comm, info);
+
+ event_q = H5EQcreate(fapl_id);
+ assert(event_q);
+
+ file_id = H5Fcreate_ff(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id, event_q);
+ assert(file_id);
+
+ dimsf[0] = NX;
+ dimsf[1] = NY;
+
+ dataspace1 = H5Screate_simple(RANK, dimsf, NULL);
+
+
+ dset_id = H5Dcreate_ff (file_id, "D1", H5T_NATIVE_INT, dataspace1,
+ H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT, 0, event_q);
+ assert(dset_id);
+
+ count[0] = 8;
+ count[1] = 8;
+ offset[0] = 0;
+ offset[1] = 0;
+
+ dataspace2 = H5Screate_simple(RANK, count, NULL);
+
+ H5Sselect_hyperslab(dataspace1,
+ H5S_SELECT_SET,
+ offset,
+ NULL,
+ count,
+ NULL);
+ data = (int *) malloc (sizeof(int)*count[0]*count[1]);
+
+ for (i = 0; i < count[0]*count[1]; i++){
+ data[i] = 10;
+ }
+ ret = H5Dwrite_ff(dset_id,
+ H5T_NATIVE_INT,
+ dataspace2,
+ dataspace1,
+ H5P_DEFAULT,
+ data,
+ 0,
+ event_q);
+ assert(ret == 0);
+
+ data1 = (int *) malloc(sizeof(int)*count[0]*count[1]);
+ ret = H5Dread_ff(dset_id,
+ H5T_NATIVE_INT,
+ dataspace2,
+ dataspace1,
+ H5P_DEFAULT,
+ data1,
+ 0,
+ event_q);
+ assert(ret == 0);
+
+
+
+ assert(H5Dclose_ff(dset_id, event_q) == 0);
+ H5Sclose(dataspace1);
+ H5Sclose(dataspace2);
+ H5Pclose(fapl_id);
+ assert(H5Fclose_ff(file_id, event_q)== 0);
+ H5EQwait(event_q, &num_requests, &status);
+ free(status);
+ H5EQclose (event_q);
+
+ for (i = 0; i < (count[0] * count[1]); i++){
+ fprintf (stderr,"data1[%d]: %d\n",
+ i, data1[i]);
+ }
+
+ free(data);
+
+ fprintf(stderr, "\n*****************************************************************************************************************\n");
+ fprintf(stderr, "Finalize EFF stack\n");
+ fprintf(stderr, "*****************************************************************************************************************\n");
+
+ EFF_finalize();
+ MPI_Finalize();
+
+ return 0;
+}
diff --git a/test/compactor_write_tests/read_test_2.c b/test/compactor_write_tests/read_test_2.c
new file mode 100644
index 0000000..eee7313
--- /dev/null
+++ b/test/compactor_write_tests/read_test_2.c
@@ -0,0 +1,235 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+#include "mpi.h"
+#include "hdf5.h"
+
+#define NX 16
+#define NY 8
+#define RANK 2
+
+
+
+int main (int argc, char **argv){
+
+ const char filename[] = "eff_file.h5";
+ hid_t file_id;
+ hid_t dataspace1, dataspace2;
+ hid_t dataspace3, dataspace4;
+ hid_t dataspace5, dataspace6;
+ hid_t dataspace7, dataspace8;
+ hid_t dset_id;
+ hid_t fapl_id, dxpl_id;
+
+ const unsigned int nelem = 60;
+ int *data = NULL, *data1 = NULL;
+ int *data2 = NULL, *data3 = NULL;
+ unsigned int i = 0;
+ hsize_t dimsf[2];
+ hsize_t count[2], offset[2];
+ int my_rank, my_size, ret;
+ int provided;
+ hid_t event_q, int_id;
+ int num_requests = 0;
+ H5_status_t *status = NULL;
+ MPI_Comm comm;
+ MPI_Info info;
+
+
+ MPI_Init_thread(&argc, &argv, MPI_THREAD_MULTIPLE, &provided);
+ if(MPI_THREAD_MULTIPLE != provided) {
+ fprintf(stderr, "MPI does not have MPI_THREAD_MULTIPLE support\n");
+ exit(1);
+ }
+
+ comm = MPI_COMM_WORLD;
+ info = MPI_INFO_NULL;
+
+ EFF_init (comm, info);
+ MPI_Comm_rank (comm, &my_rank);
+ MPI_Comm_size (comm, &my_size);
+
+ if (my_size > 1){
+ fprintf(stderr, "APP processes = %d cannot be greater than 1 \n", my_size);
+ EFF_finalize();
+ MPI_Finalize();
+ }
+
+ fapl_id = H5Pcreate (H5P_FILE_ACCESS);
+ H5Pset_fapl_iod(fapl_id, comm, info);
+
+ event_q = H5EQcreate(fapl_id);
+ assert(event_q);
+
+ file_id = H5Fcreate_ff(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id, event_q);
+ assert(file_id);
+
+ dimsf[0] = NX;
+ dimsf[1] = NY;
+
+ dataspace1 = H5Screate_simple(RANK, dimsf, NULL);
+ dataspace3 = H5Screate_simple(RANK, dimsf, NULL);
+ dataspace5 = H5Screate_simple(RANK, dimsf, NULL);
+ dataspace7 = H5Screate_simple(RANK, dimsf, NULL);
+
+ dset_id = H5Dcreate_ff (file_id, "D1", H5T_NATIVE_INT, dataspace1,
+ H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT, 0, event_q);
+ assert(dset_id);
+
+ count[0] = 4;
+ count[1] = 8;
+ offset[0] = 0;
+ offset[1] = 0;
+
+ dataspace2 = H5Screate_simple(RANK, count, NULL);
+
+ H5Sselect_hyperslab(dataspace1,
+ H5S_SELECT_SET,
+ offset,
+ NULL,
+ count,
+ NULL);
+ data = (int *) malloc (sizeof(int)*count[0]*count[1]);
+
+ for (i = 0; i < count[0]*count[1]; i++){
+ data[i] = 10;
+ }
+
+ ret = H5Dwrite_ff(dset_id,
+ H5T_NATIVE_INT,
+ dataspace2,
+ dataspace1,
+ H5P_DEFAULT,
+ data,
+ 0,
+ event_q);
+ assert(ret == 0);
+
+
+ count[0] = 4;
+ count[1] = 8;
+ offset[0] = 4;
+ offset[1] = 0;
+
+
+
+ data1 = (int *) malloc(sizeof(int)*count[0]*count[1]);
+ for (i = 0; i < count[0]*count[1]; i++){
+ data1[i] = 11;
+ }
+
+ dataspace4 = H5Screate_simple(RANK, count, NULL);
+
+ H5Sselect_hyperslab(dataspace3,
+ H5S_SELECT_SET,
+ offset,
+ NULL,
+ count,
+ NULL);
+
+
+ ret = H5Dwrite_ff(dset_id,
+ H5T_NATIVE_INT,
+ dataspace4,
+ dataspace3,
+ H5P_DEFAULT,
+ data1,
+ 0,
+ event_q);
+ assert(ret == 0);
+
+
+ count[0] = 2;
+ count[1] = 8;
+ offset[0] = 5;
+ offset[1] = 0;
+
+ data3 = (int *) malloc(sizeof(int)*count[0]*count[1]);
+ for (i = 0; i < count[0]*count[1]; i++){
+ data3[i] = 100;
+ }
+
+ dataspace8 = H5Screate_simple(RANK, count, NULL);
+
+ H5Sselect_hyperslab(dataspace7,
+ H5S_SELECT_SET,
+ offset,
+ NULL,
+ count,
+ NULL);
+
+
+
+ ret = H5Dwrite_ff(dset_id,
+ H5T_NATIVE_INT,
+ dataspace8,
+ dataspace7,
+ H5P_DEFAULT,
+ data3,
+ 0,
+ event_q);
+ assert(ret == 0);
+
+
+ count[0] = 8;
+ count[1] = 8;
+ offset[0] = 0;
+ offset[1] = 0;
+
+
+ dataspace6 = H5Screate_simple(RANK, count, NULL);
+
+ H5Sselect_hyperslab(dataspace5,
+ H5S_SELECT_SET,
+ offset,
+ NULL,
+ count,
+ NULL);
+
+
+
+
+ data2 = (int *) malloc(sizeof(int)*count[0]*count[1]);
+
+ ret = H5Dread_ff(dset_id,
+ H5T_NATIVE_INT,
+ dataspace6,
+ dataspace5,
+ H5P_DEFAULT,
+ data2,
+ 0,
+ event_q);
+ assert(ret == 0);
+
+
+
+
+ assert(H5Dclose_ff(dset_id, event_q) == 0);
+ H5Sclose(dataspace1); H5Sclose(dataspace2);
+ H5Sclose(dataspace3); H5Sclose(dataspace4);
+ H5Sclose(dataspace5); H5Sclose(dataspace6);
+ H5Pclose(fapl_id);
+ assert(H5Fclose_ff(file_id, event_q)== 0);
+ H5EQwait(event_q, &num_requests, &status);
+ free(status);
+ H5EQclose (event_q);
+
+ for (i = 0; i < (count[0] * count[1]); i++){
+ fprintf (stderr,"data2[%d]: %d\n",
+ i, data2[i]);
+ }
+
+ free(data);
+ free(data1);
+ free(data2);
+ free(data3);
+ fprintf(stderr, "\n*****************************************************************************************************************\n");
+ fprintf(stderr, "Finalize EFF stack\n");
+ fprintf(stderr, "*****************************************************************************************************************\n");
+
+ EFF_finalize();
+ MPI_Finalize();
+
+ return 0;
+}