/*------------------------------------------------------------------------- * Function: test_read_with_filters * * Purpose: Tests reading dataset created with dynamically loaded filters * * Return: Success: 0 * Failure: -1 * * Programmer: Raymond Lu * 14 March 2013 * *------------------------------------------------------------------------- */ static herr_t test_read_with_filters(hid_t file) { hid_t dset; /* Dataset ID */ /*---------------------------------------------------------- * STEP 1: Test deflation by itself. *---------------------------------------------------------- */ #ifdef H5_HAVE_FILTER_DEFLATE TESTING("Testing deflate filter"); if(H5Zfilter_avail(H5Z_FILTER_DEFLATE) != TRUE) TEST_ERROR if((dset = H5Dopen2(file,DSET_DEFLATE_NAME,H5P_DEFAULT)) < 0) TEST_ERROR if(test_read_data(dset, (int *)points_deflate) < 0) TEST_ERROR if(H5Dclose(dset) < 0) TEST_ERROR /* Clean up objects used for this test */ #else /* H5_HAVE_FILTER_DEFLATE */ TESTING("deflate filter"); SKIPPED(); puts(" Deflate filter not enabled"); #endif /* H5_HAVE_FILTER_DEFLATE */ /*---------------------------------------------------------- * STEP 2: Test DYNLIB1 by itself. *---------------------------------------------------------- */ TESTING("Testing DYNLIB1 filter"); if((dset = H5Dopen2(file,DSET_DYNLIB1_NAME,H5P_DEFAULT)) < 0) TEST_ERROR if(test_read_data(dset, (int *)points_dynlib1) < 0) TEST_ERROR if(H5Dclose(dset) < 0) TEST_ERROR /*---------------------------------------------------------- * STEP 3: Test Bogus2 by itself. *---------------------------------------------------------- */ TESTING("Testing DYNLIB2 filter"); if((dset = H5Dopen2(file,DSET_DYNLIB2_NAME,H5P_DEFAULT)) < 0) TEST_ERROR if(test_read_data(dset, (int *)points_dynlib2) < 0) TEST_ERROR if(H5Dclose(dset) < 0) TEST_ERROR return 0; error: return -1; }
int main(int argc, char* argv[]) { int handle = -1; print_banner(); handle = PasInit(); PasStart(handle); printf("\n--------------- Detect devices -------------------------------------------\n"); test_find_devices(handle); printf("\n-------------- Number of Channels ----------------------------------------\n"); test_channels(handle); printf("\n-------------- Sensor attributes -----------------------------------------\n"); test_print_some_good_stuff_for_all_sensors(handle); printf("\n-------------- Read one shot data ----------------------------------------\n"); test_read_data(handle,2); /* 2 -- do the test twice */ printf("\n-------------- Read continous data ---------------------------------------\n"); test_read_continuous_data(handle,2); /* 2 -- do the test twice */ PasStop(handle); PasDelete(handle); #ifdef _WINDOWS // do this on windows since the cmd window might close automatically otherwise printf("\n>>>>Press enter to end the program<<<<\n"); getchar(); #endif return 0; }
/*------------------------------------------------------------------------- * Function: test_dataset_read_with_filters * * Purpose: Tests reading datasets created with dynamically-loaded * filter plugins. * * Return: SUCCEED/FAIL * *------------------------------------------------------------------------- */ static herr_t test_dataset_read_with_filters(hid_t fid) { hid_t did = -1; /* Dataset ID */ /*---------------------------------------------------------- * STEP 1: Test deflation by itself. *---------------------------------------------------------- */ TESTING("dataset read I/O with deflate filter"); #ifdef H5_HAVE_FILTER_DEFLATE if (H5Zfilter_avail(H5Z_FILTER_DEFLATE) != TRUE) TEST_ERROR; if ((did = H5Dopen2(fid, DSET_DEFLATE_NAME, H5P_DEFAULT)) < 0) TEST_ERROR; if (test_read_data(did, orig_deflate_g[0]) < 0) TEST_ERROR; if (H5Dclose(did) < 0) TEST_ERROR; #else /* H5_HAVE_FILTER_DEFLATE */ SKIPPED(); HDputs(" Deflate filter not enabled"); #endif /* H5_HAVE_FILTER_DEFLATE */ /*---------------------------------------------------------- * STEP 2: Test filter plugin 1 by itself. *---------------------------------------------------------- */ TESTING(" dataset reads with filter plugin 1"); if ((did = H5Dopen2(fid, DSET_FILTER1_NAME, H5P_DEFAULT)) < 0) TEST_ERROR; if (test_read_data(did, orig_dynlib1_g[0]) < 0) TEST_ERROR; if (H5Dclose(did) < 0) TEST_ERROR; /*---------------------------------------------------------- * STEP 3: Test filter plugin 2 by itself. *---------------------------------------------------------- */ TESTING(" dataset reads with filter plugin 2"); if ((did = H5Dopen2(fid, DSET_FILTER2_NAME, H5P_DEFAULT)) < 0) TEST_ERROR; if (test_read_data(did, orig_dynlib2_g[0]) < 0) TEST_ERROR; if (H5Dclose(did) < 0) TEST_ERROR; /*---------------------------------------------------------- * STEP 4: Test filter plugin 3 by itself. *---------------------------------------------------------- */ TESTING(" dataset reads with filter plugin 3"); if ((did = H5Dopen2(fid, DSET_FILTER3_NAME, H5P_DEFAULT)) < 0) TEST_ERROR; if (test_read_data(did, orig_dynlib4_g[0]) < 0) TEST_ERROR; if (H5Dclose(did) < 0) TEST_ERROR; return SUCCEED; error: /* Clean up objects used for this test */ H5E_BEGIN_TRY { H5Dclose(did); } H5E_END_TRY return FAIL; } /* end test_dataset_read_with_filters() */