Changeset 1389 for trunk/psLib/test/astronomy/tst_psMetadata_01.c
- Timestamp:
- Aug 4, 2004, 4:27:06 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/psLib/test/astronomy/tst_psMetadata_01.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/test/astronomy/tst_psMetadata_01.c
r1353 r1389 4 4 * 5 5 * This test driver contains the following tests for psMetadata: 6 * A)7 * B)8 * C)9 * D )10 * E )11 * F )12 * G )13 * H )14 * I )15 * J )16 * K )17 * L )18 * M )19 * N )6 * Test A - Read 1st hdr from simple FITS file 7 * Test B - Read 2nd hdr from complex FITS file 8 * Test C - Read named hdr from complex FITS file 9 * D 10 * E 11 * F 12 * G 13 * H 14 * I 15 * J 16 * K 17 * L 18 * M 19 * N 20 20 * 21 21 * @author Ross Harman, MHPCC 22 22 * 23 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $24 * @date $Date: 2004-0 7-31 00:41:59$23 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 24 * @date $Date: 2004-08-05 02:25:23 $ 25 25 * 26 26 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 32 32 #include <string.h> 33 33 34 void printListInt(psList* list) 35 { 36 int* data = NULL; 37 bool first = true; 38 39 psListSetIterator(list,PS_LIST_HEAD); 40 data = psListGetCurrent(list); 41 42 while ( data != NULL ) { 43 if (!first) { 44 printf(", %d",*(int*)data); 45 } else { 46 printf("%d",*(int*)data); 47 first = false; 48 } 49 data = psListGetNext(list); 50 } 51 52 printf(".\n"); 53 } 54 55 static void printMetadata(psMetadata *metadata) 56 { 57 psList *mdList = NULL; 58 psHash *mdTable = NULL; 59 psMetadataItem *entryChild = NULL; 60 61 mdList = metadata->list; 62 mdTable = metadata->table; 63 if(mdList==NULL || mdTable==NULL) { 64 printf("ERROR: Null collection metadata found\n"); 65 } 66 67 psListSetIterator( mdList, PS_LIST_HEAD ); 68 entryChild = psListGetCurrent( mdList ); 69 while ( entryChild != NULL ) { 70 printf("Key Name: %8s ", entryChild->name); 71 printf("Key Type: %2d ", entryChild->type); 72 73 switch (entryChild->type ) { 74 case PS_META_BOOL: 75 printf("Key Value: %15d ", entryChild->data.B); 76 break; 77 case PS_META_S32: 78 printf("Key Value: %15d ", entryChild->data.S32); 79 break; 80 case PS_META_F32: 81 printf("Key Value: %15.3f ", entryChild->data.F32); 82 break; 83 case PS_META_F64: 84 printf("Key Value: %15.3f ", entryChild->data.F64); 85 break; 86 case PS_META_STR: 87 printf("Key Value: %15s ", (char*)entryChild->data.V); 88 break; 89 case PS_META_IMG: 90 case PS_META_JPEG: 91 case PS_META_PNG: 92 case PS_META_ASTROM: 93 case PS_META_UNKNOWN: 94 printf("Value: unknown "); 95 break; 96 default: 97 printf("Bad type: %d ", entryChild->type); 98 } 99 printf("Key Comment: %s\n", entryChild->comment); 100 101 entryChild = psListGetNext( mdList); 102 } 103 } 104 105 34 106 int main( int argc, char* argv[] ) 35 107 { 36 37 38 // Test A - 39 printPositiveTestHeader( stdout, "psMetadata", "" ); 40 printFooter( stdout, "psMetadata", "", true ); 41 108 int status = 0; 109 char fitsErr[ 256 ]; 110 psMetadata *metadata1 = NULL; 111 psMetadata *metadata2 = NULL; 112 psMetadata *metadata3 = NULL; 113 fitsfile *fptr; 114 115 116 // Test A - Read 1st hdr from simple FITS file 117 118 /* Header contents for header_1.fits: 119 120 SIMPLE = T / file does conform to FITS standard 121 BITPIX = 8 / number of bits per data pixel 122 NAXIS = 0 / number of data axes 123 HISTORY File modified by user 'harman' with fv on 2004-08-04T11:11:18 124 END 125 */ 126 printPositiveTestHeader(stdout, "psMetadata", "Test A - Read 1st hdr from simple FITS file"); 127 fits_open_file(&fptr, "header_1.fits", READONLY, &status); 128 fits_get_errstatus( status, fitsErr ); 129 status = 0; 130 printf("FITS file open status: %s\n\n",fitsErr); 131 metadata1 = psMetadataFReadHeader(metadata1, NULL, 1, fptr); 132 printMetadata(metadata1); 133 printFooter(stdout, "psMetadata", "Test A - Read 1st hdr from simple FITS file", true); 134 printf("\n\n"); 135 136 137 // Test B - Test B - Read 2nd hdr from complex FITS file 138 139 /* Header contents for header_2.fits: 140 141 SIMPLE = T / file does conform to FITS standard 142 BITPIX = -64 / number of bits per data pixel 143 NAXIS = 1 / number of data axes 144 NAXIS1 = 64 / length of data axis 1 145 EXTEND = T / FITS dataset may contain extensions 146 COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy 147 COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H 148 END 149 <DATA> 150 151 XTENSION= 'IMAGE ' / IMAGE extension 152 BITPIX = -64 / number of bits per data pixel 153 NAXIS = 1 / number of data axes 154 NAXIS1 = 64 / length of data axis 1 155 PCOUNT = 0 / required keyword; must = 0 156 GCOUNT = 1 / required keyword; must = 1 157 BITPIX = -64 / number of bits per data pixel 158 EXTNAME = 'MY_DATA_1' 159 HISTORY File modified by user 'harman' with fv on 2004-08-04T13:14:45 160 HISTORY File modified by user 'harman' with fv on 2004-08-04T13:15:29 161 HISTORY File modified by user 'harman' with fv on 2004-08-04T13:21:18 162 HISTORY File modified by user 'harman' with fv on 2004-08-04T13:21:46 163 END 164 <DATA> 165 166 XTENSION= 'IMAGE ' / IMAGE extension 167 BITPIX = -64 / number of bits per data pixel 168 NAXIS = 1 / number of data axes 169 NAXIS1 = 64 / length of data axis 1 170 PCOUNT = 0 / required keyword; must = 0 171 GCOUNT = 1 / required keyword; must = 1 172 EXTNAME = 'MY_DATA_2' 173 HISTORY File modified by user 'harman' with fv on 2004-08-04T13:22:12 174 HISTORY File modified by user 'harman' with fv on 2004-08-04T13:22:52 175 END 176 <DATA> 177 */ 178 printPositiveTestHeader(stdout, "psMetadata", "Test B - Read 2nd hdr from complex FITS file"); 179 fits_open_file(&fptr, "header_2.fits", READONLY, &status); 180 fits_get_errstatus( status, fitsErr ); 181 status = 0; 182 printf("FITS file open status: %s\n\n",fitsErr); 183 metadata2 = psMetadataFReadHeader(metadata2, NULL, 2, fptr); 184 printMetadata(metadata2); 185 printFooter(stdout, "psMetadata", "Test B - Read 2nd hdr from complex FITS file", true); 186 printf("\n\n"); 187 188 189 //Test C - Read named hdr from complex FITS file 190 printPositiveTestHeader(stdout, "psMetadata", "Test C - Read named hdr from complex FITS file"); 191 fits_open_file(&fptr, "header_2.fits", READONLY, &status); 192 fits_get_errstatus( status, fitsErr ); 193 status = 0; 194 printf("FITS file open status: %s\n\n",fitsErr); 195 metadata3 = psMetadataFReadHeader(metadata3, "MY_DATA_2", 0, fptr); 196 printMetadata(metadata3); 197 printFooter(stdout, "psMetadata", "Test C - Read named hdr from complex FITS file", true); 198 printf("\n\n"); 199 200 201 // Test - Free psMetadata 202 printPositiveTestHeader(stdout, "psMetadata", "Test - Free psMetadata"); 203 psFree(metadata1); 204 psFree(metadata2); 205 psFree(metadata3); 206 psMemCheckLeaks(0, NULL, stdout); 207 psMemCheckCorruption(0); 208 int nBad = psMemCheckCorruption(0); 209 if(nBad) { 210 printf("ERROR: Found %d bad memory blocks\n", nBad); 211 } 212 printFooter(stdout, "psMetadata", "Test - Free psMetadata", true); 213 42 214 return 0; 43 215 }
Note:
See TracChangeset
for help on using the changeset viewer.
